@Override public Object visit(ASTClassOrInterfaceDeclaration node, Object data) { Map<VariableNameDeclaration, List<NameOccurrence>> vars = node.getScope() .getDeclarations(VariableNameDeclaration.class); for (Map.Entry<VariableNameDeclaration, List<NameOccurrence>> entry : vars.entrySet()) { VariableNameDeclaration decl = entry.getKey(); AccessNode accessNodeParent = decl.getAccessNodeParent(); if (!accessNodeParent.isStatic() || accessNodeParent.isFinal()) { continue; } if (initializedInConstructor(entry.getValue())) { addViolation(data, decl.getNode(), decl.getImage()); } } return super.visit(node, data); }
Map<MethodNameDeclaration, List<NameOccurrence>> methods = node.getScope().getEnclosingScope(ClassScope.class) .getMethodDeclarations(); List<ASTMethodDeclarator> getSetMethList = new ArrayList<>(methods.size()); Map<VariableNameDeclaration, List<NameOccurrence>> vars = node.getScope() .getDeclarations(VariableNameDeclaration.class); for (Map.Entry<VariableNameDeclaration, List<NameOccurrence>> entry : vars.entrySet()) {
@Override public Object visit(ASTClassOrInterfaceDeclaration node, Object data) { boolean classHasLombok = hasLombokAnnotation(node); Map<VariableNameDeclaration, List<NameOccurrence>> vars = node.getScope() .getDeclarations(VariableNameDeclaration.class); for (Map.Entry<VariableNameDeclaration, List<NameOccurrence>> entry : vars.entrySet()) { VariableNameDeclaration decl = entry.getKey(); AccessNode accessNodeParent = decl.getAccessNodeParent(); if (!accessNodeParent.isPrivate() || isOK(decl.getImage()) || classHasLombok || hasIgnoredAnnotation((Annotatable) accessNodeParent)) { continue; } if (!actuallyUsed(entry.getValue())) { if (!usedInOuterClass(node, decl) && !usedInOuterEnum(node, decl)) { addViolation(data, decl.getNode(), decl.getImage()); } } } return super.visit(node, data); }
@Override public Object visit(ASTClassOrInterfaceDeclaration node, Object data) { Object result = super.visit(node, data); Map<VariableNameDeclaration, List<NameOccurrence>> vars = node.getScope() .getDeclarations(VariableNameDeclaration.class); List<ASTConstructorDeclaration> constructors = findAllConstructors(node); for (Map.Entry<VariableNameDeclaration, List<NameOccurrence>> entry : vars.entrySet()) { VariableNameDeclaration field = entry.getKey(); AccessNode accessNodeParent = field.getAccessNodeParent(); if (accessNodeParent.isStatic() || !accessNodeParent.isPrivate() || accessNodeParent.isFinal() || accessNodeParent.isVolatile() || hasClassLombokAnnotation() || hasIgnoredAnnotation((Annotatable) accessNodeParent)) { continue; } FieldImmutabilityType type = initializedInConstructor(entry.getValue(), new HashSet<>(constructors)); if (type == FieldImmutabilityType.MUTABLE) { continue; } if (type == FieldImmutabilityType.IMMUTABLE || type == FieldImmutabilityType.CHECKDECL && initializedWhenDeclared(field)) { addViolation(data, field.getNode(), field.getImage()); } } return result; }
Map<MethodNameDeclaration, List<NameOccurrence>> methods = node.getScope().getEnclosingScope(ClassScope.class) .getMethodDeclarations(); for (MethodNameDeclaration mnd : findUnique(methods)) {
Map<MethodNameDeclaration, List<NameOccurrence>> methods = node.getScope().getEnclosingScope(ClassScope.class) .getMethodDeclarations(); List<ASTMethodDeclarator> getSetMethList = new ArrayList<>(methods.size()); Map<VariableNameDeclaration, List<NameOccurrence>> vars = node.getScope() .getDeclarations(VariableNameDeclaration.class); for (Map.Entry<VariableNameDeclaration, List<NameOccurrence>> entry : vars.entrySet()) {
@Override public Object visit(ASTClassOrInterfaceDeclaration node, Object data) { Map<VariableNameDeclaration, List<NameOccurrence>> vars = node.getScope() .getDeclarations(VariableNameDeclaration.class); for (Map.Entry<VariableNameDeclaration, List<NameOccurrence>> entry : vars.entrySet()) { VariableNameDeclaration decl = entry.getKey(); AccessNode accessNodeParent = decl.getAccessNodeParent(); if (!accessNodeParent.isStatic() || accessNodeParent.isFinal()) { continue; } if (initializedInConstructor(entry.getValue())) { addViolation(data, decl.getNode(), decl.getImage()); } } return super.visit(node, data); }
@Override public Object visit(ASTClassOrInterfaceDeclaration node, Object data) { boolean classHasLombok = hasLombokAnnotation(node); Map<VariableNameDeclaration, List<NameOccurrence>> vars = node.getScope() .getDeclarations(VariableNameDeclaration.class); for (Map.Entry<VariableNameDeclaration, List<NameOccurrence>> entry : vars.entrySet()) { VariableNameDeclaration decl = entry.getKey(); AccessNode accessNodeParent = decl.getAccessNodeParent(); if (!accessNodeParent.isPrivate() || isOK(decl.getImage()) || classHasLombok || hasIgnoredAnnotation((Annotatable) accessNodeParent)) { continue; } if (!actuallyUsed(entry.getValue())) { if (!usedInOuterClass(node, decl) && !usedInOuterEnum(node, decl)) { addViolation(data, decl.getNode(), decl.getImage()); } } } return super.visit(node, data); }
@Override public Object visit(ASTClassOrInterfaceDeclaration node, Object data) { Object result = super.visit(node, data); Map<VariableNameDeclaration, List<NameOccurrence>> vars = node.getScope() .getDeclarations(VariableNameDeclaration.class); List<ASTConstructorDeclaration> constructors = findAllConstructors(node); for (Map.Entry<VariableNameDeclaration, List<NameOccurrence>> entry : vars.entrySet()) { VariableNameDeclaration field = entry.getKey(); AccessNode accessNodeParent = field.getAccessNodeParent(); if (accessNodeParent.isStatic() || !accessNodeParent.isPrivate() || accessNodeParent.isFinal() || accessNodeParent.isVolatile() || hasClassLombokAnnotation() || hasIgnoredAnnotation((Annotatable) accessNodeParent)) { continue; } FieldImmutabilityType type = initializedInConstructor(entry.getValue(), new HashSet<>(constructors)); if (type == FieldImmutabilityType.MUTABLE) { continue; } if (type == FieldImmutabilityType.IMMUTABLE || type == FieldImmutabilityType.CHECKDECL && initializedWhenDeclared(field)) { addViolation(data, field.getNode(), field.getImage()); } } return result; }
Map<MethodNameDeclaration, List<NameOccurrence>> methods = node.getScope().getEnclosingScope(ClassScope.class) .getMethodDeclarations(); for (MethodNameDeclaration mnd : findUnique(methods)) {