private int computeClassFlags(ClassTree tree) { int flags = computeFlags(tree.modifiers(), tree); if (tree.is(Tree.Kind.INTERFACE)) { flags |= Flags.INTERFACE; }else if (tree.is(Tree.Kind.ENUM)) { flags |= Flags.ENUM; }else if (tree.is(Tree.Kind.ANNOTATION_TYPE)) { flags |= Flags.INTERFACE | Flags.ANNOTATION; } return flags; }
private int computeClassFlags(ClassTree tree) { int flags = computeFlags(tree.modifiers(), tree); if (tree.is(Tree.Kind.INTERFACE)) { flags |= Flags.INTERFACE; }else if (tree.is(Tree.Kind.ENUM)) { flags |= Flags.ENUM; }else if (tree.is(Tree.Kind.ANNOTATION_TYPE)) { flags |= Flags.INTERFACE | Flags.ANNOTATION; } return flags; }
private boolean isAccessor(Tree tree) { if (!classTrees.isEmpty() && !classTrees.peek().is(Tree.Kind.INTERFACE) && tree.is(Tree.Kind.METHOD)) { MethodTree methodTree = (MethodTree) tree; String name = methodTree.simpleName().name(); return (setterPattern.matcher(name).matches() && methodTree.parameters().size() == 1) || (getterPattern.matcher(name).matches() && methodTree.parameters().isEmpty()); } return false; }
@Override public void visitClass(ClassTree tree) { if (tree.is(Tree.Kind.INTERFACE) && !pattern.matcher(tree.simpleName().name()).matches()) { context.addIssue(tree, this, "Rename this interface name to match the regular expression '" + format + "'."); } super.visitClass(tree); }
@Override public void visitClass(ClassTree tree) { for (Tree member : tree.members()) { if ((tree.is(Tree.Kind.CLASS) || tree.is(Tree.Kind.ENUM)) && member.is(Tree.Kind.VARIABLE)) { VariableTree field = (VariableTree) member; if (isNotStatic(field) && !pattern.matcher(field.simpleName().name()).matches()) { context.addIssue(field, this, "Rename this field name to match the regular expression '" + format + "'."); } } scan(member); } }
@Override public void visitClass(ClassTree tree) { if (tree.is(Tree.Kind.INTERFACE) && !pattern.matcher(tree.simpleName().name()).matches()) { context.reportIssue(this, tree.simpleName(), "Rename this interface name to match the regular expression '" + format + "'."); } super.visitClass(tree); }
private boolean hasNonVoidReturnType(Tree tree) { // Backward compatibility : ignore methods from annotations. if (tree.is(Tree.Kind.METHOD) && !classTrees.peek().is(Tree.Kind.ANNOTATION_TYPE)) { Tree returnType = ((MethodTree) tree).returnType(); return returnType == null || !(returnType.is(Tree.Kind.PRIMITIVE_TYPE) && "void".equals(((PrimitiveTypeTree) returnType).keyword().text())); } return false; }
@Override public void visitClass(ClassTree tree) { if (tree.is(Tree.Kind.INTERFACE) && !pattern.matcher(tree.simpleName().name()).matches()) { context.reportIssue(this, tree.simpleName(), "Rename this interface name to match the regular expression '" + format + "'."); } super.visitClass(tree); }
@Override public void visitClass(ClassTree tree) { if (tree.is(Tree.Kind.CLASS) && tree.simpleName() != null && !pattern.matcher(tree.simpleName().name()).matches()) { context.addIssue(tree, this, "Rename this class name to match the regular expression '" + format + "'."); } super.visitClass(tree); }
private boolean hasNonVoidReturnType(Tree tree) { // Backward compatibility : ignore methods from annotations. if (tree.is(Tree.Kind.METHOD) && !classTrees.peek().is(Tree.Kind.ANNOTATION_TYPE)) { Tree returnType = ((MethodTree) tree).returnType(); return returnType == null || !(returnType.is(Tree.Kind.PRIMITIVE_TYPE) && "void".equals(((PrimitiveTypeTree) returnType).keyword().text())); } return false; }
private void checkSuperType(ClassTree tree, @Nullable Type superType) { if (superType != null && superType.symbol().name().equals(tree.symbol().name())) { String classOrInterface = tree.is(Tree.Kind.CLASS) ? "class" : "interface"; reportIssue(tree.simpleName(), "Rename this " + classOrInterface + "."); } }
@Override public void visitClass(ClassTree tree) { if (tree.is(Tree.Kind.CLASS) && tree.simpleName() != null && !pattern.matcher(tree.simpleName().name()).matches()) { context.reportIssue(this, tree.simpleName(), "Rename this class name to match the regular expression '" + format + "'."); } super.visitClass(tree); }
@Override public void visitClass(ClassTree tree) { if (tree.is(Tree.Kind.CLASS) || tree.is(Tree.Kind.ENUM)) { for (Tree member : tree.members()) { if (member.is(Tree.Kind.VARIABLE) && isPublicStaticNotFinal((VariableTree) member)) { context.reportIssue(this, ((VariableTree) member).simpleName(), "Make this \"public static " + ((VariableTree) member).simpleName() + "\" field final"); } } } super.visitClass(tree); }
private void checkSuperType(ClassTree tree, @Nullable Type superType) { if (superType != null && superType.symbol().name().equals(tree.symbol().name())) { String classOrInterface = tree.is(Tree.Kind.CLASS) ? "class" : "interface"; reportIssue(tree.simpleName(), "Rename this " + classOrInterface + "."); } }
@Override public void visitClass(ClassTree tree) { if (tree.is(Tree.Kind.CLASS) || tree.is(Tree.Kind.ENUM)) { for (Tree member : tree.members()) { if (member.is(Tree.Kind.VARIABLE) && isPublicStaticNotFinal((VariableTree) member)) { context.reportIssue(this, ((VariableTree) member).simpleName(), "Make this \"public static " + ((VariableTree) member).simpleName() + "\" field final"); } } } super.visitClass(tree); }
@Override public void visitClass(ClassTree tree) { if (tree.is(Tree.Kind.CLASS) && tree.simpleName() != null && !pattern.matcher(tree.simpleName().name()).matches()) { context.reportIssue(this, tree.simpleName(), "Rename this class name to match the regular expression '" + format + "'."); } super.visitClass(tree); }
private static boolean isPublicApi(ClassTree classTree, MethodTree methodTree) { Preconditions.checkNotNull(classTree); if (isPublicInterface(classTree)) { return !hasOverrideAnnotation(methodTree); } else if (isEmptyDefaultConstructor(methodTree) || hasOverrideAnnotation(methodTree) || classTree.is(Tree.Kind.INTERFACE, Tree.Kind.ANNOTATION_TYPE) || constructorOfNonPublicClass(methodTree, classTree)) { return false; } return hasPublic(methodTree.modifiers()); }
private static boolean isPublicApi(ClassTree classTree, MethodTree methodTree) { Preconditions.checkNotNull(classTree); if (isPublicInterface(classTree)) { return !hasOverrideAnnotation(methodTree); } else if (isEmptyDefaultConstructor(methodTree) || hasOverrideAnnotation(methodTree) || classTree.is(Tree.Kind.INTERFACE, Tree.Kind.ANNOTATION_TYPE) || constructorOfNonPublicClass(methodTree, classTree)) { return false; } return hasPublic(methodTree.modifiers()); }