Groovyc (Legacy)
Compiled from "PersonScript.groovy"
public class PersonScript extends groovy.lang.Script {
public static transient boolean __$stMC;
public PersonScript();
Code:
0: aload_0
1: invokespecial #13 // Method groovy/lang/Script."<init>":()V
4: invokestatic #17 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
7: astore_1
8: return
public PersonScript(groovy.lang.Binding);
Code:
0: invokestatic #17 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_2
4: aload_0
5: aload_1
6: invokespecial #22 // Method groovy/lang/Script."<init>":(Lgroovy/lang/Binding;)V
9: return
public static void main(java.lang.String...);
Code:
0: invokestatic #17 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_1
4: aload_1
5: ldc #27 // int 0
7: aaload
8: ldc #29 // class org/codehaus/groovy/runtime/InvokerHelper
10: ldc #2 // class PersonScript
12: aload_0
13: invokeinterface #35, 4 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
18: pop
19: return
public java.lang.Object run();
Code:
0: invokestatic #17 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_1
4: aload_1
5: ldc #40 // int 1
7: aaload
8: ldc #42 // class Person
10: invokeinterface #46, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callConstructor:(Ljava/lang/Object;)Ljava/lang/Object;
15: ldc #42 // class Person
17: invokestatic #52 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.castToType:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
20: checkcast #42 // class Person
23: astore_2
24: aload_2
25: pop
26: ldc #54 // String Jenn
28: astore_3
29: aload_3
30: ldc #2 // class PersonScript
32: aload_2
33: ldc #56 // String first
35: checkcast #58 // class java/lang/String
38: invokestatic #62 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.setGroovyObjectProperty:(Ljava/lang/Object;Ljava/lang/Class;Lgroovy/lang/GroovyObject;Ljava/lang/String;)V
41: aload_3
42: pop
43: ldc #64 // String Strater
45: astore 4
47: aload 4
49: ldc #2 // class PersonScript
51: aload_2
52: ldc #66 // String last
54: checkcast #58 // class java/lang/String
57: invokestatic #62 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.setGroovyObjectProperty:(Ljava/lang/Object;Ljava/lang/Class;Lgroovy/lang/GroovyObject;Ljava/lang/String;)V
60: aload 4
62: areturn
63: aconst_null
64: areturn
protected groovy.lang.MetaClass $getStaticMetaClass();
Code:
0: aload_0
1: invokevirtual #76 // Method java/lang/Object.getClass:()Ljava/lang/Class;
4: ldc #2 // class PersonScript
6: if_acmpeq 14
9: aload_0
10: invokestatic #80 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
13: areturn
14: getstatic #82 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
17: astore_1
18: aload_1
19: ifnonnull 34
22: aload_0
23: invokevirtual #76 // Method java/lang/Object.getClass:()Ljava/lang/Class;
26: invokestatic #88 // Method org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
29: dup
30: astore_1
31: putstatic #82 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
34: aload_1
35: invokevirtual #91 // Method org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
38: areturn
}
Invoke Dynamic
Compiled from "PersonScript.groovy"
public class PersonScript extends groovy.lang.Script {
public static transient boolean __$stMC;
public PersonScript();
Code:
0: aload_0
1: invokespecial #13 // Method groovy/lang/Script."<init>":()V
4: return
public PersonScript(groovy.lang.Binding);
Code:
0: aload_0
1: aload_1
2: invokespecial #18 // Method groovy/lang/Script."<init>":(Lgroovy/lang/Binding;)V
5: return
public static void main(java.lang.String...);
Code:
0: ldc #24 // class org/codehaus/groovy/runtime/InvokerHelper
2: ldc #2 // class PersonScript
4: aload_0
5: invokedynamic #38, 0 // InvokeDynamic #0:invoke:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/String;)Ljava/lang/Object;
10: pop
11: return
public java.lang.Object run();
Code:
0: ldc #44 // class Person
2: invokedynamic #49, 0 // InvokeDynamic #1:init:(Ljava/lang/Class;)Ljava/lang/Object;
7: invokedynamic #55, 0 // InvokeDynamic #2:cast:(Ljava/lang/Object;)LPerson;
12: astore_1
13: aload_1
14: pop
15: ldc #57 // String Jenn
17: astore_2
18: aload_2
19: ldc #2 // class PersonScript
21: aload_1
22: ldc #59 // String first
24: checkcast #61 // class java/lang/String
27: invokestatic #67 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.setGroovyObjectProperty:(Ljava/lang/Object;Ljava/lang/Class;Lgroovy/lang/GroovyObject;Ljava/lang/String;)V
30: aload_2
31: pop
32: ldc #69 // String Strater
34: astore_3
35: aload_3
36: ldc #2 // class PersonScript
38: aload_1
39: ldc #71 // String last
41: checkcast #61 // class java/lang/String
44: invokestatic #67 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.setGroovyObjectProperty:(Ljava/lang/Object;Ljava/lang/Class;Lgroovy/lang/GroovyObject;Ljava/lang/String;)V
47: aload_3
48: areturn
49: nop
50: athrow
protected groovy.lang.MetaClass $getStaticMetaClass();
Code:
0: aload_0
1: invokevirtual #83 // Method java/lang/Object.getClass:()Ljava/lang/Class;
4: ldc #2 // class PersonScript
6: if_acmpeq 14
9: aload_0
10: invokestatic #87 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
13: areturn
14: getstatic #89 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
17: astore_1
18: aload_1
19: ifnonnull 34
22: aload_0
23: invokevirtual #83 // Method java/lang/Object.getClass:()Ljava/lang/Class;
26: invokestatic #95 // Method org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
29: dup
30: astore_1
31: putstatic #89 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
34: aload_1
35: invokevirtual #98 // Method org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
38: areturn
}
Static Compilation
Compiled from "PersonScript.groovy"
public class PersonScript extends groovy.lang.Script {
public static transient boolean __$stMC;
public PersonScript();
Code:
0: aload_0
1: invokespecial #13 // Method groovy/lang/Script."<init>":()V
4: return
public PersonScript(groovy.lang.Binding);
Code:
0: aload_0
1: aload_1
2: invokespecial #18 // Method groovy/lang/Script."<init>":(Lgroovy/lang/Binding;)V
5: return
public static void main(java.lang.String...);
Code:
0: ldc #2 // class PersonScript
2: aload_0
3: invokestatic #28 // Method org/codehaus/groovy/runtime/InvokerHelper.runScript:(Ljava/lang/Class;[Ljava/lang/String;)Ljava/lang/Object;
6: pop
7: return
public java.lang.Object run();
Code:
0: new #34 // class Person
3: dup
4: invokespecial #35 // Method Person."<init>":()V
7: astore_1
8: aload_1
9: pop
10: ldc #37 // String Jenn
12: dup
13: astore_2
14: aload_1
15: aload_2
16: invokevirtual #41 // Method Person.setFirst:(Ljava/lang/String;)V
19: aconst_null
20: pop
21: pop
22: ldc #43 // String Strater
24: dup
25: astore_3
26: aload_1
27: aload_3
28: invokevirtual #46 // Method Person.setLast:(Ljava/lang/String;)V
31: aconst_null
32: pop
33: areturn
34: aconst_null
35: areturn
protected groovy.lang.MetaClass $getStaticMetaClass();
Code:
0: aload_0
1: invokevirtual #56 // Method java/lang/Object.getClass:()Ljava/lang/Class;
4: ldc #2 // class PersonScript
6: if_acmpeq 14
9: aload_0
10: invokestatic #62 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
13: areturn
14: getstatic #64 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
17: astore_1
18: aload_1
19: ifnonnull 34
22: aload_0
23: invokevirtual #56 // Method java/lang/Object.getClass:()Ljava/lang/Class;
26: invokestatic #70 // Method org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
29: dup
30: astore_1
31: putstatic #64 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
34: aload_1
35: invokevirtual #73 // Method org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
38: areturn
}
Groovyc (Legacy)
Compiled from "PersonScript.groovy"
public class Person implements groovy.lang.GroovyObject {
public static transient boolean __$stMC;
public Person();
Code:
0: aload_0
1: invokespecial #22 // Method java/lang/Object."<init>":()V
4: invokestatic #26 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
7: astore_1
8: aload_0
9: invokevirtual #30 // Method $getStaticMetaClass:()Lgroovy/lang/MetaClass;
12: astore_2
13: aload_2
14: aload_0
15: swap
16: putfield #32 // Field metaClass:Lgroovy/lang/MetaClass;
19: return
protected groovy.lang.MetaClass $getStaticMetaClass();
Code:
0: aload_0
1: invokevirtual #38 // Method java/lang/Object.getClass:()Ljava/lang/Class;
4: ldc #2 // class Person
6: if_acmpeq 14
9: aload_0
10: invokestatic #44 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
13: areturn
14: getstatic #46 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
17: astore_1
18: aload_1
19: ifnonnull 34
22: aload_0
23: invokevirtual #38 // Method java/lang/Object.getClass:()Ljava/lang/Class;
26: invokestatic #52 // Method org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
29: dup
30: astore_1
31: putstatic #46 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
34: aload_1
35: invokevirtual #55 // Method org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
38: areturn
public groovy.lang.MetaClass getMetaClass();
Code:
0: aload_0
1: getfield #32 // Field metaClass:Lgroovy/lang/MetaClass;
4: dup
5: ifnull 9
8: areturn
9: pop
10: aload_0
11: dup
12: invokevirtual #30 // Method $getStaticMetaClass:()Lgroovy/lang/MetaClass;
15: putfield #32 // Field metaClass:Lgroovy/lang/MetaClass;
18: aload_0
19: getfield #32 // Field metaClass:Lgroovy/lang/MetaClass;
22: areturn
public void setMetaClass(groovy.lang.MetaClass);
Code:
0: aload_0
1: aload_1
2: putfield #32 // Field metaClass:Lgroovy/lang/MetaClass;
5: return
public java.lang.Object invokeMethod(java.lang.String, java.lang.Object);
Code:
0: aload_0
1: invokevirtual #60 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: aload_2
7: invokeinterface #65, 4 // InterfaceMethod groovy/lang/MetaClass.invokeMethod:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
12: areturn
public java.lang.Object getProperty(java.lang.String);
Code:
0: aload_0
1: invokevirtual #60 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: invokeinterface #70, 3 // InterfaceMethod groovy/lang/MetaClass.getProperty:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
11: areturn
public void setProperty(java.lang.String, java.lang.Object);
Code:
0: aload_0
1: invokevirtual #60 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: aload_2
7: invokeinterface #75, 4 // InterfaceMethod groovy/lang/MetaClass.setProperty:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
12: return
public java.lang.String getFirst();
Code:
0: aload_0
1: getfield #79 // Field first:Ljava/lang/String;
4: areturn
public void setFirst(java.lang.String);
Code:
0: aload_0
1: aload_1
2: putfield #79 // Field first:Ljava/lang/String;
5: return
public java.lang.String getLast();
Code:
0: aload_0
1: getfield #84 // Field last:Ljava/lang/String;
4: areturn
public void setLast(java.lang.String);
Code:
0: aload_0
1: aload_1
2: putfield #84 // Field last:Ljava/lang/String;
5: return
}
Invoke Dynamic
Compiled from "PersonScript.groovy"
public class Person implements groovy.lang.GroovyObject {
public static transient boolean __$stMC;
public Person();
Code:
0: aload_0
1: invokespecial #20 // Method java/lang/Object."<init>":()V
4: aload_0
5: invokevirtual #24 // Method $getStaticMetaClass:()Lgroovy/lang/MetaClass;
8: astore_1
9: aload_1
10: aload_0
11: swap
12: putfield #26 // Field metaClass:Lgroovy/lang/MetaClass;
15: return
protected groovy.lang.MetaClass $getStaticMetaClass();
Code:
0: aload_0
1: invokevirtual #32 // Method java/lang/Object.getClass:()Ljava/lang/Class;
4: ldc #2 // class Person
6: if_acmpeq 14
9: aload_0
10: invokestatic #38 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
13: areturn
14: getstatic #40 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
17: astore_1
18: aload_1
19: ifnonnull 34
22: aload_0
23: invokevirtual #32 // Method java/lang/Object.getClass:()Ljava/lang/Class;
26: invokestatic #46 // Method org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
29: dup
30: astore_1
31: putstatic #40 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
34: aload_1
35: invokevirtual #49 // Method org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
38: areturn
public groovy.lang.MetaClass getMetaClass();
Code:
0: aload_0
1: getfield #26 // Field metaClass:Lgroovy/lang/MetaClass;
4: dup
5: ifnull 9
8: areturn
9: pop
10: aload_0
11: dup
12: invokevirtual #24 // Method $getStaticMetaClass:()Lgroovy/lang/MetaClass;
15: putfield #26 // Field metaClass:Lgroovy/lang/MetaClass;
18: aload_0
19: getfield #26 // Field metaClass:Lgroovy/lang/MetaClass;
22: areturn
public void setMetaClass(groovy.lang.MetaClass);
Code:
0: aload_0
1: aload_1
2: putfield #26 // Field metaClass:Lgroovy/lang/MetaClass;
5: return
public java.lang.Object invokeMethod(java.lang.String, java.lang.Object);
Code:
0: aload_0
1: invokevirtual #56 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: aload_2
7: invokeinterface #59, 4 // InterfaceMethod groovy/lang/MetaClass.invokeMethod:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
12: areturn
public java.lang.Object getProperty(java.lang.String);
Code:
0: aload_0
1: invokevirtual #56 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: invokeinterface #64, 3 // InterfaceMethod groovy/lang/MetaClass.getProperty:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
11: areturn
public void setProperty(java.lang.String, java.lang.Object);
Code:
0: aload_0
1: invokevirtual #56 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: aload_2
7: invokeinterface #69, 4 // InterfaceMethod groovy/lang/MetaClass.setProperty:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
12: return
public java.lang.String getFirst();
Code:
0: aload_0
1: getfield #73 // Field first:Ljava/lang/String;
4: areturn
public void setFirst(java.lang.String);
Code:
0: aload_0
1: aload_1
2: putfield #73 // Field first:Ljava/lang/String;
5: return
public java.lang.String getLast();
Code:
0: aload_0
1: getfield #78 // Field last:Ljava/lang/String;
4: areturn
public void setLast(java.lang.String);
Code:
0: aload_0
1: aload_1
2: putfield #78 // Field last:Ljava/lang/String;
5: return
}
Static Compilation
Compiled from "PersonScript.groovy"
public class Person implements groovy.lang.GroovyObject {
public static transient boolean __$stMC;
public Person();
Code:
0: aload_0
1: invokespecial #20 // Method java/lang/Object."<init>":()V
4: aload_0
5: invokevirtual #24 // Method $getStaticMetaClass:()Lgroovy/lang/MetaClass;
8: astore_1
9: aload_1
10: aload_0
11: swap
12: putfield #26 // Field metaClass:Lgroovy/lang/MetaClass;
15: return
protected groovy.lang.MetaClass $getStaticMetaClass();
Code:
0: aload_0
1: invokevirtual #32 // Method java/lang/Object.getClass:()Ljava/lang/Class;
4: ldc #2 // class Person
6: if_acmpeq 14
9: aload_0
10: invokestatic #38 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
13: areturn
14: getstatic #40 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
17: astore_1
18: aload_1
19: ifnonnull 34
22: aload_0
23: invokevirtual #32 // Method java/lang/Object.getClass:()Ljava/lang/Class;
26: invokestatic #46 // Method org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
29: dup
30: astore_1
31: putstatic #40 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
34: aload_1
35: invokevirtual #49 // Method org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
38: areturn
public groovy.lang.MetaClass getMetaClass();
Code:
0: aload_0
1: getfield #26 // Field metaClass:Lgroovy/lang/MetaClass;
4: dup
5: ifnull 9
8: areturn
9: pop
10: aload_0
11: dup
12: invokevirtual #24 // Method $getStaticMetaClass:()Lgroovy/lang/MetaClass;
15: putfield #26 // Field metaClass:Lgroovy/lang/MetaClass;
18: aload_0
19: getfield #26 // Field metaClass:Lgroovy/lang/MetaClass;
22: areturn
public void setMetaClass(groovy.lang.MetaClass);
Code:
0: aload_0
1: aload_1
2: putfield #26 // Field metaClass:Lgroovy/lang/MetaClass;
5: return
public java.lang.Object invokeMethod(java.lang.String, java.lang.Object);
Code:
0: aload_0
1: invokevirtual #54 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: aload_2
7: invokeinterface #59, 4 // InterfaceMethod groovy/lang/MetaClass.invokeMethod:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
12: areturn
public java.lang.Object getProperty(java.lang.String);
Code:
0: aload_0
1: invokevirtual #54 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: invokeinterface #64, 3 // InterfaceMethod groovy/lang/MetaClass.getProperty:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
11: areturn
public void setProperty(java.lang.String, java.lang.Object);
Code:
0: aload_0
1: invokevirtual #54 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: aload_2
7: invokeinterface #69, 4 // InterfaceMethod groovy/lang/MetaClass.setProperty:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
12: return
public java.lang.String getFirst();
Code:
0: aload_0
1: getfield #73 // Field first:Ljava/lang/String;
4: areturn
public void setFirst(java.lang.String);
Code:
0: aload_0
1: aload_1
2: putfield #73 // Field first:Ljava/lang/String;
5: return
public java.lang.String getLast();
Code:
0: aload_0
1: getfield #78 // Field last:Ljava/lang/String;
4: areturn
public void setLast(java.lang.String);
Code:
0: aload_0
1: aload_1
2: putfield #78 // Field last:Ljava/lang/String;
5: return
}