当前位置: 首页>>代码示例>>Java>>正文


Java Opcodes.ACC_VARARGS属性代码示例

本文整理汇总了Java中org.objectweb.asm.Opcodes.ACC_VARARGS属性的典型用法代码示例。如果您正苦于以下问题:Java Opcodes.ACC_VARARGS属性的具体用法?Java Opcodes.ACC_VARARGS怎么用?Java Opcodes.ACC_VARARGS使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在org.objectweb.asm.Opcodes的用法示例。


在下文中一共展示了Opcodes.ACC_VARARGS属性的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getScore

@Override
public double getScore(MethodInstance methodA, MethodInstance methodB, ClassEnvironment env) {
	if (!checkAsmNodes(methodA, methodB)) return compareAsmNodes(methodA, methodB);

	int mask = (Opcodes.ACC_PUBLIC | Opcodes.ACC_PROTECTED | Opcodes.ACC_PRIVATE) | Opcodes.ACC_FINAL | Opcodes.ACC_SYNCHRONIZED | Opcodes.ACC_BRIDGE | Opcodes.ACC_VARARGS | Opcodes.ACC_STRICT | Opcodes.ACC_SYNTHETIC;
	int resultA = methodA.getAsmNode().access & mask;
	int resultB = methodB.getAsmNode().access & mask;

	return 1 - Integer.bitCount(resultA ^ resultB) / 8.;
}
 
开发者ID:sfPlayer1,项目名称:Matcher,代码行数:10,代码来源:MethodClassifier.java

示例2: resolveSignaturePolymorphicMethod

private MethodInstance resolveSignaturePolymorphicMethod(String name) {
	if (id.equals("Ljava/lang/invoke/MethodHandle;")) { // check for signature polymorphic method - jvms-2.9
		MethodInstance ret = getMethod(name, "([Ljava/lang/Object;)Ljava/lang/Object;");
		final int reqFlags = Opcodes.ACC_VARARGS | Opcodes.ACC_NATIVE;

		if (ret != null && (ret.asmNode == null || (ret.asmNode.access & reqFlags) == reqFlags)) {
			return ret;
		}
	}

	return null;
}
 
开发者ID:sfPlayer1,项目名称:Matcher,代码行数:12,代码来源:ClassInstance.java

示例3: visitMethod

@Override
public Textifier visitMethod(final int access, final String name,
        final String desc, final String signature, final String[] exceptions) {
    buf.setLength(0);
    buf.append('\n');
    if ((access & Opcodes.ACC_DEPRECATED) != 0) {
        buf.append(tab).append("// DEPRECATED\n");
    }
    buf.append(tab).append("// access flags 0x")
            .append(Integer.toHexString(access).toUpperCase()).append('\n');

    if (signature != null) {
        buf.append(tab);
        appendDescriptor(METHOD_SIGNATURE, signature);

        TraceSignatureVisitor v = new TraceSignatureVisitor(0);
        SignatureReader r = new SignatureReader(signature);
        r.accept(v);
        String genericDecl = v.getDeclaration();
        String genericReturn = v.getReturnType();
        String genericExceptions = v.getExceptions();

        buf.append(tab).append("// declaration: ").append(genericReturn)
                .append(' ').append(name).append(genericDecl);
        if (genericExceptions != null) {
            buf.append(" throws ").append(genericExceptions);
        }
        buf.append('\n');
    }

    buf.append(tab);
    appendAccess(access & ~Opcodes.ACC_VOLATILE);
    if ((access & Opcodes.ACC_NATIVE) != 0) {
        buf.append("native ");
    }
    if ((access & Opcodes.ACC_VARARGS) != 0) {
        buf.append("varargs ");
    }
    if ((access & Opcodes.ACC_BRIDGE) != 0) {
        buf.append("bridge ");
    }
    if ((this.access & Opcodes.ACC_INTERFACE) != 0
            && (access & Opcodes.ACC_ABSTRACT) == 0
            && (access & Opcodes.ACC_STATIC) == 0) {
        buf.append("default ");
    }

    buf.append(name);
    appendDescriptor(METHOD_DESCRIPTOR, desc);
    if (exceptions != null && exceptions.length > 0) {
        buf.append(" throws ");
        for (int i = 0; i < exceptions.length; ++i) {
            appendDescriptor(INTERNAL_NAME, exceptions[i]);
            buf.append(' ');
        }
    }

    buf.append('\n');
    text.add(buf.toString());

    Textifier t = createTextifier();
    text.add(t.getText());
    return t;
}
 
开发者ID:ItzSomebody,项目名称:DirectLeaks-AntiReleak-Remover,代码行数:64,代码来源:Textifier.java


注:本文中的org.objectweb.asm.Opcodes.ACC_VARARGS属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。