@Override public String getTypeImage() { return ((ASTClassOrInterfaceDeclaration) node).getImage(); }
/** * Gets the Image of the first parent node of type * ASTClassOrInterfaceDeclaration or <code>null</code> * * @param node * the node which will be searched */ protected final String getDeclaringType(Node node) { ASTClassOrInterfaceDeclaration c = node.getFirstParentOfType(ASTClassOrInterfaceDeclaration.class); if (c != null) { return c.getImage(); } return null; }
@Override public Object visit(ASTClassOrInterfaceDeclaration node, Object data) { if (node.getImage().indexOf('$') != -1) { addViolation(data, node); return data; } return super.visit(node, data); }
@Override public Object visit(ASTFieldDeclaration node, Object data) { ASTClassOrInterfaceDeclaration cl = node.getFirstParentOfType(ASTClassOrInterfaceDeclaration.class); if (cl != null && node.getVariableName().equalsIgnoreCase(cl.getImage())) { addViolation(data, node); } return data; } }
/** * Determines all the class/interface declarations inside this compilation * unit, which implement Cloneable * * @param currentClass * the node of the class, that is currently analyzed (inside this * compilation unit) * @return a Set of class/interface names */ private Set<String> determineTopLevelCloneableClasses(final ASTClassOrInterfaceDeclaration currentClass) { final List<ASTClassOrInterfaceDeclaration> classes = currentClass.getFirstParentOfType(ASTCompilationUnit.class) .findDescendantsOfType(ASTClassOrInterfaceDeclaration.class); final Set<String> classesNames = new HashSet<>(); for (final ASTClassOrInterfaceDeclaration c : classes) { if (!Objects.equals(c, currentClass) && extendsOrImplementsCloneable(c)) { classesNames.add(c.getImage()); } } return classesNames; }
@Override public Object visit(final ASTClassOrInterfaceDeclaration decl, final Object data) { // check for nested classes if (decl.isNested() && shouldReport(decl)) { addViolationWithMessage(data, decl, String.format(MESSAGE, decl.getImage(), "nested class")); } return super.visit(decl, data); }
private boolean isJUnit3Class(ASTCompilationUnit node) { ASTClassOrInterfaceDeclaration cid = node.getFirstDescendantOfType(ASTClassOrInterfaceDeclaration.class); if (cid == null) { return false; } if (node.getType() != null && TypeHelper.isA(node, JUNIT3_CLASS_NAME)) { return true; } else if (node.getType() == null) { ASTExtendsList extendsList = cid.getFirstChildOfType(ASTExtendsList.class); if (extendsList == null) { return false; } if (((ASTClassOrInterfaceType) extendsList.jjtGetChild(0)).getImage().endsWith("TestCase")) { return true; } String className = cid.getImage(); return className.endsWith("Test"); } else if (hasImports(node, JUNIT3_CLASS_NAME)) { return cid.getImage().endsWith("Test"); } return false; }
@Override public Object visit(ASTClassOrInterfaceDeclaration node, Object data) { List<ASTMethodDeclarator> methods = node.findDescendantsOfType(ASTMethodDeclarator.class); for (ASTMethodDeclarator m : methods) { if (m.hasImageEqualTo(node.getImage())) { addViolation(data, m); } } return super.visit(node, data); } }
@Override public Object visit(ASTClassOrInterfaceDeclaration node, Object data) { if (node.isInterface()) { return data; } entryStack.push(new Entry(node)); super.visit(node, data); Entry classEntry = entryStack.pop(); if (showClassesComplexity) { if (classEntry.getComplexityAverage() >= reportLevel || classEntry.highestDecisionPoints >= reportLevel) { addViolation(data, node, new String[] { "class", node.getImage(), classEntry.getComplexityAverage() + " (Highest = " + classEntry.highestDecisionPoints + ')', }); } } return data; }
String className = node.getImage(); if (!node.isFinal()) { putEvalPackage(new EvalPackage(className));
@Override public String getTypeImage() { return ((ASTClassOrInterfaceDeclaration) node).getImage(); }
@Override public Object visit(ASTClassOrInterfaceDeclaration node, Object data) { if (node.getImage().startsWith(DOLLAR) || node.getImage().startsWith(UNDERSCORE)) { ViolationUtils.addViolationWithPrecisePosition(this, node, data, String.format(FORMAT, node.getImage())); } return super.visit(node, data); }
@Override public String make() { return I18nResources.getMessage(MESSAGE_KEY_PREFIX + ".class", decl.getImage()); } });
/** * Gets the Image of the first parent node of type * ASTClassOrInterfaceDeclaration or <code>null</code> * * @param node * the node which will be searched */ protected final String getDeclaringType(Node node) { ASTClassOrInterfaceDeclaration c = node.getFirstParentOfType(ASTClassOrInterfaceDeclaration.class); if (c != null) { return c.getImage(); } return null; }
@Override public Object visit(ASTClassOrInterfaceDeclaration node, Object data) { if (node.getImage().indexOf('$') != -1) { addViolation(data, node); return data; } return super.visit(node, data); }
@Override public Object visit(ASTClassOrInterfaceDeclaration node, Object data) { populateType(node, node.getImage()); return super.visit(node, data); }
@Override public Object visit(ASTFieldDeclaration node, Object data) { ASTClassOrInterfaceDeclaration cl = node.getFirstParentOfType(ASTClassOrInterfaceDeclaration.class); if (cl != null && node.getVariableName().equalsIgnoreCase(cl.getImage())) { addViolation(data, node); } return data; } }
private String getClassName(ASTCompilationUnit node) { ASTClassOrInterfaceDeclaration classDecl = node.getFirstDescendantOfType(ASTClassOrInterfaceDeclaration.class); if (classDecl == null) { // Happens if this compilation unit only contains an // enum return null; } if (node.declarationsAreInDefaultPackage()) { return classDecl.getImage(); } ASTPackageDeclaration pkgDecl = node.getPackageDeclaration(); importedOnDemand.add(pkgDecl.getPackageNameImage()); return pkgDecl.getPackageNameImage() + DOT_STRING + classDecl.getImage(); }
@Override public Object visit(final ASTClassOrInterfaceDeclaration decl, final Object data) { // check for nested classes if (decl.isNested() && shouldReport(decl)) { addViolationWithMessage(data, decl, String.format(MESSAGE, decl.getImage(), "nested class")); } return super.visit(decl, data); }
@Override public Object visit(ASTClassOrInterfaceDeclaration node, Object data) { List<ASTMethodDeclarator> methods = node.findDescendantsOfType(ASTMethodDeclarator.class); for (ASTMethodDeclarator m : methods) { if (m.hasImageEqualTo(node.getImage())) { addViolation(data, m); } } return super.visit(node, data); } }