private MethodReference buildMethodReference(java.lang.reflect.Method method) { String className = ClassNameUtils.toInternal(method.getDeclaringClass()); String name = method.getName(); List<String> parameterTypes = ClassNameUtils.toInternal(method.getParameterTypes()); String returnType = ClassNameUtils.toInternal(method.getReturnType()); ImmutableMethodReference immutableMethodRef = new ImmutableMethodReference(className, name, parameterTypes, returnType); MethodReference methodRef = manipulator.getDexBuilder().internMethodReference(immutableMethodRef); return methodRef; }
dexBuilder.internMethodReference(methodReference)));
registers[2], registers[3], registers[4], dexBuilder.internMethodReference(methodReference)));
dexBuilder.internMethodReference(methodReference), dexBuilder.internMethodProtoReference(method_prototype196)));
dexBuilder.internMethodReference(methodReference), dexBuilder.internMethodProtoReference(method_prototype200)));
@Nonnull public BuilderReference internReference(@Nonnull Reference reference) { if (reference instanceof StringReference) { return internStringReference(((StringReference)reference).getString()); } if (reference instanceof TypeReference) { return internTypeReference(((TypeReference)reference).getType()); } if (reference instanceof MethodReference) { return internMethodReference((MethodReference)reference); } if (reference instanceof FieldReference) { return internFieldReference((FieldReference)reference); } throw new IllegalArgumentException("Could not determine type of reference"); }
@Nonnull public BuilderReference internReference(@Nonnull Reference reference) { if (reference instanceof StringReference) { return internStringReference(((StringReference)reference).getString()); } if (reference instanceof TypeReference) { return internTypeReference(((TypeReference)reference).getType()); } if (reference instanceof MethodReference) { return internMethodReference((MethodReference)reference); } if (reference instanceof FieldReference) { return internFieldReference((FieldReference)reference); } if (reference instanceof MethodProtoReference) { return internMethodProtoReference((MethodProtoReference) reference); } if (reference instanceof CallSiteReference) { return internCallSite((CallSiteReference) reference); } if (reference instanceof MethodHandleReference) { return internMethodHandle((MethodHandleReference) reference); } throw new IllegalArgumentException("Could not determine type of reference"); }
@Nonnull public BuilderReference internReference(@Nonnull Reference reference) { if (reference instanceof StringReference) { return internStringReference(((StringReference)reference).getString()); } if (reference instanceof TypeReference) { return internTypeReference(((TypeReference)reference).getType()); } if (reference instanceof MethodReference) { return internMethodReference((MethodReference)reference); } if (reference instanceof FieldReference) { return internFieldReference((FieldReference)reference); } if (reference instanceof MethodProtoReference) { return internMethodProtoReference((MethodProtoReference) reference); } if (reference instanceof CallSiteReference) { return internCallSite((CallSiteReference) reference); } if (reference instanceof MethodHandleReference) { return internMethodHandle((MethodHandleReference) reference); } throw new IllegalArgumentException("Could not determine type of reference"); }
case MethodHandleType.INVOKE_DIRECT: case MethodHandleType.INVOKE_INTERFACE: memberReference = dexBuilder.internMethodReference( (MethodReference) methodHandleReference.getMemberReference()); break;
case MethodHandleType.INVOKE_DIRECT: case MethodHandleType.INVOKE_INTERFACE: memberReference = dexBuilder.internMethodReference( (MethodReference) methodHandleReference.getMemberReference()); break;
dexBuilder.internMethodReference(methodReference)));
registers[2], registers[3], registers[4], dexBuilder.internMethodReference(methodReference)));
registers[2], registers[3], registers[4], dexBuilder.internMethodReference(methodReference)));
dexBuilder.internMethodReference(methodReference)));
dexBuilder.internMethodReference(methodReference), dexBuilder.internMethodProtoReference(method_prototype200)));
dexBuilder.internMethodReference(methodReference), dexBuilder.internMethodProtoReference(method_prototype196)));