本文整理汇总了Java中org.jf.dexlib2.iface.reference.MethodReference.getName方法的典型用法代码示例。如果您正苦于以下问题:Java MethodReference.getName方法的具体用法?Java MethodReference.getName怎么用?Java MethodReference.getName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.jf.dexlib2.iface.reference.MethodReference
的用法示例。
在下文中一共展示了MethodReference.getName方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: addUsedMethods
import org.jf.dexlib2.iface.reference.MethodReference; //导入方法依赖的package包/类
public static void addUsedMethods(MethodReference methodReference) {
String className = methodReference.getDefiningClass();
// if (Build.addClasses.contains(className.substring(1, className.length() - 1).replace('/', '.'))){
// return;
// }
String method = methodReference.getName();
String params;
if (APatchTool.mappingMap == null) {
params = methodReference.getParameterTypes().toString().replace(',', '|').replaceAll(" ", "");
} else {
params = getParamsType(methodReference.getParameterTypes());
}
System.out.println("add used method:" + className + "->" + method + ":" + params
+ " " + methodReference.getReturnType());
String record = className.substring(1, className.length() - 1).replace('/', '.') + ":" +
method + ":" + params + ":" + methodReference.getReturnType();
if (Build.usedMethods.contains(record)) {
return;
}
if (p.matcher(className).find()) {
return;
}
Build.usedMethods.add(record);
}
示例2: of
import org.jf.dexlib2.iface.reference.MethodReference; //导入方法依赖的package包/类
@Nonnull
public static ImmutableMethodReference of(@Nonnull MethodReference methodReference) {
if (methodReference instanceof ImmutableMethodReference) {
return (ImmutableMethodReference)methodReference;
}
return new ImmutableMethodReference(
methodReference.getDefiningClass(),
methodReference.getName(),
methodReference.getParameterTypes(),
methodReference.getReturnType());
}
示例3: MethodEntity
import org.jf.dexlib2.iface.reference.MethodReference; //导入方法依赖的package包/类
public MethodEntity(MethodReference ref) {
className = ref.getDefiningClass();
methodName = ref.getName();
List<? extends CharSequence> types = ref.getParameterTypes();
StringBuilder sBuilder = new StringBuilder(types.size()+3);
sBuilder.append("(");
for (CharSequence type: types){
sBuilder.append(type);
}
sBuilder.append(")");
sBuilder.append(ref.getReturnType());
description = sBuilder.toString();
}
示例4: getSootMethodRef
import org.jf.dexlib2.iface.reference.MethodReference; //导入方法依赖的package包/类
/**
* Return the SootMethodRef for the invoked method.
*
* @param invType The invocation type
*/
private SootMethodRef getSootMethodRef(InvocationType invType) {
if (methodRef != null)
return methodRef;
MethodReference mItem = (MethodReference) ((ReferenceInstruction) instruction).getReference();
String tItem = mItem.getDefiningClass();
String className = tItem;
Debug.printDbg("tItem: ", tItem ," class name: ", className);
if (className.startsWith("[")) {
className = "java.lang.Object";
} else {
className = dottedClassName (tItem);
}
SootClass sc = SootResolver.v().makeClassRef(className);
if (invType == InvocationType.Interface && sc.isPhantom())
sc.setModifiers(sc.getModifiers() | Modifier.INTERFACE);
String methodName = mItem.getName();
Type returnType = DexType.toSoot(mItem.getReturnType());
List<Type> parameterTypes = new ArrayList<Type>();
List<? extends CharSequence> paramTypes = mItem.getParameterTypes();
if (paramTypes != null)
for (CharSequence type : paramTypes)
parameterTypes.add(DexType.toSoot(type.toString()));
Debug.printDbg("sc: ", sc);
Debug.printDbg("methodName: ", methodName);
Debug.printDbg("parameterTypes: ");
for (Type t: parameterTypes)
Debug.printDbg(" t: ", t);
Debug.printDbg("returnType: ", returnType);
Debug.printDbg("isStatic: ", invType == InvocationType.Static);
methodRef = Scene.v().makeMethodRef(sc, methodName, parameterTypes, returnType,
invType == InvocationType.Static);
return methodRef;
}
示例5: of
import org.jf.dexlib2.iface.reference.MethodReference; //导入方法依赖的package包/类
public static ImmutableMethodReference of( MethodReference methodReference) {
if (methodReference instanceof ImmutableMethodReference) {
return (ImmutableMethodReference)methodReference;
}
return new ImmutableMethodReference(
methodReference.getDefiningClass(),
methodReference.getName(),
methodReference.getParameterTypes(),
methodReference.getReturnType());
}
示例6: getName
import org.jf.dexlib2.iface.reference.MethodReference; //导入方法依赖的package包/类
@Nonnull @Override public CharSequence getName(@Nonnull MethodReference methodReference) {
return methodReference.getName();
}
示例7: ReflectionEntity
import org.jf.dexlib2.iface.reference.MethodReference; //导入方法依赖的package包/类
public ReflectionEntity(MethodReference ref) {
className = ref.getDefiningClass();
methodName = ref.getName();
}
示例8: getName
import org.jf.dexlib2.iface.reference.MethodReference; //导入方法依赖的package包/类
@Override public CharSequence getName( MethodReference methodReference) {
return methodReference.getName();
}