-
-
Save SmartDengg/b2edbcad0a9c932df07fa90656986c67 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# $ groovyc GroovyTest.groovy | |
# $ javap -c GroovyTest.class |
Author
SmartDengg
commented
Jan 31, 2019
public class GroovyTest implements groovy.lang.GroovyObject
minor version: 0
major version: 49
flags: ACC_PUBLIC, ACC_SUPER
Constant pool:
#1 = Utf8 GroovyTest
#2 = Class #1 // GroovyTest
#3 = Utf8 java/lang/Object
#4 = Class #3 // java/lang/Object
#5 = Utf8 groovy/lang/GroovyObject
#6 = Class #5 // groovy/lang/GroovyObject
#7 = Utf8 GroovyTest.groovy
#8 = Utf8 $staticClassInfo
#9 = Utf8 Lorg/codehaus/groovy/reflection/ClassInfo;
#10 = Utf8 __$stMC
#11 = Utf8 Z
#12 = Utf8 metaClass
#13 = Utf8 Lgroovy/lang/MetaClass;
#14 = Utf8 <init>
#15 = Utf8 ()V
#16 = Utf8 $getCallSiteArray
#17 = Utf8 ()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
#18 = NameAndType #16:#17 // $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
#19 = Methodref #2.#18 // GroovyTest.$getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
#20 = NameAndType #14:#15 // "<init>":()V
#21 = Methodref #4.#20 // java/lang/Object."<init>":()V
#22 = Utf8 $getStaticMetaClass
#23 = Utf8 ()Lgroovy/lang/MetaClass;
#24 = NameAndType #22:#23 // $getStaticMetaClass:()Lgroovy/lang/MetaClass;
#25 = Methodref #2.#24 // GroovyTest.$getStaticMetaClass:()Lgroovy/lang/MetaClass;
#26 = NameAndType #12:#13 // metaClass:Lgroovy/lang/MetaClass;
#27 = Fieldref #2.#26 // GroovyTest.metaClass:Lgroovy/lang/MetaClass;
#28 = Utf8 this
#29 = Utf8 LGroovyTest;
#30 = Utf8 register
#31 = Utf8 (LGroovyTest$Callback;)V
#32 = Integer 0
#33 = Utf8 org/codehaus/groovy/runtime/callsite/CallSite
#34 = Class #33 // org/codehaus/groovy/runtime/callsite/CallSite
#35 = Utf8 callSafe
#36 = Utf8 (Ljava/lang/Object;)Ljava/lang/Object;
#37 = NameAndType #35:#36 // callSafe:(Ljava/lang/Object;)Ljava/lang/Object;
#38 = InterfaceMethodref #34.#37 // org/codehaus/groovy/runtime/callsite/CallSite.callSafe:(Ljava/lang/Object;)Ljava/lang/Object;
#39 = Utf8 callback
#40 = Utf8 LGroovyTest$Callback;
#41 = Utf8 this$dist$invoke$1
#42 = Utf8 (Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
#43 = Utf8 org/codehaus/groovy/runtime/GStringImpl
#44 = Class #43 // org/codehaus/groovy/runtime/GStringImpl
#45 = Utf8 java/lang/String
#46 = Class #45 // java/lang/String
#47 = Utf8
#48 = String #47 //
#49 = Utf8 ([Ljava/lang/Object;[Ljava/lang/String;)V
#50 = NameAndType #14:#49 // "<init>":([Ljava/lang/Object;[Ljava/lang/String;)V
#51 = Methodref #44.#50 // org/codehaus/groovy/runtime/GStringImpl."<init>":([Ljava/lang/Object;[Ljava/lang/String;)V
#52 = Utf8 org/codehaus/groovy/runtime/typehandling/ShortTypeHandling
#53 = Class #52 // org/codehaus/groovy/runtime/typehandling/ShortTypeHandling
#54 = Utf8 castToString
#55 = Utf8 (Ljava/lang/Object;)Ljava/lang/String;
#56 = NameAndType #54:#55 // castToString:(Ljava/lang/Object;)Ljava/lang/String;
#57 = Methodref #53.#56 // org/codehaus/groovy/runtime/typehandling/ShortTypeHandling.castToString:(Ljava/lang/Object;)Ljava/lang/String;
#58 = Utf8 org/codehaus/groovy/runtime/ScriptBytecodeAdapter
#59 = Class #58 // org/codehaus/groovy/runtime/ScriptBytecodeAdapter
#60 = Utf8 despreadList
#61 = Utf8 ([Ljava/lang/Object;[Ljava/lang/Object;[I)[Ljava/lang/Object;
#62 = NameAndType #60:#61 // despreadList:([Ljava/lang/Object;[Ljava/lang/Object;[I)[Ljava/lang/Object;
#63 = Methodref #59.#62 // org/codehaus/groovy/runtime/ScriptBytecodeAdapter.despreadList:([Ljava/lang/Object;[Ljava/lang/Object;[I)[Ljava/lang/Object;
#64 = Utf8 invokeMethodOnCurrentN
#65 = Utf8 (Ljava/lang/Class;Lgroovy/lang/GroovyObject;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
#66 = NameAndType #64:#65 // invokeMethodOnCurrentN:(Ljava/lang/Class;Lgroovy/lang/GroovyObject;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
#67 = Methodref #59.#66 // org/codehaus/groovy/runtime/ScriptBytecodeAdapter.invokeMethodOnCurrentN:(Ljava/lang/Class;Lgroovy/lang/GroovyObject;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
#68 = Utf8 name
#69 = Utf8 Ljava/lang/String;
#70 = Utf8 args
#71 = Utf8 Ljava/lang/Object;
#72 = Utf8 this$dist$set$1
#73 = Utf8 (Ljava/lang/String;Ljava/lang/Object;)V
#74 = Utf8 setGroovyObjectProperty
#75 = Utf8 (Ljava/lang/Object;Ljava/lang/Class;Lgroovy/lang/GroovyObject;Ljava/lang/String;)V
#76 = NameAndType #74:#75 // setGroovyObjectProperty:(Ljava/lang/Object;Ljava/lang/Class;Lgroovy/lang/GroovyObject;Ljava/lang/String;)V
#77 = Methodref #59.#76 // org/codehaus/groovy/runtime/ScriptBytecodeAdapter.setGroovyObjectProperty:(Ljava/lang/Object;Ljava/lang/Class;Lgroovy/lang/GroovyObject;Ljava/lang/String;)V
#78 = Utf8 value
#79 = Utf8 this$dist$get$1
#80 = Utf8 (Ljava/lang/String;)Ljava/lang/Object;
#81 = Utf8 getGroovyObjectProperty
#82 = Utf8 (Ljava/lang/Class;Lgroovy/lang/GroovyObject;Ljava/lang/String;)Ljava/lang/Object;
#83 = NameAndType #81:#82 // getGroovyObjectProperty:(Ljava/lang/Class;Lgroovy/lang/GroovyObject;Ljava/lang/String;)Ljava/lang/Object;
#84 = Methodref #59.#83 // org/codehaus/groovy/runtime/ScriptBytecodeAdapter.getGroovyObjectProperty:(Ljava/lang/Class;Lgroovy/lang/GroovyObject;Ljava/lang/String;)Ljava/lang/Object;
#85 = Utf8 getClass
#86 = Utf8 ()Ljava/lang/Class;
#87 = NameAndType #85:#86 // getClass:()Ljava/lang/Class;
#88 = Methodref #4.#87 // java/lang/Object.getClass:()Ljava/lang/Class;
#89 = Utf8 initMetaClass
#90 = Utf8 (Ljava/lang/Object;)Lgroovy/lang/MetaClass;
#91 = NameAndType #89:#90 // initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
#92 = Methodref #59.#91 // org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
#93 = NameAndType #8:#9 // $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
#94 = Fieldref #2.#93 // GroovyTest.$staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
#95 = Utf8 org/codehaus/groovy/reflection/ClassInfo
#96 = Class #95 // org/codehaus/groovy/reflection/ClassInfo
#97 = Utf8 getClassInfo
#98 = Utf8 (Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
#99 = NameAndType #97:#98 // getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
#100 = Methodref #96.#99 // org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
#101 = Utf8 getMetaClass
#102 = NameAndType #101:#23 // getMetaClass:()Lgroovy/lang/MetaClass;
#103 = Methodref #96.#102 // org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
#104 = Utf8 setMetaClass
#105 = Utf8 (Lgroovy/lang/MetaClass;)V
#106 = Utf8 invokeMethod
#107 = Methodref #2.#102 // GroovyTest.getMetaClass:()Lgroovy/lang/MetaClass;
#108 = Utf8 groovy/lang/MetaClass
#109 = Class #108 // groovy/lang/MetaClass
#110 = Utf8 (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
#111 = NameAndType #106:#110 // invokeMethod:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
#112 = InterfaceMethodref #109.#111 // groovy/lang/MetaClass.invokeMethod:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
#113 = Utf8 getProperty
#114 = Utf8 (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
#115 = NameAndType #113:#114 // getProperty:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
#116 = InterfaceMethodref #109.#115 // groovy/lang/MetaClass.getProperty:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
#117 = Utf8 setProperty
#118 = Utf8 (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
#119 = NameAndType #117:#118 // setProperty:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
#120 = InterfaceMethodref #109.#119 // groovy/lang/MetaClass.setProperty:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
#121 = Utf8 $callSiteArray
#122 = Utf8 Ljava/lang/ref/SoftReference;
#123 = Utf8 $createCallSiteArray_1
#124 = Utf8 ([Ljava/lang/String;)V
#125 = Utf8 on
#126 = String #125 // on
#127 = Utf8 $createCallSiteArray
#128 = Utf8 ()Lorg/codehaus/groovy/runtime/callsite/CallSiteArray;
#129 = Integer 1
#130 = NameAndType #123:#124 // $createCallSiteArray_1:([Ljava/lang/String;)V
#131 = Methodref #2.#130 // GroovyTest.$createCallSiteArray_1:([Ljava/lang/String;)V
#132 = Utf8 org/codehaus/groovy/runtime/callsite/CallSiteArray
#133 = Class #132 // org/codehaus/groovy/runtime/callsite/CallSiteArray
#134 = Utf8 (Ljava/lang/Class;[Ljava/lang/String;)V
#135 = NameAndType #14:#134 // "<init>":(Ljava/lang/Class;[Ljava/lang/String;)V
#136 = Methodref #133.#135 // org/codehaus/groovy/runtime/callsite/CallSiteArray."<init>":(Ljava/lang/Class;[Ljava/lang/String;)V
#137 = NameAndType #121:#122 // $callSiteArray:Ljava/lang/ref/SoftReference;
#138 = Fieldref #2.#137 // GroovyTest.$callSiteArray:Ljava/lang/ref/SoftReference;
#139 = Utf8 java/lang/ref/SoftReference
#140 = Class #139 // java/lang/ref/SoftReference
#141 = Utf8 get
#142 = Utf8 ()Ljava/lang/Object;
#143 = NameAndType #141:#142 // get:()Ljava/lang/Object;
#144 = Methodref #140.#143 // java/lang/ref/SoftReference.get:()Ljava/lang/Object;
#145 = NameAndType #127:#128 // $createCallSiteArray:()Lorg/codehaus/groovy/runtime/callsite/CallSiteArray;
#146 = Methodref #2.#145 // GroovyTest.$createCallSiteArray:()Lorg/codehaus/groovy/runtime/callsite/CallSiteArray;
#147 = Utf8 (Ljava/lang/Object;)V
#148 = NameAndType #14:#147 // "<init>":(Ljava/lang/Object;)V
#149 = Methodref #140.#148 // java/lang/ref/SoftReference."<init>":(Ljava/lang/Object;)V
#150 = Utf8 array
#151 = Utf8 [Lorg/codehaus/groovy/runtime/callsite/CallSite;
#152 = NameAndType #150:#151 // array:[Lorg/codehaus/groovy/runtime/callsite/CallSite;
#153 = Fieldref #133.#152 // org/codehaus/groovy/runtime/callsite/CallSiteArray.array:[Lorg/codehaus/groovy/runtime/callsite/CallSite;
#154 = Utf8 GroovyTest$Callback
#155 = Class #154 // GroovyTest$Callback
#156 = Utf8 Callback
#157 = Utf8 GroovyTest$Callback$1
#158 = Class #157 // GroovyTest$Callback$1
#159 = Utf8 1
#160 = Utf8 Code
#161 = Utf8 LocalVariableTable
#162 = Utf8 LineNumberTable
#163 = Utf8 SourceFile
#164 = Utf8 InnerClasses
{
private static org.codehaus.groovy.reflection.ClassInfo $staticClassInfo;
descriptor: Lorg/codehaus/groovy/reflection/ClassInfo;
flags: ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
public static transient boolean __$stMC;
descriptor: Z
flags: ACC_PUBLIC, ACC_STATIC, ACC_TRANSIENT, ACC_SYNTHETIC
private transient groovy.lang.MetaClass metaClass;
descriptor: Lgroovy/lang/MetaClass;
flags: ACC_PRIVATE, ACC_TRANSIENT, ACC_SYNTHETIC
private static java.lang.ref.SoftReference $callSiteArray;
descriptor: Ljava/lang/ref/SoftReference;
flags: ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
public GroovyTest();
descriptor: ()V
flags: ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
0: invokestatic #19 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_1
4: aload_0
5: invokespecial #21 // Method java/lang/Object."<init>":()V
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
LocalVariableTable:
Start Length Slot Name Signature
0 21 0 this LGroovyTest;
public void register(GroovyTest$Callback);
descriptor: (LGroovyTest$Callback;)V
flags: ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
0: invokestatic #19 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_2
4: aload_2
5: ldc #32 // int 0
7: aaload
8: aload_1
9: invokeinterface #38, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callSafe:(Ljava/lang/Object;)Ljava/lang/Object;
14: pop
15: return
LocalVariableTable:
Start Length Slot Name Signature
0 15 0 this LGroovyTest;
0 15 1 callback LGroovyTest$Callback;
LineNumberTable:
line 6: 4
public java.lang.Object this$dist$invoke$1(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
flags: ACC_PUBLIC, ACC_SYNTHETIC
Code:
stack=9, locals=4, args_size=3
0: invokestatic #19 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_3
4: ldc #2 // class GroovyTest
6: aload_0
7: new #44 // class org/codehaus/groovy/runtime/GStringImpl
10: dup
11: iconst_1
12: anewarray #4 // class java/lang/Object
15: dup
16: iconst_0
17: aload_1
18: aastore
19: iconst_2
20: anewarray #46 // class java/lang/String
23: dup
24: iconst_0
25: ldc #48 // String
27: aastore
28: dup
29: iconst_1
30: ldc #48 // String
32: aastore
33: invokespecial #51 // Method org/codehaus/groovy/runtime/GStringImpl."<init>":([Ljava/lang/Object;[Ljava/lang/String;)V
36: invokestatic #57 // Method org/codehaus/groovy/runtime/typehandling/ShortTypeHandling.castToString:(Ljava/lang/Object;)Ljava/lang/String;
39: checkcast #46 // class java/lang/String
42: iconst_0
43: anewarray #4 // class java/lang/Object
46: iconst_1
47: anewarray #4 // class java/lang/Object
50: dup
51: iconst_0
52: aload_2
53: aastore
54: iconst_1
55: newarray int
57: dup
58: iconst_0
59: iconst_0
60: iastore
61: invokestatic #63 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.despreadList:([Ljava/lang/Object;[Ljava/lang/Object;[I)[Ljava/lang/Object;
64: invokestatic #67 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.invokeMethodOnCurrentN:(Ljava/lang/Class;Lgroovy/lang/GroovyObject;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
67: areturn
68: aconst_null
69: areturn
LocalVariableTable:
Start Length Slot Name Signature
0 68 0 this LGroovyTest;
0 68 1 name Ljava/lang/String;
0 68 2 args Ljava/lang/Object;
public void this$dist$set$1(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: ACC_PUBLIC, ACC_SYNTHETIC
Code:
stack=10, locals=5, args_size=3
0: invokestatic #19 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_3
4: aload_2
5: astore 4
7: aload 4
9: ldc #2 // class GroovyTest
11: aload_0
12: new #44 // class org/codehaus/groovy/runtime/GStringImpl
15: dup
16: iconst_1
17: anewarray #4 // class java/lang/Object
20: dup
21: iconst_0
22: aload_1
23: aastore
24: iconst_2
25: anewarray #46 // class java/lang/String
28: dup
29: iconst_0
30: ldc #48 // String
32: aastore
33: dup
34: iconst_1
35: ldc #48 // String
37: aastore
38: invokespecial #51 // Method org/codehaus/groovy/runtime/GStringImpl."<init>":([Ljava/lang/Object;[Ljava/lang/String;)V
41: invokestatic #57 // Method org/codehaus/groovy/runtime/typehandling/ShortTypeHandling.castToString:(Ljava/lang/Object;)Ljava/lang/String;
44: checkcast #46 // class java/lang/String
47: invokestatic #77 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.setGroovyObjectProperty:(Ljava/lang/Object;Ljava/lang/Class;Lgroovy/lang/GroovyObject;Ljava/lang/String;)V
50: aload 4
52: pop
53: return
LocalVariableTable:
Start Length Slot Name Signature
0 53 0 this LGroovyTest;
0 53 1 name Ljava/lang/String;
0 53 2 value Ljava/lang/Object;
public java.lang.Object this$dist$get$1(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: ACC_PUBLIC, ACC_SYNTHETIC
Code:
stack=9, locals=3, args_size=2
0: invokestatic #19 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
3: astore_2
4: ldc #2 // class GroovyTest
6: aload_0
7: new #44 // class org/codehaus/groovy/runtime/GStringImpl
10: dup
11: iconst_1
12: anewarray #4 // class java/lang/Object
15: dup
16: iconst_0
17: aload_1
18: aastore
19: iconst_2
20: anewarray #46 // class java/lang/String
23: dup
24: iconst_0
25: ldc #48 // String
27: aastore
28: dup
29: iconst_1
30: ldc #48 // String
32: aastore
33: invokespecial #51 // Method org/codehaus/groovy/runtime/GStringImpl."<init>":([Ljava/lang/Object;[Ljava/lang/String;)V
36: invokestatic #57 // Method org/codehaus/groovy/runtime/typehandling/ShortTypeHandling.castToString:(Ljava/lang/Object;)Ljava/lang/String;
39: checkcast #46 // class java/lang/String
42: invokestatic #84 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.getGroovyObjectProperty:(Ljava/lang/Class;Lgroovy/lang/GroovyObject;Ljava/lang/String;)Ljava/lang/Object;
45: areturn
46: aconst_null
47: areturn
LocalVariableTable:
Start Length Slot Name Signature
0 46 0 this LGroovyTest;
0 46 1 name Ljava/lang/String;
protected groovy.lang.MetaClass $getStaticMetaClass();
descriptor: ()Lgroovy/lang/MetaClass;
flags: ACC_PROTECTED, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=1
0: aload_0
1: invokevirtual #88 // Method java/lang/Object.getClass:()Ljava/lang/Class;
4: ldc #2 // class GroovyTest
6: if_acmpeq 14
9: aload_0
10: invokestatic #92 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
13: areturn
14: getstatic #94 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
17: astore_1
18: aload_1
19: ifnonnull 34
22: aload_0
23: invokevirtual #88 // Method java/lang/Object.getClass:()Ljava/lang/Class;
26: invokestatic #100 // Method org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
29: dup
30: astore_1
31: putstatic #94 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
34: aload_1
35: invokevirtual #103 // Method org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
38: areturn
public groovy.lang.MetaClass getMetaClass();
descriptor: ()Lgroovy/lang/MetaClass;
flags: ACC_PUBLIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
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);
descriptor: (Lgroovy/lang/MetaClass;)V
flags: ACC_PUBLIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
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);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
flags: ACC_PUBLIC, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=3
0: aload_0
1: invokevirtual #107 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: aload_2
7: invokeinterface #112, 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);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: ACC_PUBLIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
0: aload_0
1: invokevirtual #107 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: invokeinterface #116, 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);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: ACC_PUBLIC, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=3
0: aload_0
1: invokevirtual #107 // Method getMetaClass:()Lgroovy/lang/MetaClass;
4: aload_0
5: aload_1
6: aload_2
7: invokeinterface #120, 4 // InterfaceMethod groovy/lang/MetaClass.setProperty:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
12: return
private static void $createCallSiteArray_1(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: aload_0
1: ldc #32 // int 0
3: ldc #126 // String on
5: aastore
6: return
private static org.codehaus.groovy.runtime.callsite.CallSiteArray $createCallSiteArray();
descriptor: ()Lorg/codehaus/groovy/runtime/callsite/CallSiteArray;
flags: ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=1, args_size=0
0: ldc #129 // int 1
2: anewarray #46 // class java/lang/String
5: astore_0
6: aload_0
7: invokestatic #131 // Method $createCallSiteArray_1:([Ljava/lang/String;)V
10: new #133 // class org/codehaus/groovy/runtime/callsite/CallSiteArray
13: dup
14: ldc #2 // class GroovyTest
16: aload_0
17: invokespecial #136 // Method org/codehaus/groovy/runtime/callsite/CallSiteArray."<init>":(Ljava/lang/Class;[Ljava/lang/String;)V
20: areturn
private static org.codehaus.groovy.runtime.callsite.CallSite[] $getCallSiteArray();
descriptor: ()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
flags: ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic #138 // Field $callSiteArray:Ljava/lang/ref/SoftReference;
3: ifnull 20
6: getstatic #138 // Field $callSiteArray:Ljava/lang/ref/SoftReference;
9: invokevirtual #144 // Method java/lang/ref/SoftReference.get:()Ljava/lang/Object;
12: checkcast #133 // class org/codehaus/groovy/runtime/callsite/CallSiteArray
15: dup
16: astore_0
17: ifnonnull 35
20: invokestatic #146 // Method $createCallSiteArray:()Lorg/codehaus/groovy/runtime/callsite/CallSiteArray;
23: astore_0
24: new #140 // class java/lang/ref/SoftReference
27: dup
28: aload_0
29: invokespecial #149 // Method java/lang/ref/SoftReference."<init>":(Ljava/lang/Object;)V
32: putstatic #138 // Field $callSiteArray:Ljava/lang/ref/SoftReference;
35: aload_0
36: getfield #153 // Field org/codehaus/groovy/runtime/callsite/CallSiteArray.array:[Lorg/codehaus/groovy/runtime/callsite/CallSite;
39: areturn
}
SourceFile: "GroovyTest.groovy"
InnerClasses:
public #156= #155 of #2; //Callback=class GroovyTest$Callback of class GroovyTest
static #159= #158 of #2; //1=class GroovyTest$Callback$1 of class GroovyTest
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment