本文整理汇总了Java中org.apache.bcel.generic.Type.getSignature方法的典型用法代码示例。如果您正苦于以下问题:Java Type.getSignature方法的具体用法?Java Type.getSignature怎么用?Java Type.getSignature使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.bcel.generic.Type
的用法示例。
在下文中一共展示了Type.getSignature方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getPriorityForAssumingCompatibleWithArray
import org.apache.bcel.generic.Type; //导入方法依赖的package包/类
private static IncompatibleTypes getPriorityForAssumingCompatibleWithArray(Type rhsType) {
if (rhsType.equals(Type.OBJECT))
return ARRAY_AND_OBJECT;
String sig = rhsType.getSignature();
if (sig.equals("Ljava/io/Serializable;") || sig.equals("Ljava/lang/Cloneable;"))
return SEEMS_OK;
return ARRAY_AND_NON_ARRAY;
}
示例2: TypeAnnotation
import org.apache.bcel.generic.Type; //导入方法依赖的package包/类
public TypeAnnotation(Type objectType, String roleDescription) {
this(objectType.getSignature(), roleDescription);
if (objectType instanceof GenericObjectType) {
GenericObjectType genericObjectType = (GenericObjectType) objectType;
if (genericObjectType.getTypeCategory() == GenericUtilities.TypeCategory.PARAMETERIZED)
typeParameters = genericObjectType.getGenericParametersAsString();
}
}
示例3: get_invoke_sig
import org.apache.bcel.generic.Type; //导入方法依赖的package包/类
private static String get_invoke_sig(InvokeInstruction invoke, ConstantPoolGen cpgen) {
ReferenceType ctype = invoke.getReferenceType(cpgen);
String cname = ctype.toString();
String mname = invoke.getName(cpgen);
Type[] arg_t = invoke.getArgumentTypes(cpgen);
if ((ctype instanceof ObjectType) && !(cname.startsWith("com.google") || cname.startsWith("java") || cname.startsWith("org.") || cname.startsWith("android."))) { // we only care about user-defined class
JavaClass jcls = Util.loadJavaClass(Config.INPUT_DIR + cname.replace('.', '/') + ".class");
ClassGen cgen = new ClassGen(jcls);
String msig = "(";
for (Type t : arg_t) {
msig += t.getSignature();
}
msig += ")" + invoke.getReturnType(cpgen).getSignature();
// Util.log(cname + "." + mname + ":" + msig);
Method mthd = cgen.containsMethod(mname, msig);
// if (mthd == null) {
// Util.log("null");
// } else {
// Util.log(mthd.toString());
// }
// only needed for matching "native"
// if (mthd != null)
// return mthd.toString();
}
String isig = cname + "." + mname + "(";
if (arg_t.length > 0) {
isig += arg_t[0];
for (int i = 1; i < arg_t.length; i++) {
isig += "," + arg_t[i];
}
}
isig += ")";
// Util.log(isig);
return isig;
}