private static boolean isBooleanGetter(IdentifierTree simpleName) { String text = simpleName.identifierToken().text(); return text.startsWith("get") && !text.startsWith("getBoolean"); }
private int endOffsetFor(IdentifierTree tree) { return ((InternalSyntaxToken) tree.identifierToken()).getFromIndex() + tree.identifierToken().text().length(); }
private void raiseIssue(IdentifierTree identifierTree) { reportIssue(identifierTree, String.format("Use or store the value returned from \"%s\" instead of throwing it away.", identifierTree.identifierToken().text())); }
private void computeMethodComplexity(MethodTree methodTree) { BlockTree block = methodTree.block(); if (block != null && (classTrees.isEmpty() || !isAccessor(methodTree))) { blame.add(methodTree.simpleName().identifierToken()); } }
private int end(AnnotationTree annotationTree) { TypeTree annotationType = annotationTree.annotationType(); SyntaxToken token; if (annotationType.is(Tree.Kind.MEMBER_SELECT)) { token = ((MemberSelectExpressionTree) annotationType).identifier().identifierToken(); } else { token = ((IdentifierTree) annotationType).identifierToken(); } return end(token); }
@Override public void visitMethod(MethodTree tree) { if (tree.block() != null) { blame.add(tree.simpleName().identifierToken()); } super.visitMethod(tree); }
private static SyntaxToken getIdentifierToken(TypeTree typeTree) { if (typeTree.is(Tree.Kind.IDENTIFIER)) { return ((IdentifierTree) typeTree).identifierToken(); } else if (typeTree.is(Tree.Kind.MEMBER_SELECT)) { return ((MemberSelectExpressionTree) typeTree).identifier().identifierToken(); } else { return ((ParameterizedTypeTree) typeTree).typeArguments().closeBracketToken(); } }
@Override public void visitMethod(MethodTree tree) { if (tree.block() != null) { blame.add(tree.simpleName().identifierToken()); } super.visitMethod(tree); }
private static SyntaxToken getIdentifierToken(TypeTree typeTree) { if (typeTree.is(Tree.Kind.IDENTIFIER)) { return ((IdentifierTree) typeTree).identifierToken(); } else if (typeTree.is(Tree.Kind.MEMBER_SELECT)) { return ((MemberSelectExpressionTree) typeTree).identifier().identifierToken(); } else { return ((ParameterizedTypeTree) typeTree).typeArguments().closeBracketToken(); } }
@Override public void visitMethod(MethodTree tree) { parent.push(tree); String methodKey = currentClassKey.peek() + "#" + MethodSignaturePrinter.print(MethodSignatureScanner.scan(tree)); methodStartLines.put(methodKey, tree.simpleName().identifierToken().line()); handleSuppressWarning(tree); super.visitMethod(tree); parent.pop(); }
@CheckForNull private static Symbol getFieldAccessedUsingSuperOrThis(ExpressionTree expressionTree) { if (expressionTree.is(Tree.Kind.MEMBER_SELECT)) { MemberSelectExpressionTree memberSelectTree = (MemberSelectExpressionTree) expressionTree; if (memberSelectTree.expression().is(Tree.Kind.IDENTIFIER)) { String identifierText = ((IdentifierTree) memberSelectTree.expression()).identifierToken().text(); if ("super".equals(identifierText) || "this".equals(identifierText)) { return memberSelectTree.identifier().symbol(); } } } return null; }
private static int getDeclarationLine(Symbol symbol) { if (symbol.declaration() == null) { return -1; } if (symbol.isVariableSymbol()) { return ((Symbol.VariableSymbol) symbol).declaration().simpleName().identifierToken().line(); } return ((Symbol.MethodSymbol) symbol).declaration().simpleName().identifierToken().line(); }
@CheckForNull private static Symbol getFieldAccessedUsingSuperOrThis(ExpressionTree expressionTree) { if (expressionTree.is(Tree.Kind.MEMBER_SELECT)) { MemberSelectExpressionTree memberSelectTree = (MemberSelectExpressionTree) expressionTree; if (memberSelectTree.expression().is(Tree.Kind.IDENTIFIER)) { String identifierText = ((IdentifierTree) memberSelectTree.expression()).identifierToken().text(); if ("super".equals(identifierText) || "this".equals(identifierText)) { return memberSelectTree.identifier().symbol(); } } } return null; }
private static int getDeclarationLine(Symbol symbol) { if (symbol.declaration() == null) { return -1; } if (symbol.isVariableSymbol()) { return ((Symbol.VariableSymbol) symbol).declaration().simpleName().identifierToken().line(); } return ((Symbol.MethodSymbol) symbol).declaration().simpleName().identifierToken().line(); }
private void createSymbol(IdentifierTree declaration, List<IdentifierTree> usages) { SyntaxToken syntaxToken = declaration.identifierToken(); NewSymbol newSymbol = newSymbolTable.newSymbol(syntaxToken.line(), syntaxToken.column(), syntaxToken.line(), syntaxToken.text().length() + syntaxToken.column()); for (IdentifierTree usage : usages) { syntaxToken = usage.identifierToken(); newSymbol.newReference(syntaxToken.line(), syntaxToken.column(), syntaxToken.line(), syntaxToken.text().length() + syntaxToken.column()); } }
private void createSymbol(IdentifierTree declaration, List<IdentifierTree> usages) { SyntaxToken syntaxToken = declaration.identifierToken(); NewSymbol newSymbol = newSymbolTable.newSymbol(syntaxToken.line(), syntaxToken.column(), syntaxToken.line(), syntaxToken.text().length() + syntaxToken.column()); for (IdentifierTree usage : usages) { syntaxToken = usage.identifierToken(); newSymbol.newReference(syntaxToken.line(), syntaxToken.column(), syntaxToken.line(), syntaxToken.text().length() + syntaxToken.column()); } }
private void checkVariable(VariableTree varTree) { int line = varTree.simpleName().identifierToken().line(); if (varSameDeclaration || lastVarLine == line) { reportIssue(varTree.simpleName(), String.format("Declare \"%s\" on a separate line.", varTree.simpleName().name())); } varSameDeclaration = ",".equals(varTree.endToken().text()); lastVarLine = line; } }
private void checkVariable(VariableTree varTree) { int line = varTree.simpleName().identifierToken().line(); if (varSameDeclaration || lastVarLine == line) { reportIssue(varTree.simpleName(), String.format("Declare \"%s\" on a separate line.", varTree.simpleName().name())); } varSameDeclaration = ",".equals(varTree.endToken().text()); lastVarLine = line; } }
private void handleSuppressWarning(VariableTree variable) { int variableEndLine = variable.simpleName().identifierToken().line(); if (variable.initializer() != null) { variableEndLine = LastSyntaxTokenFinder.lastSyntaxToken(variable).line(); } handleSuppressWarning(variable.modifiers().annotations(), variableEndLine); }
private void handleSuppressWarning(MethodTree tree) { int endLine = tree.simpleName().identifierToken().line(); // if we have no block, then we assume method is on one line on the method name line. if (tree.block() != null) { endLine = tree.block().closeBraceToken().line(); } handleSuppressWarning(tree.modifiers().annotations(), endLine); }