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


Java ByteCode类代码示例

本文整理汇总了Java中org.mozilla.classfile.ByteCode的典型用法代码示例。如果您正苦于以下问题:Java ByteCode类的具体用法?Java ByteCode怎么用?Java ByteCode使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: mozillaClassFileHelloWorld

import org.mozilla.classfile.ByteCode; //导入依赖的package包/类
static byte[] mozillaClassFileHelloWorld() {
    ClassFileWriter c = new ClassFileWriter("HelloWorld",
            "java/lang/Object", "HelloWorld.java");

    c.startMethod("<init>", "()V", ClassFileWriter.ACC_PUBLIC);
    c.addLoadThis();
    c.addInvoke(ByteCode.INVOKESPECIAL, "java/lang/Object", "<init>", "()V");
    c.add(ByteCode.RETURN);
    c.stopMethod((short) 1);

    c.startMethod(
            "main",
            "()V",
            (short) (ClassFileWriter.ACC_PUBLIC | ClassFileWriter.ACC_STATIC));
    c.add(ByteCode.GETSTATIC, "java/lang/System", "out",
            "Ljava/io/PrintStream;");
    c.addPush("Hello world!");
    c.addInvoke(ByteCode.INVOKEVIRTUAL, "java/io/PrintStream", "println",
            "(Ljava/lang/String;)V");
    c.add(ByteCode.RETURN);
    c.stopMethod((short) 1);

    return c.toByteArray();
}
 
开发者ID:lrytz,项目名称:asm-legacy-svn-clone,代码行数:25,代码来源:GenPerfTest.java

示例2: loadBytecode

import org.mozilla.classfile.ByteCode; //导入依赖的package包/类
private static byte[] loadBytecode()
{
    String secureCallerClassName = SecureCaller.class.getName();
    ClassFileWriter cfw = new ClassFileWriter(
            secureCallerClassName + "Impl", secureCallerClassName,
            "<generated>");
    cfw.startMethod("<init>", "()V", ClassFileWriter.ACC_PUBLIC);
    cfw.addALoad(0);
    cfw.addInvoke(ByteCode.INVOKESPECIAL, secureCallerClassName,
            "<init>", "()V");
    cfw.add(ByteCode.RETURN);
    cfw.stopMethod((short)1);
    String callableCallSig =
        "Lorg/mozilla/javascript/Context;" +
        "Lorg/mozilla/javascript/Scriptable;" +
        "Lorg/mozilla/javascript/Scriptable;" +
        "[Ljava/lang/Object;)Ljava/lang/Object;";

    cfw.startMethod("call",
            "(Lorg/mozilla/javascript/Callable;" + callableCallSig,
            (short)(ClassFileWriter.ACC_PUBLIC
                    | ClassFileWriter.ACC_FINAL));
    for(int i = 1; i < 6; ++i) {
        cfw.addALoad(i);
    }
    cfw.addInvoke(ByteCode.INVOKEINTERFACE,
            "org/mozilla/javascript/Callable", "call",
            "(" + callableCallSig);
    cfw.add(ByteCode.ARETURN);
    cfw.stopMethod((short)6);
    return cfw.toByteArray();
}
 
开发者ID:MikaGuraN,项目名称:HL4A,代码行数:33,代码来源:PolicySecurityController.java

示例3: loadBytecode

