private static int getPriority(MethodDefinition md) { int priority = 0; if (md.isProtected()) priority += 10; else if (md.isPackagePrivate() || md.isPrivate()) priority += 20; return priority; }
@MethodVisitor public boolean checkMethod(MethodDefinition md, TypeDefinition td) { return td.isPublic() && !td.isFinal() && !md.isPrivate() && !md.isPackagePrivate(); }
static boolean isClassMethodCandidate(final MethodDefinition m) { return m != null && m.isSynthetic() && m.isStatic() && m.isPackagePrivate() && m.getParameters().size() == 1 && CommonTypeReferences.Class.isEquivalentTo(m.getReturnType()) && CommonTypeReferences.String.isEquivalentTo(m.getParameters().get(0).getParameterType()); }
private static boolean isSwitchMapMethod(final MethodReference method) { if (method == null) { return false; } final MethodDefinition definition = method instanceof MethodDefinition ? (MethodDefinition) method : method.resolve(); return definition != null && definition.isSynthetic() && definition.isStatic() && definition.isPackagePrivate() && StringUtilities.startsWith(definition.getName(), "$SWITCH_TABLE$") && MetadataResolver.areEquivalent(BuiltinTypes.Integer.makeArrayType(), definition.getReturnType()); }
private static boolean isSwitchMapMethod(final MethodReference method) { if (method == null) { return false; } final MethodDefinition definition = method instanceof MethodDefinition ? (MethodDefinition) method : method.resolve(); return definition != null && definition.isSynthetic() && definition.isStatic() && definition.isPackagePrivate() && StringUtilities.startsWith(definition.getName(), "$SWITCH_TABLE$") && MetadataResolver.areEquivalent(BuiltinTypes.Integer.makeArrayType(), definition.getReturnType()); }
private static boolean isSwitchMapMethod(final MethodReference method) { if (method == null) { return false; } final MethodDefinition definition = method instanceof MethodDefinition ? (MethodDefinition) method : method.resolve(); return definition != null && definition.isSynthetic() && definition.isStatic() && definition.isPackagePrivate() && StringUtilities.startsWith(definition.getName(), "$SWITCH_TABLE$") && MetadataResolver.areEquivalent(BuiltinTypes.Integer.makeArrayType(), definition.getReturnType()); }
if (md.isProtected()) priority += 3; else if (md.isPackagePrivate()) priority += 6; else if (md.isPrivate())
@AstVisitor(nodes = AstNodes.EXPRESSIONS) public void visit(Expression expr, NodeChain nc, MethodContext mc, MethodDefinition md, TypeDefinition td) { if (expr.getCode() == AstCode.Return && !expr.getArguments().isEmpty()) { Expression child = Exprs.getChild(expr, 0); if (child.getCode() == AstCode.AConstNull) { MethodDefinition curMethod = nc.getLambdaMethod(); if (curMethod == null) curMethod = md; String warningType = curMethod.getReturnType().isArray() ? "ArrayReturnNull" : TYPE_TO_WARNING .get(curMethod.getReturnType().getInternalName()); if (warningType != null) { int priority = 0; if (!td.isPublic() || md.isPrivate() || md.isPackagePrivate()) priority = 20; else if (md.isProtected() || md != curMethod) priority = 10; // Method which simply contains "return null": probably stub or something if(nc.getParent() == null && nc.isOnlyChild(expr)) priority += 10; mc.report(warningType, priority, expr.getArguments().get(0), RETURN_TYPE.create(md .getReturnType())); } } } } }
if (md != null && md.isSynthetic() && !md.isBridgeMethod() && md.isPackagePrivate()) { final AstBuilder astBuilder = context.getUserData(Keys.AST_BUILDER);