@Override public void visitVariable(VariableTree tree) { // skip variable modifiers and simple name scan(tree.initializer()); }
@Override public void visitVariable(VariableTree tree) { ExpressionTree initializer = tree.initializer(); if (initializer != null) { ExpressionTree expressionTree = skipChainedAssignments(initializer); scan(expressionTree); } }
@CheckForNull private static ExpressionTree getInitializer(IdentifierTree tree) { Symbol symbol = tree.symbol(); if (symbol.isVariableSymbol()) { VariableTree declaration = ((Symbol.VariableSymbol) symbol).declaration(); if (declaration != null) { return declaration.initializer(); } } return null; }
private void handleVariable(VariableTree tree) { IdentifierTree variable = tree.simpleName(); isPasswordVariableName(variable) .filter(passwordVariableName -> isNotEmptyStringOrCharArrayFromString(tree.initializer())) .ifPresent(passwordVariableName -> report(variable, passwordVariableName)); }
@CheckForNull private static ExpressionTree getInitializerOrExpression(@Nullable Tree tree) { if (tree == null) { return null; } if (tree.is(Tree.Kind.VARIABLE)) { return ((VariableTree) tree).initializer(); } else if (tree.is(Tree.Kind.ENUM_CONSTANT)) { return ((EnumConstantTree) tree).initializer(); } return ((AssignmentExpressionTree) tree).expression(); }
private void handleVariable(Set<Symbol> out, VariableTree localVar) { Symbol symbol = localVar.symbol(); ExpressionTree initializer = localVar.initializer(); if (initializer != null && !isUsualDefaultValue(initializer) && !out.contains(symbol)) { createIssue(localVar.equalToken(), initializer, symbol); } out.remove(symbol); }
private void checkVariable(VariableTree tree) { if (isFileNameVariable(tree.simpleName())) { checkExpression(tree.initializer()); } }
@Override public void visitVariable(VariableTree tree) { if (tree.initializer() == null) { name = tree.simpleName().name(); } else { super.visitVariable(tree); } } }
@Override public void visitVariable(VariableTree tree) { super.visitVariable(tree); ExpressionTree initializer = tree.initializer(); if (initializer == null || !isMutableType(initializer)) { return; } checkStore(initializer); }
private boolean isFinalFieldWithInitializer(@Nullable Symbol symbol) { if (symbol != null && symbol.isVariableSymbol() && symbol.owner().isTypeSymbol() && symbol.isFinal()) { VariableTree declaration = ((Symbol.VariableSymbol) symbol).declaration(); return declaration != null && declaration.initializer() != null; } return false; }
@Override public void visitClass(ClassTree tree) { for (Tree member : tree.members()) { if (member.is(Tree.Kind.VARIABLE)) { // skip check of field scan(((VariableTree) member).initializer()); } else { scan(member); } } }
@Override public void visitVariable(VariableTree tree) { Type varType = tree.type().symbolType(); checkExpression(varType, tree.initializer()); super.visitVariable(tree); }
private static boolean verifyCondition(ExpressionTree condition) { if(condition.is(Tree.Kind.IDENTIFIER)) { IdentifierTree identifierTree = (IdentifierTree) condition; if(identifierTree.symbol().isFinal() && identifierTree.symbol().isVariableSymbol()) { VariableTree declaration = (VariableTree) identifierTree.symbol().declaration(); return declaration == null || declaration.initializer() == null || !declaration.initializer().is(Tree.Kind.BOOLEAN_LITERAL); } } return !condition.is(Tree.Kind.BOOLEAN_LITERAL); }
@Override public void visitVariable(VariableTree tree) { ExpressionTree initializer = tree.initializer(); if (initializer != null && initializer.is(Tree.Kind.STRING_LITERAL) && ModifiersUtils.hasModifier(tree.modifiers(), Modifier.STATIC) && ModifiersUtils.hasModifier(tree.modifiers(), Modifier.FINAL)) { constants.putIfAbsent(((LiteralTree) initializer).value(), tree); return; } super.visitVariable(tree); }
private static boolean isImmutableFinalVariable(Symbol.VariableSymbol symbol) { if (symbol.isFinal()) { VariableTree declaration = symbol.declaration(); // symbol is private, so declaration can only be null if assignment is done in static block ExpressionTree initializer = declaration.initializer(); if (initializer != null) { return !isMutableType(initializer) || isEmptyArray(initializer); } return !assignementsOfMutableType(symbol.usages()); } return false; }
@Override public void visitVariable(VariableTree tree) { ExpressionTree initializer = tree.initializer(); boolean arrayNotInitialized = initializer != null && initializer.is(Kind.NEW_ARRAY) && ((NewArrayTree) initializer).initializers().isEmpty(); boolean isFinalOrNoSemantic = context.getSemanticModel() == null || tree.symbol().isFinal(); if (arrayNotInitialized || !isFinalOrNoSemantic) { super.visitVariable(tree); } }
@Override public void visitVariable(VariableTree tree) { scan(tree.modifiers()); scan(tree.type()); scan(tree.simpleName()); scan(tree.initializer()); }
@Override public void visitVariable(VariableTree tree) { Symbol symbol = tree.symbol(); if (symbol != null && !symbol.isStatic()) { scan(tree.modifiers()); scan(tree.type()); // skip the simple name scan(tree.initializer()); } }
private void checkVariable(VariableTree member) { if (ModifiersUtils.hasModifier(member.modifiers(), Modifier.FINAL)) { return; } ExpressionTree initializer = member.initializer(); if (initializer != null) { initializer = ExpressionUtils.skipParentheses(initializer); if (isDefault(initializer, member.type().symbolType().isPrimitive())) { reportIssue(initializer, "Remove this initialization to \"" + ((LiteralTree) initializer).value() + "\", the compiler will do that for you."); } } }
public void checkVariableTypeAndInitializer(VariableTree variableTree) { ExpressionTree initializer = variableTree.initializer(); if ((variableTree.symbol().owner().isMethodSymbol() && !variableTree.parent().is(Tree.Kind.LAMBDA_EXPRESSION)) || (initializer != null && (initializer.is(Tree.Kind.LAMBDA_EXPRESSION) || isAnonymousClass(initializer)))) { matchFunctionalInterface((variableTree.symbol().type())).ifPresent(reportString -> { TypeTree variableType = variableTree.type(); reportIssue(variableType, reportMessage(new InterfaceTreeAndStringPairReport(reportString, variableType))); }); } }