import org.mozilla.classfile.ByteCode; //导入依赖的package包/类
private static byte[] loadBytecode()
{
    String secureCallerClassName = SecureCaller.class.getName();
    ClassFileWriter cfw = new ClassFileWriter(
            secureCallerClassName + "Impl", secureCallerClassName, 
            "<generated>");
    cfw.startMethod("<init>", "()V", ClassFileWriter.ACC_PUBLIC);
    cfw.addALoad(0);
    cfw.addInvoke(ByteCode.INVOKESPECIAL, secureCallerClassName, 
            "<init>", "()V");
    cfw.add(ByteCode.RETURN);
    cfw.stopMethod((short)1);
    String callableCallSig = 
        "Lorg/mozilla/javascript/Context;" +
        "Lorg/mozilla/javascript/Scriptable;" +
        "Lorg/mozilla/javascript/Scriptable;" +
        "[Ljava/lang/Object;)Ljava/lang/Object;";
    
    cfw.startMethod("call",
            "(Lorg/mozilla/javascript/Callable;" + callableCallSig,
            (short)(ClassFileWriter.ACC_PUBLIC
                    | ClassFileWriter.ACC_FINAL));
    for(int i = 1; i < 6; ++i) {
        cfw.addALoad(i);
    }
    cfw.addInvoke(ByteCode.INVOKEINTERFACE, 
            "org/mozilla/javascript/Callable", "call", 
            "(" + callableCallSig);
    cfw.add(ByteCode.ARETURN);
    cfw.stopMethod((short)6);
    return cfw.toByteArray();
}
 
开发者ID:middle2tw,项目名称:whackpad,代码行数:33,代码来源:PolicySecurityController.java

示例4: loadBytecode

import org.mozilla.classfile.ByteCode; //导入依赖的package包/类
private static byte[] loadBytecode()
{
    String secureCallerClassName = SecureCaller.class.getName();
    ClassFileWriter cfw = new ClassFileWriter(
            secureCallerClassName + "Impl", secureCallerClassName,
            "<generated>");
    cfw.startMethod("<init>", "()V", ClassFileWriter.ACC_PUBLIC);
    cfw.addALoad(0);
    cfw.addInvoke(ByteCode.INVOKESPECIAL, secureCallerClassName,
            "<init>", "()V");
    cfw.add(ByteCode.RETURN);
    cfw.stopMethod((short)1);
    String callableCallSig =
        "Lorg.mozilla.javascript.orginal/Context;" +
        "Lorg.mozilla.javascript.orginal/Scriptable;" +
        "Lorg.mozilla.javascript.orginal/Scriptable;" +
        "[Ljava/lang/Object;)Ljava/lang/Object;";

    cfw.startMethod("call",
            "(Lorg.mozilla.javascript.orginal/Callable;" + callableCallSig,
            (short)(ClassFileWriter.ACC_PUBLIC
                    | ClassFileWriter.ACC_FINAL));
    for(int i = 1; i < 6; ++i) {
        cfw.addALoad(i);
    }
    cfw.addInvoke(ByteCode.INVOKEINTERFACE,
            "org.mozilla.javascript.orginal/Callable", "call",
            "(" + callableCallSig);
    cfw.add(ByteCode.ARETURN);
    cfw.stopMethod((short)6);
    return cfw.toByteArray();
}
 
开发者ID:WolframG,项目名称:Rhino-Prov-Mod,代码行数:33,代码来源:PolicySecurityController.java

示例5: mozillaClassFileHelloWorld

import org.mozilla.classfile.ByteCode; //导入依赖的package包/类
static byte[] mozillaClassFileHelloWorld() {
    ClassFileWriter c = new ClassFileWriter("HelloWorld",
            "java/lang/Object",
            "HelloWorld.java");

    c.startMethod("<init>", "()V", ClassFileWriter.ACC_PUBLIC);
    c.addLoadThis();
    c.addInvoke(ByteCode.INVOKESPECIAL, "java/lang/Object", "<init>", "()V");
    c.add(ByteCode.RETURN);
    c.stopMethod((short) 1);

    c.startMethod("main",
            "()V",
            (short) (ClassFileWriter.ACC_PUBLIC | ClassFileWriter.ACC_STATIC));
    c.add(ByteCode.GETSTATIC,
            "java/lang/System",
            "out",
            "Ljava/io/PrintStream;");
    c.addPush("Hello world!");
    c.addInvoke(ByteCode.INVOKEVIRTUAL,
            "java/io/PrintStream",
            "println",
            "(Ljava/lang/String;)V");
    c.add(ByteCode.RETURN);
    c.stopMethod((short) 1);

    return c.toByteArray();
}
 
开发者ID:nxmatic,项目名称:objectweb-asm-4.0,代码行数:29,代码来源:GenPerfTest.java


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