@Nonnull @Override public List<? extends MethodParameter> getParameters() { return method.getParameters(); }
protected List<Type> getParameterTypes(final Method method) { // retrieve all parameter types List<Type> parameterTypes = new ArrayList<Type>(); if (method.getParameters() != null) { List<? extends CharSequence> parameters = method.getParameterTypes(); for (CharSequence t : parameters) { Type type = DexType.toSoot(t.toString()); parameterTypes.add(type); } } return parameterTypes; }
tries = code.getTryBlocks(); List<? extends MethodParameter> parameters = method.getParameters(); if (parameters != null) { parameterNames = new ArrayList<String>(); parameterTypes = new ArrayList<Type>(); for (MethodParameter param : method.getParameters()) { parameterNames.add(param.getName()); parameterTypes.add(DexType.toSoot(param.getType()));
method.getDefiningClass(), method.getName(), method.getParameters(), method.getReturnType(), method.getAccessFlags(),
private void propagateParameterTypes(int parameterStartRegister) { int i=0; for (MethodParameter parameter: method.getParameters()) { if (TypeUtils.isWideType(parameter)) { setPostRegisterTypeAndPropagateChanges(startOfMethod, parameterStartRegister + i++, RegisterType.getWideRegisterType(parameter, true)); setPostRegisterTypeAndPropagateChanges(startOfMethod, parameterStartRegister + i++, RegisterType.getWideRegisterType(parameter, false)); } else { setPostRegisterTypeAndPropagateChanges(startOfMethod, parameterStartRegister + i++, RegisterType.getRegisterType(classPath, parameter)); } } }
methodParameters = ImmutableList.copyOf(method.getParameters());
for (MethodParameter p : method.getParameters()) { String name = p.getName(); if (name != null) { parameterNames = new String[method.getParameters().size()]; parameterNames[i] = name; List<? extends MethodParameter> parameters = method.getParameters(); for (MethodParameter p : parameters) { if (p.getAnnotations().size() > 0) {
private void internDebug(@Nonnull Method method) { for (MethodParameter param: method.getParameters()) { String paramName = param.getName(); if (paramName != null) { dexPool.stringSection.intern(paramName); } } MethodImplementation methodImpl = method.getImplementation(); if (methodImpl != null) { for (DebugItem debugItem: methodImpl.getDebugItems()) { switch (debugItem.getDebugItemType()) { case DebugItemType.START_LOCAL: StartLocal startLocal = (StartLocal)debugItem; dexPool.stringSection.internNullable(startLocal.getName()); dexPool.typeSection.internNullable(startLocal.getType()); dexPool.stringSection.internNullable(startLocal.getSignature()); break; case DebugItemType.SET_SOURCE_FILE: dexPool.stringSection.internNullable(((SetSourceFile) debugItem).getSourceFile()); break; } } } }
public static void writeEmptyMethodTo(IndentingWriter writer, Method method, BaksmaliOptions options) throws IOException { writer.write(".method "); writeAccessFlags(writer, method.getAccessFlags()); writer.write(method.getName()); writer.write("("); ImmutableList<MethodParameter> methodParameters = ImmutableList.copyOf(method.getParameters()); for (MethodParameter parameter: methodParameters) { writer.write(parameter.getType()); } writer.write(")"); writer.write(method.getReturnType()); writer.write('\n'); writer.indent(4); writeParameters(writer, method, methodParameters, options); String containingClass = null; if (options.implicitReferences) { containingClass = method.getDefiningClass(); } AnnotationFormatter.writeTo(writer, method.getAnnotations(), containingClass); writer.deindent(4); writer.write(".end method\n"); }
@Override @Nonnull public List<? extends MethodParameter> getParameters() { return method.getParameters(); }
@Override @Nonnull public List<? extends MethodParameter> getParameters() { return method.getParameters(); }
private boolean methodSignaturesMatch(@Nonnull Method a, @Nonnull Method b) { return (a.getName().equals(b.getName()) && a.getReturnType().equals(b.getReturnType()) && a.getParameters().equals(b.getParameters())); }
@Override @Nonnull public List<? extends MethodParameter> getParameters() { // We can't use the MethodReferenceRewriter to rewrite the parameters, because we would lose // parameter names and annotations. If a method rewrite involves changing parameters, it needs // to be handled here as well as in the MethodReferenceRewriter return RewriterUtils.rewriteList(rewriters.getMethodParameterRewriter(), method.getParameters()); }
@Override @Nonnull public List<? extends MethodParameter> getParameters() { // We can't use the MethodReferenceRewriter to rewrite the parameters, because we would lose // parameter names and annotations. If a method rewrite involves changing parameters, it needs // to be handled here as well as in the MethodReferenceRewriter return RewriterUtils.rewriteList(rewriters.getMethodParameterRewriter(), method.getParameters()); }
@Override @Nonnull public List<? extends MethodParameter> getParameters() { // We can't use the MethodReferenceRewriter to rewrite the parameters, because we would lose // parameter names and annotations. If a method rewrite involves changing parameters, it needs // to be handled here as well as in the MethodReferenceRewriter return RewriterUtils.rewriteList(rewriters.getMethodParameterRewriter(), method.getParameters()); }
Map<Integer,List<Annotation>> getParameterAnnotations(Method m) { Map<Integer,List<Annotation>> result = HashMapFactory.make(); int i = 0; for(MethodParameter as : m.getParameters()) { for(org.jf.dexlib2.iface.Annotation a : as.getAnnotations()) { if (! result.containsKey(i)) { result.put(i, new ArrayList<Annotation>()); } result.get(i).add(DexUtil.getAnnotation(a, getClassLoader().getReference())); } i++; } return result; }
Map<Integer,List<Annotation>> getParameterAnnotations(Method m) { Map<Integer,List<Annotation>> result = HashMapFactory.make(); int i = 0; for(MethodParameter as : m.getParameters()) { for(org.jf.dexlib2.iface.Annotation a : as.getAnnotations()) { if (! result.containsKey(i)) { result.put(i, new ArrayList<Annotation>()); } result.get(i).add(DexUtil.getAnnotation(a, getClassLoader().getReference())); } i++; } return result; }
public static ImmutableMethod of(Method method) { if (method instanceof ImmutableMethod) { return (ImmutableMethod)method; } return new ImmutableMethod( method.getDefiningClass(), method.getName(), method.getParameters(), method.getReturnType(), method.getAccessFlags(), method.getAnnotations(), method.getImplementation()); }
public static ImmutableMethod of(Method method) { if (method instanceof ImmutableMethod) { return (ImmutableMethod)method; } return new ImmutableMethod( method.getDefiningClass(), method.getName(), method.getParameters(), method.getReturnType(), method.getAccessFlags(), method.getAnnotations(), method.getImplementation()); }
public static ImmutableMethod of(Method method) { if (method instanceof ImmutableMethod) { return (ImmutableMethod)method; } return new ImmutableMethod( method.getDefiningClass(), method.getName(), method.getParameters(), method.getReturnType(), method.getAccessFlags(), method.getAnnotations(), method.getImplementation()); }