package http.resource;
import nebula.lang.NebulaClassLoader;
import org.objectweb.asm.ClassWriter;
import org.objectweb.asm.FieldVisitor;
import org.objectweb.asm.Label;
import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.Opcodes;
import org.objectweb.asm.Type;
public class ActionComplier_field_td__nebula_lang_Field_1Dump implements Opcodes {
public static byte[] dump() throws Exception {
ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_FRAMES | ClassWriter.COMPUTE_MAXS);
FieldVisitor fv;
MethodVisitor mv;
cw.visit(V1_6, ACC_PUBLIC + ACC_SUPER, "ActionComplier_field_td__nebula_lang_Field_1", null, "java/lang/Object",
new String[] { "nebula/simpletemplate/Action" });
{
fv = cw.visitField(ACC_PRIVATE, "temp_0_0", "Lnebula/simpletemplate/Action;", null, null);
fv.visitEnd();
}
{
fv = cw.visitField(ACC_PRIVATE, "clz_0_0", "Ljava/lang/Class;", "Ljava/lang/Class<*>;", null);
fv.visitEnd();
}
{
mv = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null);
mv.visitCode();
mv.visitVarInsn(ALOAD, 0);
mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>", "()V");
mv.visitInsn(RETURN);
mv.visitMaxs(1, 1);
mv.visitEnd();
}
{
int TMP_SB = 5;
int tmpSubArgv = 6;
mv = cw.visitMethod(ACC_PUBLIC, "exec",
"(Lnebula/simpletemplate/STGroup;Lnebula/simpletemplate/TemplateImpl;Ljava/lang/StringBuilder;[Ljava/lang/Object;)V", null,
new String[] { "java/io/IOException" });
mv.visitCode();
mv.visitVarInsn(ALOAD, 3);
{ // tmpSb = new Stringbuilder
mv.visitTypeInsn(NEW, "java/lang/StringBuilder");
mv.visitInsn(DUP);
mv.visitMethodInsn(INVOKESPECIAL, "java/lang/StringBuilder", "<init>", "()V");
mv.visitVarInsn(ASTORE, TMP_SB);
}
{// tmpSubArgv = new Object[]
mv.visitIntInsn(BIPUSH, 1);
mv.visitTypeInsn(ANEWARRAY, "java/lang/Object");
mv.visitInsn(DUP);
mv.visitIntInsn(BIPUSH, 0);
mv.visitVarInsn(ALOAD, 4);
mv.visitInsn(ICONST_0);
mv.visitInsn(AALOAD);
mv.visitInsn(AASTORE);
mv.visitVarInsn(ASTORE, tmpSubArgv);
}
mv.visitVarInsn(ALOAD, 4);
mv.visitVarInsn(ALOAD, tmpSubArgv);
mv.visitVarInsn(ASTORE, 4);
mv.visitVarInsn(ALOAD, 3);
mv.visitVarInsn(ALOAD, TMP_SB);
mv.visitVarInsn(ASTORE, 3);
{
int TMP_sub_sub_ARGV = 7;
int tmpList= 9;
mv.visitIntInsn(BIPUSH, 1);
mv.visitTypeInsn(ANEWARRAY, "java/lang/Object");
mv.visitInsn(DUP);
mv.visitIntInsn(BIPUSH, 0);
mv.visitVarInsn(ALOAD, 4);
mv.visitInsn(ICONST_0);
mv.visitInsn(AALOAD);
mv.visitTypeInsn(CHECKCAST, "nebula/lang/Field");
mv.visitMethodInsn(INVOKEVIRTUAL, "nebula/lang/Field", "getType", "()Lnebula/lang/Type;");
mv.visitTypeInsn(CHECKCAST, "nebula/lang/Type");
mv.visitMethodInsn(INVOKEINTERFACE, "nebula/lang/Type", "getFields", "()Ljava/util/List;");
mv.visitInsn(AASTORE);
mv.visitVarInsn(ASTORE, TMP_sub_sub_ARGV);
mv.visitVarInsn(ALOAD, TMP_sub_sub_ARGV);
mv.visitIntInsn(BIPUSH, 0);
mv.visitInsn(AALOAD);
mv.visitMethodInsn(INVOKEINTERFACE, "java/util/List", "iterator", "()Ljava/util/Iterator;");
mv.visitVarInsn(ASTORE, tmpList);
Label l0 = new Label();
mv.visitJumpInsn(GOTO, l0);
Label l1 = new Label();
mv.visitLabel(l1);
mv.visitVarInsn(ALOAD, TMP_sub_sub_ARGV);
mv.visitIntInsn(BIPUSH, 0);
mv.visitVarInsn(ALOAD, tmpList);
mv.visitMethodInsn(INVOKEINTERFACE, "java/util/Iterator", "next", "()Ljava/lang/Object;");
mv.visitTypeInsn(CHECKCAST, "java/lang/Object");
mv.visitInsn(AASTORE);
mv.visitVarInsn(ALOAD, TMP_sub_sub_ARGV);
mv.visitIntInsn(BIPUSH, 0);
mv.visitInsn(AALOAD);
mv.visitVarInsn(ASTORE, 7);
mv.visitVarInsn(ALOAD, 7);
Label l2 = new Label();
mv.visitJumpInsn(IFNULL, l2);
mv.visitVarInsn(ALOAD, 0);
mv.visitFieldInsn(GETFIELD, "ActionComplier_field_td__nebula_lang_Field_1", "clz_0_0", "Ljava/lang/Class;");
mv.visitVarInsn(ALOAD, 7);
mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Object", "getClass", "()Ljava/lang/Class;");
Label l3 = new Label();
mv.visitJumpInsn(IF_ACMPNE, l3);
{
mv.visitVarInsn(ALOAD, 0);
mv.visitFieldInsn(GETFIELD, "ActionComplier_field_td__nebula_lang_Field_1", "temp_0_0", "Lnebula/simpletemplate/Action;");
mv.visitVarInsn(ALOAD, 1);
mv.visitVarInsn(ALOAD, 2);
mv.visitVarInsn(ALOAD, 3);
mv.visitVarInsn(ALOAD, TMP_sub_sub_ARGV);
mv.visitMethodInsn(INVOKEINTERFACE, "nebula/simpletemplate/Action", "exec",
"(Lnebula/simpletemplate/STGroup;Lnebula/simpletemplate/TemplateImpl;Ljava/lang/StringBuilder;[Ljava/lang/Object;)V");
}
mv.visitJumpInsn(GOTO, l0);
mv.visitLabel(l3);
mv.visitVarInsn(ALOAD, 0);
mv.visitVarInsn(ALOAD, 7);
mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Object", "getClass", "()Ljava/lang/Class;");
mv.visitFieldInsn(PUTFIELD, "ActionComplier_field_td__nebula_lang_Field_1", "clz_0_0", "Ljava/lang/Class;");
mv.visitVarInsn(ALOAD, 0);
mv.visitVarInsn(ALOAD, 2);
mv.visitFieldInsn(GETFIELD, "nebula/simpletemplate/TemplateImpl", "implicitlyDefinedTemplates", "Ljava/util/List;");
mv.visitIntInsn(BIPUSH, 0);
mv.visitMethodInsn(INVOKEINTERFACE, "java/util/List", "get", "(I)Ljava/lang/Object;");
mv.visitTypeInsn(CHECKCAST, "nebula/simpletemplate/TemplateImpl");
mv.visitVarInsn(ALOAD, 7);
mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Object", "getClass", "()Ljava/lang/Class;");
mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Class", "getName", "()Ljava/lang/String;");
mv.visitVarInsn(ALOAD, TMP_sub_sub_ARGV);
mv.visitMethodInsn(INVOKEVIRTUAL, "nebula/simpletemplate/TemplateImpl", "get",
"(Ljava/lang/String;[Ljava/lang/Object;)Lnebula/simpletemplate/Action;");
mv.visitFieldInsn(PUTFIELD, "ActionComplier_field_td__nebula_lang_Field_1", "temp_0_0", "Lnebula/simpletemplate/Action;");
{
mv.visitVarInsn(ALOAD, 0);
mv.visitFieldInsn(GETFIELD, "ActionComplier_field_td__nebula_lang_Field_1", "temp_0_0", "Lnebula/simpletemplate/Action;");
mv.visitVarInsn(ALOAD, 1);
mv.visitVarInsn(ALOAD, 2);
mv.visitVarInsn(ALOAD, 3);
mv.visitVarInsn(ALOAD, TMP_sub_sub_ARGV);
mv.visitMethodInsn(INVOKEINTERFACE, "nebula/simpletemplate/Action", "exec",
"(Lnebula/simpletemplate/STGroup;Lnebula/simpletemplate/TemplateImpl;Ljava/lang/StringBuilder;[Ljava/lang/Object;)V");
}
mv.visitJumpInsn(GOTO, l0);
mv.visitLabel(l2);
mv.visitVarInsn(ALOAD, 0);
mv.visitFieldInsn(GETFIELD, "ActionComplier_field_td__nebula_lang_Field_1", "clz_0_0", "Ljava/lang/Class;");
mv.visitLdcInsn(Type.getType("Ljava/lang/Void;"));
Label l4 = new Label();
mv.visitJumpInsn(IF_ACMPNE, l4);
{
mv.visitVarInsn(ALOAD, 0);
mv.visitFieldInsn(GETFIELD, "ActionComplier_field_td__nebula_lang_Field_1", "temp_0_0", "Lnebula/simpletemplate/Action;");
mv.visitVarInsn(ALOAD, 1);
mv.visitVarInsn(ALOAD, 2);
mv.visitVarInsn(ALOAD, 3);
mv.visitVarInsn(ALOAD, TMP_sub_sub_ARGV);
mv.visitMethodInsn(INVOKEINTERFACE, "nebula/simpletemplate/Action", "exec",
"(Lnebula/simpletemplate/STGroup;Lnebula/simpletemplate/TemplateImpl;Ljava/lang/StringBuilder;[Ljava/lang/Object;)V");
}
mv.visitJumpInsn(GOTO, l0);
mv.visitLabel(l4);
mv.visitVarInsn(ALOAD, 0);
mv.visitLdcInsn(Type.getType("Ljava/lang/Void;"));
mv.visitFieldInsn(PUTFIELD, "ActionComplier_field_td__nebula_lang_Field_1", "clz_0_0", "Ljava/lang/Class;");
mv.visitVarInsn(ALOAD, 0);
mv.visitVarInsn(ALOAD, 2);
mv.visitFieldInsn(GETFIELD, "nebula/simpletemplate/TemplateImpl", "implicitlyDefinedTemplates", "Ljava/util/List;");
mv.visitIntInsn(BIPUSH, 0);
mv.visitMethodInsn(INVOKEINTERFACE, "java/util/List", "get", "(I)Ljava/lang/Object;");
mv.visitTypeInsn(CHECKCAST, "nebula/simpletemplate/TemplateImpl");
mv.visitLdcInsn(Type.getType("Ljava/lang/Void;"));
mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Class", "getName", "()Ljava/lang/String;");
mv.visitVarInsn(ALOAD, TMP_sub_sub_ARGV);
mv.visitMethodInsn(INVOKEVIRTUAL, "nebula/simpletemplate/TemplateImpl", "get",
"(Ljava/lang/String;[Ljava/lang/Object;)Lnebula/simpletemplate/Action;");
mv.visitFieldInsn(PUTFIELD, "ActionComplier_field_td__nebula_lang_Field_1", "temp_0_0", "Lnebula/simpletemplate/Action;");
{
mv.visitVarInsn(ALOAD, 0);
mv.visitFieldInsn(GETFIELD, "ActionComplier_field_td__nebula_lang_Field_1", "temp_0_0", "Lnebula/simpletemplate/Action;");
mv.visitVarInsn(ALOAD, 1);
mv.visitVarInsn(ALOAD, 2);
mv.visitVarInsn(ALOAD, 3);
mv.visitVarInsn(ALOAD, TMP_sub_sub_ARGV);
mv.visitMethodInsn(INVOKEINTERFACE, "nebula/simpletemplate/Action", "exec",
"(Lnebula/simpletemplate/STGroup;Lnebula/simpletemplate/TemplateImpl;Ljava/lang/StringBuilder;[Ljava/lang/Object;)V");
}
mv.visitLabel(l0);
mv.visitVarInsn(ALOAD, tmpList);
mv.visitMethodInsn(INVOKEINTERFACE, "java/util/Iterator", "hasNext", "()Z");
mv.visitJumpInsn(IFNE, l1);
}
mv.visitVarInsn(ASTORE, 3);
mv.visitVarInsn(ASTORE, 4);
mv.visitVarInsn(ALOAD, TMP_SB);
mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/StringBuilder", "toString", "()Ljava/lang/String;");
mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/StringBuilder", "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;");
mv.visitInsn(POP);
mv.visitInsn(RETURN);
mv.visitMaxs(8, 8);
mv.visitEnd();
}
cw.visitEnd();
return cw.toByteArray();
}
public static void main(String[] args) throws Exception {
Class<?> clz = NebulaClassLoader.defineClass("ActionComplier_field_td__nebula_lang_Field_1", ActionComplier_field_td__nebula_lang_Field_1Dump.dump());
clz.newInstance();
}
}