All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sourceforge.pmd.rules.AssignmentInOperand Maven / Gradle / Ivy

package net.sourceforge.pmd.rules;

import net.sourceforge.pmd.AbstractRule;
import net.sourceforge.pmd.ast.ASTAssignmentOperator;
import net.sourceforge.pmd.ast.ASTExpression;
import net.sourceforge.pmd.ast.ASTIfStatement;
import net.sourceforge.pmd.ast.ASTWhileStatement;
import net.sourceforge.pmd.ast.Node;

public class AssignmentInOperand extends AbstractRule {

    public Object visit(ASTExpression node, Object data) {
        Node parent = node.jjtGetParent();
        if ((parent instanceof ASTWhileStatement || parent instanceof ASTIfStatement) &&
                node.containsChildOfType(ASTAssignmentOperator.class))
        {
            addViolation(data, node);
            return data;
        }
        return super.visit(node, data);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy