本文整理汇总了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();
}
示例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();
}
示例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();
}
示例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();
}
示例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();
}