Groovyc (Legacy)
Compiled from "TestExample.groovy"
public class TestExample implements groovy.lang.GroovyObject {
public static transient boolean __$stMC;
public TestExample();
Code:
0: aload_0
1: invokespecial #17 // Method java/lang/Object."<init>":()V
4: invokestatic #21 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
7: astore_1
8: aload_0
9: invokevirtual #25 // Method $getStaticMetaClass:()Lgroovy/lang/MetaClass;
12: astore_2
13: aload_2
14: aload_0
15: swap
16: putfield #27 // Field metaClass:Lgroovy/lang/MetaClass;
19: aload_2
20: pop
21: return
public static void main(java.lang.String...);
Code:
0: invokestatic #21 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_1
4: ldc #33 // String Hello World
6: pop
7: return
protected groovy.lang.MetaClass $getStaticMetaClass();
Code:
0: aload_0
1: invokevirtual #39 // Method java/lang/Object.getClass:()Ljava/lang/Class;
4: ldc #2 // class TestExample
6: if_acmpeq 14
9: aload_0
10: invokestatic #45 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
13: areturn
14: getstatic #47 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
17: astore_1
18: aload_1
19: ifnonnull 34
22: aload_0
23: invokevirtual #39 // Method java/lang/Object.getClass:()Ljava/lang/Class;
26: invokestatic #53 // Method org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
29: dup
30: astore_1
31: putstatic #47 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
34: aload_1
35: invokevirtual #56 // Method org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
38: areturn
public groovy.lang.MetaClass getMetaClass();
Code:
0: aload_0
1: getfield #27 // Field metaClass:Lgroovy/lang/MetaClass;
4: dup
5: ifnull 9
8: areturn
9: pop
10: aload_0
11: dup
12: invokevirtual #25 // Method $getStaticMetaClass:()Lgroovy/lang/MetaClass;
15: putfield #27 // Field metaClass:Lgroovy/lang/MetaClass;
18: aload_0
19: getfield #27 // Field metaClass:Lgroovy/lang/MetaClass;
22: areturn
public void setMetaClass(groovy.lang.MetaClass);
Code:
0: aload_0
1: aload_1
2: putfield #27 // Field metaClass:Lgroovy/lang/MetaClass;
5: return
public java.lang.Object invokeMethod(java.lang.String, java.lang.Object);
Code:
0: aload_0
1: invokevirtual #61 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: aload_2
7: invokeinterface #66, 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 #61 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: invokeinterface #71, 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 #61 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: aload_2
7: invokeinterface #76, 4 // InterfaceMethod groovy/lang/MetaClass.setProperty:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
12: return
}
Invoke Dynamic
Compiled from "TestExample.groovy"
public class TestExample implements groovy.lang.GroovyObject {
public static transient boolean __$stMC;
public TestExample();
Code:
0: aload_0
1: invokespecial #17 // Method java/lang/Object."<init>":()V
4: aload_0
5: invokevirtual #21 // Method $getStaticMetaClass:()Lgroovy/lang/MetaClass;
8: astore_1
9: aload_1
10: aload_0
11: swap
12: putfield #23 // Field metaClass:Lgroovy/lang/MetaClass;
15: aload_1
16: pop
17: return
public static void main(java.lang.String...);
Code:
0: ldc #29 // String Hello World
2: pop
3: return
protected groovy.lang.MetaClass $getStaticMetaClass();
Code:
0: aload_0
1: invokevirtual #35 // Method java/lang/Object.getClass:()Ljava/lang/Class;
4: ldc #2 // class TestExample
6: if_acmpeq 14
9: aload_0
10: invokestatic #41 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
13: areturn
14: getstatic #43 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
17: astore_1
18: aload_1
19: ifnonnull 34
22: aload_0
23: invokevirtual #35 // Method java/lang/Object.getClass:()Ljava/lang/Class;
26: invokestatic #49 // Method org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
29: dup
30: astore_1
31: putstatic #43 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
34: aload_1
35: invokevirtual #52 // Method org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
38: areturn
public groovy.lang.MetaClass getMetaClass();
Code:
0: aload_0
1: getfield #23 // Field metaClass:Lgroovy/lang/MetaClass;
4: dup
5: ifnull 9
8: areturn
9: pop
10: aload_0
11: dup
12: invokevirtual #21 // Method $getStaticMetaClass:()Lgroovy/lang/MetaClass;
15: putfield #23 // Field metaClass:Lgroovy/lang/MetaClass;
18: aload_0
19: getfield #23 // Field metaClass:Lgroovy/lang/MetaClass;
22: areturn
public void setMetaClass(groovy.lang.MetaClass);
Code:
0: aload_0
1: aload_1
2: putfield #23 // Field metaClass:Lgroovy/lang/MetaClass;
5: return
public java.lang.Object invokeMethod(java.lang.String, java.lang.Object);
Code:
0: aload_0
1: invokevirtual #59 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: aload_2
7: invokeinterface #62, 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 #59 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: invokeinterface #67, 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 #59 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: aload_2
7: invokeinterface #72, 4 // InterfaceMethod groovy/lang/MetaClass.setProperty:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
12: return
}
Static Compilation
Compiled from "TestExample.groovy"
public class TestExample implements groovy.lang.GroovyObject {
public static transient boolean __$stMC;
public TestExample();
Code:
0: aload_0
1: invokespecial #17 // Method java/lang/Object."<init>":()V
4: aload_0
5: invokevirtual #21 // Method $getStaticMetaClass:()Lgroovy/lang/MetaClass;
8: astore_1
9: aload_1
10: aload_0
11: swap
12: putfield #23 // Field metaClass:Lgroovy/lang/MetaClass;
15: aload_1
16: pop
17: return
public static void main(java.lang.String...);
Code:
0: ldc #29 // String Hello World
2: pop
3: return
protected groovy.lang.MetaClass $getStaticMetaClass();
Code:
0: aload_0
1: invokevirtual #35 // Method java/lang/Object.getClass:()Ljava/lang/Class;
4: ldc #2 // class TestExample
6: if_acmpeq 14
9: aload_0
10: invokestatic #41 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
13: areturn
14: getstatic #43 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
17: astore_1
18: aload_1
19: ifnonnull 34
22: aload_0
23: invokevirtual #35 // Method java/lang/Object.getClass:()Ljava/lang/Class;
26: invokestatic #49 // Method org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
29: dup
30: astore_1
31: putstatic #43 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
34: aload_1
35: invokevirtual #52 // Method org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
38: areturn
public groovy.lang.MetaClass getMetaClass();
Code:
0: aload_0
1: getfield #23 // Field metaClass:Lgroovy/lang/MetaClass;
4: dup
5: ifnull 9
8: areturn
9: pop
10: aload_0
11: dup
12: invokevirtual #21 // Method $getStaticMetaClass:()Lgroovy/lang/MetaClass;
15: putfield #23 // Field metaClass:Lgroovy/lang/MetaClass;
18: aload_0
19: getfield #23 // Field metaClass:Lgroovy/lang/MetaClass;
22: areturn
public void setMetaClass(groovy.lang.MetaClass);
Code:
0: aload_0
1: aload_1
2: putfield #23 // Field metaClass:Lgroovy/lang/MetaClass;
5: return
public java.lang.Object invokeMethod(java.lang.String, java.lang.Object);
Code:
0: aload_0
1: invokevirtual #57 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: aload_2
7: invokeinterface #62, 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 #57 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: invokeinterface #67, 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 #57 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: aload_2
7: invokeinterface #72, 4 // InterfaceMethod groovy/lang/MetaClass.setProperty:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
12: return
}
Groovyc (Legacy)
Compiled from "TestExample.groovy"
public class TestExample implements groovy.lang.GroovyObject {
public static transient boolean __$stMC;
public TestExample();
Code:
0: aload_0
1: invokespecial #19 // Method java/lang/Object."<init>":()V
4: invokestatic #23 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
7: astore_1
8: aload_0
9: invokevirtual #27 // Method $getStaticMetaClass:()Lgroovy/lang/MetaClass;
12: astore_2
13: aload_2
14: aload_0
15: swap
16: putfield #29 // Field metaClass:Lgroovy/lang/MetaClass;
19: return
public static void main(java.lang.String...);
Code:
0: invokestatic #23 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_1
4: return
protected groovy.lang.MetaClass $getStaticMetaClass();
Code:
0: aload_0
1: invokevirtual #39 // Method java/lang/Object.getClass:()Ljava/lang/Class;
4: ldc #2 // class TestExample
6: if_acmpeq 14
9: aload_0
10: invokestatic #45 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
13: areturn
14: getstatic #47 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
17: astore_1
18: aload_1
19: ifnonnull 34
22: aload_0
23: invokevirtual #39 // Method java/lang/Object.getClass:()Ljava/lang/Class;
26: invokestatic #53 // Method org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
29: dup
30: astore_1
31: putstatic #47 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
34: aload_1
35: invokevirtual #56 // Method org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
38: areturn
public groovy.lang.MetaClass getMetaClass();
Code:
0: aload_0
1: getfield #29 // Field metaClass:Lgroovy/lang/MetaClass;
4: dup
5: ifnull 9
8: areturn
9: pop
10: aload_0
11: dup
12: invokevirtual #27 // Method $getStaticMetaClass:()Lgroovy/lang/MetaClass;
15: putfield #29 // Field metaClass:Lgroovy/lang/MetaClass;
18: aload_0
19: getfield #29 // Field metaClass:Lgroovy/lang/MetaClass;
22: areturn
public void setMetaClass(groovy.lang.MetaClass);
Code:
0: aload_0
1: aload_1
2: putfield #29 // Field metaClass:Lgroovy/lang/MetaClass;
5: return
public java.lang.Object invokeMethod(java.lang.String, java.lang.Object);
Code:
0: aload_0
1: invokevirtual #61 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: aload_2
7: invokeinterface #66, 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 #61 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: invokeinterface #71, 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 #61 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: aload_2
7: invokeinterface #76, 4 // InterfaceMethod groovy/lang/MetaClass.setProperty:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
12: return
}
Invoke Dynamic
Compiled from "TestExample.groovy"
public class TestExample implements groovy.lang.GroovyObject {
public static transient boolean __$stMC;
public TestExample();
Code:
0: aload_0
1: invokespecial #17 // Method java/lang/Object."<init>":()V
4: aload_0
5: invokevirtual #21 // Method $getStaticMetaClass:()Lgroovy/lang/MetaClass;
8: astore_1
9: aload_1
10: aload_0
11: swap
12: putfield #23 // Field metaClass:Lgroovy/lang/MetaClass;
15: return
public static void main(java.lang.String...);
Code:
0: return
protected groovy.lang.MetaClass $getStaticMetaClass();
Code:
0: aload_0
1: invokevirtual #33 // Method java/lang/Object.getClass:()Ljava/lang/Class;
4: ldc #2 // class TestExample
6: if_acmpeq 14
9: aload_0
10: invokestatic #39 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
13: areturn
14: getstatic #41 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
17: astore_1
18: aload_1
19: ifnonnull 34
22: aload_0
23: invokevirtual #33 // Method java/lang/Object.getClass:()Ljava/lang/Class;
26: invokestatic #47 // Method org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
29: dup
30: astore_1
31: putstatic #41 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
34: aload_1
35: invokevirtual #50 // Method org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
38: areturn
public groovy.lang.MetaClass getMetaClass();
Code:
0: aload_0
1: getfield #23 // Field metaClass:Lgroovy/lang/MetaClass;
4: dup
5: ifnull 9
8: areturn
9: pop
10: aload_0
11: dup
12: invokevirtual #21 // Method $getStaticMetaClass:()Lgroovy/lang/MetaClass;
15: putfield #23 // Field metaClass:Lgroovy/lang/MetaClass;
18: aload_0
19: getfield #23 // Field metaClass:Lgroovy/lang/MetaClass;
22: areturn
public void setMetaClass(groovy.lang.MetaClass);
Code:
0: aload_0
1: aload_1
2: putfield #23 // Field metaClass:Lgroovy/lang/MetaClass;
5: return
public java.lang.Object invokeMethod(java.lang.String, java.lang.Object);
Code:
0: aload_0
1: invokevirtual #57 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: aload_2
7: invokeinterface #60, 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 #57 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: invokeinterface #65, 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 #57 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: aload_2
7: invokeinterface #70, 4 // InterfaceMethod groovy/lang/MetaClass.setProperty:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
12: return
}
Static Compilation
Compiled from "TestExample.groovy"
public class TestExample implements groovy.lang.GroovyObject {
public static transient boolean __$stMC;
public TestExample();
Code:
0: aload_0
1: invokespecial #17 // Method java/lang/Object."<init>":()V
4: aload_0
5: invokevirtual #21 // Method $getStaticMetaClass:()Lgroovy/lang/MetaClass;
8: astore_1
9: aload_1
10: aload_0
11: swap
12: putfield #23 // Field metaClass:Lgroovy/lang/MetaClass;
15: return
public static void main(java.lang.String...);
Code:
0: return
protected groovy.lang.MetaClass $getStaticMetaClass();
Code:
0: aload_0
1: invokevirtual #33 // Method java/lang/Object.getClass:()Ljava/lang/Class;
4: ldc #2 // class TestExample
6: if_acmpeq 14
9: aload_0
10: invokestatic #39 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
13: areturn
14: getstatic #41 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
17: astore_1
18: aload_1
19: ifnonnull 34
22: aload_0
23: invokevirtual #33 // Method java/lang/Object.getClass:()Ljava/lang/Class;
26: invokestatic #47 // Method org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
29: dup
30: astore_1
31: putstatic #41 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
34: aload_1
35: invokevirtual #50 // Method org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
38: areturn
public groovy.lang.MetaClass getMetaClass();
Code:
0: aload_0
1: getfield #23 // Field metaClass:Lgroovy/lang/MetaClass;
4: dup
5: ifnull 9
8: areturn
9: pop
10: aload_0
11: dup
12: invokevirtual #21 // Method $getStaticMetaClass:()Lgroovy/lang/MetaClass;
15: putfield #23 // Field metaClass:Lgroovy/lang/MetaClass;
18: aload_0
19: getfield #23 // Field metaClass:Lgroovy/lang/MetaClass;
22: areturn
public void setMetaClass(groovy.lang.MetaClass);
Code:
0: aload_0
1: aload_1
2: putfield #23 // Field metaClass:Lgroovy/lang/MetaClass;
5: return
public java.lang.Object invokeMethod(java.lang.String, java.lang.Object);
Code:
0: aload_0
1: invokevirtual #55 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: aload_2
7: invokeinterface #60, 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 #55 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: invokeinterface #65, 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 #55 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: aload_2
7: invokeinterface #70, 4 // InterfaceMethod groovy/lang/MetaClass.setProperty:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
12: return
}