|| name.startsWith("copyOf") || name.equals("asList"); case "java/lang/Object": return mr.isConstructor(); case "java/util/Collections": return name.equals("min") || name.equals("max") || name.startsWith("unmodifiable") || name.startsWith("synchronized")
if(instr.getOpCode() == OpCode.INVOKESPECIAL) { MethodReference mr = instr.getOperand(0); if(mr.getDeclaringType().isEquivalentTo(ctor.getDeclaringType()) && mr.isConstructor()) { deps.put(ctor, mr.resolve());
private static ResolveResult resolveTypeFromMember(final MemberReference member) { if (member == null) { return null; } if (member instanceof FieldReference) { return new ResolveResult(((FieldReference) member).getFieldType()); } if (member instanceof MethodReference) { final MethodReference method = (MethodReference) member; if (method.isConstructor()) { return new ResolveResult(method.getDeclaringType()); } return new ResolveResult(method.getReturnType()); } return null; }
private static ResolveResult resolveTypeFromMember(final MemberReference member) { if (member == null) { return null; } if (member instanceof FieldReference) { return new ResolveResult(((FieldReference) member).getFieldType()); } if (member instanceof MethodReference) { final MethodReference method = (MethodReference) member; if (method.isConstructor()) { return new ResolveResult(method.getDeclaringType()); } return new ResolveResult(method.getReturnType()); } return null; }
constructor.get().isConstructor() && !arguments.isEmpty() && matchGetArgument(arguments.get(0), AstCode.Store, v, newObject) &&
private static ResolveResult resolveTypeFromMember(final MemberReference member) { if (member == null) { return null; } if (member instanceof FieldReference) { return new ResolveResult(((FieldReference) member).getFieldType()); } if (member instanceof MethodReference) { final MethodReference method = (MethodReference) member; if (method.isConstructor()) { return new ResolveResult(method.getDeclaringType()); } return new ResolveResult(method.getReturnType()); } return null; }
ctor.get().isConstructor() && args.size() > 0 && matchLoad(first(args), variable)) {
constructor.get().isConstructor() && !arguments.isEmpty() && matchGetArgument(arguments.get(0), AstCode.Store, v, newObject) &&
ctor.get().isConstructor() && args.size() > 0 && matchLoad(first(args), variable)) {
ctor.get().isConstructor() && args.size() > 0 && matchLoad(first(args), variable)) {
constructor.get().isConstructor() && !arguments.isEmpty() && matchGetArgument(arguments.get(0), AstCode.Store, v, newObject) &&
@SuppressWarnings("UnusedParameters") private List<Expression> adjustArgumentsForMethodCall(final MethodReference method, final List<Expression> arguments) { if (!arguments.isEmpty() && method.isConstructor()) { final TypeReference declaringType = method.getDeclaringType();
@SuppressWarnings("UnusedParameters") private List<Expression> adjustArgumentsForMethodCall(final MethodReference method, final List<Expression> arguments) { if (!arguments.isEmpty() && method.isConstructor()) { final TypeReference declaringType = method.getDeclaringType();
@SuppressWarnings("UnusedParameters") private List<Expression> adjustArgumentsForMethodCall(final MethodReference method, final List<Expression> arguments) { if (!arguments.isEmpty() && method.isConstructor()) { final TypeReference declaringType = method.getDeclaringType();
final MethodReference method = (MethodReference) reference; if (method.isConstructor()) { final MethodDefinition resolvedMethod = method.resolve();
final MethodReference method = (MethodReference) reference; if (method.isConstructor()) { final MethodDefinition resolvedMethod = method.resolve();
final MethodReference method = (MethodReference) reference; if (method.isConstructor()) { final MethodDefinition resolvedMethod = method.resolve();
@Override public Void visitExpressionStatement(final ExpressionStatement node, final Void data) { super.visitExpressionStatement(node, data); // // Remove `super()`-style invocations within constructors, but only if they actually // bind to a constructor. Keep calls to potentially obfuscated methods named 'super'. // if (inConstructor() && !context.getSettings().getShowSyntheticMembers()) { final Match match = EMPTY_SUPER.match(node); if (match.success()) { final AstNode target = first(match.<AstNode>get("target")); final MemberReference member = target.getUserData(Keys.MEMBER_REFERENCE); if (member instanceof MethodReference && ((MethodReference) member).isConstructor()) { node.remove(); } } } return null; } }
@Override public Void visitExpressionStatement(final ExpressionStatement node, final Void data) { super.visitExpressionStatement(node, data); // // Remove `super()`-style invocations within constructors, but only if they actually // bind to a constructor. Keep calls to potentially obfuscated methods named 'super'. // if (inConstructor() && !context.getSettings().getShowSyntheticMembers()) { final Match match = EMPTY_SUPER.match(node); if (match.success()) { final AstNode target = firstOrDefault(match.<AstNode>get("target")); final MemberReference member = target.getUserData(Keys.MEMBER_REFERENCE); if (member instanceof MethodReference && ((MethodReference) member).isConstructor()) { node.remove(); } } } return null; } }
@Override public Void visitExpressionStatement(final ExpressionStatement node, final Void data) { super.visitExpressionStatement(node, data); // // Remove `super()`-style invocations within constructors, but only if they actually // bind to a constructor. Keep calls to potentially obfuscated methods named 'super'. // if (inConstructor() && !context.getSettings().getShowSyntheticMembers()) { final Match match = EMPTY_SUPER.match(node); if (match.success()) { final AstNode target = firstOrDefault(match.<AstNode>get("target")); final MemberReference member = target.getUserData(Keys.MEMBER_REFERENCE); if (member instanceof MethodReference && ((MethodReference) member).isConstructor()) { node.remove(); } } } return null; } }