public static boolean hasJavadocDeprecatedTag(Tree tree) { return hasJavadocDeprecatedTag(PublicApiChecker.getApiJavadoc(tree)); }
private static boolean isPublicApi(ClassTree classTree) { return isPublicApi(null, classTree); }
public String getCommentFromToken(Token token) { SyntaxToken syntaxToken = new InternalSyntaxToken(token); return getCommentFromSyntaxToken(syntaxToken); }
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, VariableTree variableTree) { return !isPublicInterface(classTree) && !isStaticFinal(variableTree) && hasPublic(variableTree.modifiers()); }
private static boolean isPublicApi(ClassTree currentClass, ClassTree classTree) { return (currentClass != null && isPublicInterface(currentClass)) || hasPublic(classTree.modifiers()); }
private void visitNode(Tree tree) { Tree currentParent = currentParents.peek(); if (tree.is(PublicApiChecker.CLASS_KINDS)) { classTrees.push((ClassTree) tree); currentParents.push(tree); } else if (tree.is(PublicApiChecker.METHOD_KINDS)) { currentParents.push(tree); } if (isPublicApi(currentParent, tree)) { publicApi++; if (getApiJavadoc(tree) != null) { documentedPublicApi++; } } }
@Nullable public static String getApiJavadoc(Tree tree) { if (!tree.is(API_KINDS)) { return null; } ModifiersTree modifiersTree = getModifierTrees(tree); // FIXME token should be retrieved in a much simpler way. if (modifiersTree != null && !(modifiersTree.modifiers().isEmpty() && modifiersTree.annotations().isEmpty())) { return getCommentFromTree(modifiersTree); } if (tree.is(Tree.Kind.METHOD)) { MethodTree methodTree = (MethodTree) tree; return getCommentFromMethod(methodTree); } return getCommentFromTree(tree); }
private static String getCommentFromMethod(MethodTree methodTree) { if (methodTree.typeParameters().isEmpty()) { Tree tokenTree = methodTree.returnType(); while (tokenTree != null && tokenTree.is(Kind.ARRAY_TYPE, Kind.PARAMETERIZED_TYPE, Kind.MEMBER_SELECT)) { if (tokenTree.is(Kind.ARRAY_TYPE)) { tokenTree = ((ArrayTypeTree) tokenTree).type(); } else if (tokenTree.is(Kind.MEMBER_SELECT)) { tokenTree = ((MemberSelectExpressionTree) tokenTree).expression(); } else if (tokenTree.is(Kind.PARAMETERIZED_TYPE)) { tokenTree = ((ParameterizedTypeTree) tokenTree).type(); } } return getCommentFromTree(tokenTree); } else { return getCommentFromSyntaxToken(methodTree.typeParameters().openBracketToken()); } }
private static boolean constructorOfNonPublicClass(MethodTree methodTree, ClassTree classTree) { return methodTree.is(Kind.CONSTRUCTOR) && !hasPublic(classTree.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()); }
private void visitNode(Tree tree) { Tree currentParent = currentParents.peek(); if (tree.is(PublicApiChecker.CLASS_KINDS)) { classTrees.push((ClassTree) tree); currentParents.push(tree); } else if (tree.is(PublicApiChecker.METHOD_KINDS)) { currentParents.push(tree); } if (isPublicApi(currentParent, tree)) { publicApi++; if (getApiJavadoc(tree) != null) { documentedPublicApi++; } } }
private static boolean isPublicApi(ClassTree classTree, VariableTree variableTree) { return !isPublicInterface(classTree) && !isStaticFinal(variableTree) && hasPublic(variableTree.modifiers()); }
@Nullable public static String getApiJavadoc(Tree tree) { if (!tree.is(API_KINDS)) { return null; } ModifiersTree modifiersTree = getModifierTrees(tree); // FIXME token should be retrieved in a much simpler way. if (modifiersTree != null && !(modifiersTree.modifiers().isEmpty() && modifiersTree.annotations().isEmpty())) { return getCommentFromTree(modifiersTree); } if (tree.is(Tree.Kind.METHOD)) { MethodTree methodTree = (MethodTree) tree; return getCommentFromMethod(methodTree); } return getCommentFromTree(tree); }
public boolean isPublicApi(ClassTree currentClass, ClassTree classTree) { return (currentClass != null && isPublicInterface(currentClass)) || hasPublic(classTree.modifiers()); }
private static String getCommentFromMethod(MethodTree methodTree) { if (methodTree.typeParameters().isEmpty()) { Tree tokenTree = methodTree.returnType(); while (tokenTree != null && tokenTree.is(Kind.ARRAY_TYPE, Kind.PARAMETERIZED_TYPE, Kind.MEMBER_SELECT)) { if (tokenTree.is(Kind.ARRAY_TYPE)) { tokenTree = ((ArrayTypeTree) tokenTree).type(); } else if (tokenTree.is(Kind.MEMBER_SELECT)) { tokenTree = ((MemberSelectExpressionTree) tokenTree).expression(); } else if (tokenTree.is(Kind.PARAMETERIZED_TYPE)) { tokenTree = ((ParameterizedTypeTree) tokenTree).type(); } } return getCommentFromTree(tokenTree); } else { return getCommentFromSyntaxToken(methodTree.typeParameters().openBracketToken()); } }
private static boolean constructorOfNonPublicClass(MethodTree methodTree, ClassTree classTree) { return methodTree.is(Kind.CONSTRUCTOR) && !hasPublic(classTree.modifiers()); }
public boolean isPublicApi(ClassTree classTree, MethodTree methodTree) { Preconditions.checkNotNull(classTree); if (separateAccessorsFromMethods && accessorVisitor.isAccessor(classTree, methodTree)) { return false; } else if (isPublicInterface(classTree)) { return !hasOverrideAnnotation(methodTree); } else if (isEmptyDefaultConstructor(methodTree) || hasOverrideAnnotation(methodTree) || classTree.is(Tree.Kind.INTERFACE, Tree.Kind.ANNOTATION_TYPE)) { return false; } return hasPublic(methodTree.modifiers()); }
private void visitNode(Tree tree) { Tree currentParent = currentParents.peek(); if (tree.is(PublicApiChecker.CLASS_KINDS)) { classTrees.push((ClassTree) tree); currentParents.push(tree); } else if (tree.is(PublicApiChecker.METHOD_KINDS)) { currentParents.push(tree); } if (isPublicApi(currentParent, tree)) { publicApi++; if (getApiJavadoc(tree) != null) { documentedPublicApi++; } } }
private static boolean isPublicApi(ClassTree classTree, VariableTree variableTree) { return !isPublicInterface(classTree) && !isStaticFinal(variableTree) && hasPublic(variableTree.modifiers()); }