• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java ByteCode类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java TileEntityRenderer类代码示例发布时间:2022-05-21
下一篇:
Java SyncTaskExecutor类代码示例发布时间:2022-05-21
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap