private static boolean isDeprecatedMethod(Tree tree) { return tree.is(Tree.Kind.METHOD, Tree.Kind.CONSTRUCTOR) && ((MethodTree) tree).symbol().isDeprecated(); }
private static boolean isOverridingDeprecatedConcreteMethod(Symbol.MethodSymbol symbol) { Symbol.MethodSymbol overriddenMethod = symbol.overriddenSymbol(); while(overriddenMethod != null && !overriddenMethod.isUnknown()) { if (overriddenMethod.isAbstract()) { return false; } if (overriddenMethod.isDeprecated()) { return true; } overriddenMethod = overriddenMethod.overriddenSymbol(); } return false; }
private static boolean isDeprecatedMethod(Tree tree) { return tree.is(Tree.Kind.METHOD, Tree.Kind.CONSTRUCTOR) && ((MethodTree) tree).symbol().isDeprecated(); }
private static boolean isOverridingDeprecatedConcreteMethod(Symbol.MethodSymbol symbol) { Symbol.MethodSymbol overriddenMethod = symbol.overriddenSymbol(); while(overriddenMethod != null && !overriddenMethod.isUnknown()) { if (overriddenMethod.isAbstract()) { return false; } if (overriddenMethod.isDeprecated()) { return true; } overriddenMethod = overriddenMethod.overriddenSymbol(); } return false; }
private void checkMethodIssue(MethodTree methodTree) { if(!methodTree.symbol().isDeprecated() && isOverridingDeprecatedConcreteMethod(methodTree.symbol())) { reportIssue(methodTree.simpleName(), "Don't override a deprecated method or explicitly mark it as \"@Deprecated\"."); } }
private void checkMethodIssue(MethodTree methodTree) { if(!methodTree.symbol().isDeprecated() && isOverridingDeprecatedConcreteMethod(methodTree.symbol())) { reportIssue(methodTree.simpleName(), "Don't override a deprecated method or explicitly mark it as \"@Deprecated\"."); } }