@Override public void init() { subscribeTo(Kind.VARIABLE); subscribeTo(JavaLexer.VARIABLE_DECLARATOR); }
@Override public void visitNode(Tree tree) { VariableTree variableTree = (VariableTree) tree; TypeTree type = variableTree.type(); SyntaxToken identifierToken = variableTree.simpleName().identifierToken(); while (type.is(Tree.Kind.ARRAY_TYPE)) { ArrayTypeTree arrayTypeTree = (ArrayTypeTree) type; SyntaxToken arrayDesignatorToken = arrayTypeTree.ellipsisToken(); if (arrayDesignatorToken == null) { arrayDesignatorToken = arrayTypeTree.openBracketToken(); } if (isInvalidPosition(arrayDesignatorToken, identifierToken)) { reportIssue(arrayDesignatorToken, "Move the array designator from the variable to the type."); break; } type = arrayTypeTree.type(); } }
@Override public void visitNode(AstNode node) { if (node.hasDirectChildren(TreeFactory.WRAPPER_AST_NODE) || (node.is(Kind.VARIABLE) && ((VariableTreeImpl) node).dims() > 0)) { getContext().createLineViolation(this, "Move the array designator from the variable to the type.", node); } }
@Override public void visitNode(Tree tree) { VariableTree variableTree = (VariableTree) tree; TypeTree type = variableTree.type(); SyntaxToken identifierToken = variableTree.simpleName().identifierToken(); while (type.is(Tree.Kind.ARRAY_TYPE)) { ArrayTypeTree arrayTypeTree = (ArrayTypeTree) type; SyntaxToken arrayDesignatorToken = arrayTypeTree.ellipsisToken(); if (arrayDesignatorToken == null) { arrayDesignatorToken = arrayTypeTree.openBracketToken(); } if (isInvalidPosition(arrayDesignatorToken, identifierToken)) { reportIssue(arrayDesignatorToken, "Move the array designator from the variable to the type."); break; } type = arrayTypeTree.type(); } }