Skip to content

Instantly share code, notes, and snippets.

@lptr
Created August 27, 2021 11:28
Show Gist options
  • Save lptr/a7a8557be684978a553ae3d56ae73006 to your computer and use it in GitHub Desktop.
Save lptr/a7a8557be684978a553ae3d56ae73006 to your computer and use it in GitHub Desktop.
--- DynamicGroovyClient-new.asm 2021-08-27 11:29:06.000000000 +0200
+++ DynamicGroovyClient-old.asm 2021-08-27 11:28:21.000000000 +0200
@@ -1,6 +1,6 @@
Classfile /Users/lptr/Temp/DynamicGroovyCompare/DynamicGroovyClient.class
- Last modified Aug 27, 2021; size 3479 bytes
- MD5 checksum a109548ecd53febc31a5f00b75cb2971
+ Last modified Aug 27, 2021; size 2928 bytes
+ MD5 checksum b70eced31eca179e5aff0a332c561ba9
Compiled from "DynamicGroovyClient.groovy"
public class org.gradle.demo.api.evolution.DynamicGroovyClient implements groovy.lang.GroovyObject
minor version: 0
@@ -8,7 +8,7 @@
flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: #2 // org/gradle/demo/api/evolution/DynamicGroovyClient
super_class: #4 // java/lang/Object
- interfaces: 1, fields: 5, methods: 12, attributes: 1
+ interfaces: 1, fields: 4, methods: 10, attributes: 1
Constant pool:
#1 = Utf8 org/gradle/demo/api/evolution/DynamicGroovyClient
#2 = Class #1 // org/gradle/demo/api/evolution/DynamicGroovyClient
@@ -42,141 +42,111 @@
#30 = Utf8 Lorg/gradle/demo/api/evolution/DynamicGroovyClient;
#31 = Utf8 main
#32 = Integer 0
- #33 = Utf8 $get$$class$org$gradle$demo$api$evolution$Server
- #34 = Utf8 ()Ljava/lang/Class;
- #35 = NameAndType #33:#34 // $get$$class$org$gradle$demo$api$evolution$Server:()Ljava/lang/Class;
- #36 = Methodref #2.#35 // org/gradle/demo/api/evolution/DynamicGroovyClient.$get$$class$org$gradle$demo$api$evolution$Server:()Ljava/lang/Class;
- #37 = Utf8 org/codehaus/groovy/runtime/callsite/CallSite
- #38 = Class #37 // org/codehaus/groovy/runtime/callsite/CallSite
- #39 = Utf8 callConstructor
- #40 = Utf8 (Ljava/lang/Object;)Ljava/lang/Object;
- #41 = NameAndType #39:#40 // callConstructor:(Ljava/lang/Object;)Ljava/lang/Object;
- #42 = InterfaceMethodref #38.#41 // org/codehaus/groovy/runtime/callsite/CallSite.callConstructor:(Ljava/lang/Object;)Ljava/lang/Object;
- #43 = Integer 1
- #44 = Utf8 callStatic
- #45 = Utf8 (Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
- #46 = NameAndType #44:#45 // callStatic:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
- #47 = InterfaceMethodref #38.#46 // org/codehaus/groovy/runtime/callsite/CallSite.callStatic:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
- #48 = Integer 2
- #49 = Integer 3
- #50 = Utf8 server
- #51 = Utf8 Ljava/lang/Object;
- #52 = Utf8 doSet
- #53 = Utf8 (Ljava/lang/Object;)V
- #54 = Integer 4
- #55 = Integer 5
- #56 = Utf8 call
- #57 = NameAndType #56:#40 // call:(Ljava/lang/Object;)Ljava/lang/Object;
- #58 = InterfaceMethodref #38.#57 // org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
- #59 = Utf8 lajos
- #60 = String #59 // lajos
- #61 = Utf8 (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
- #62 = NameAndType #56:#61 // call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
- #63 = InterfaceMethodref #38.#62 // org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
- #64 = Utf8 doGet
- #65 = Integer 6
- #66 = Integer 7
- #67 = Utf8 getClass
- #68 = NameAndType #67:#34 // getClass:()Ljava/lang/Class;
- #69 = Methodref #4.#68 // java/lang/Object.getClass:()Ljava/lang/Class;
- #70 = Utf8 org/codehaus/groovy/runtime/ScriptBytecodeAdapter
- #71 = Class #70 // org/codehaus/groovy/runtime/ScriptBytecodeAdapter
- #72 = Utf8 initMetaClass
- #73 = Utf8 (Ljava/lang/Object;)Lgroovy/lang/MetaClass;
- #74 = NameAndType #72:#73 // initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
- #75 = Methodref #71.#74 // org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
- #76 = NameAndType #8:#9 // $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
- #77 = Fieldref #2.#76 // org/gradle/demo/api/evolution/DynamicGroovyClient.$staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
- #78 = Utf8 org/codehaus/groovy/reflection/ClassInfo
- #79 = Class #78 // org/codehaus/groovy/reflection/ClassInfo
- #80 = Utf8 getClassInfo
- #81 = Utf8 (Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
- #82 = NameAndType #80:#81 // getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
- #83 = Methodref #79.#82 // org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
- #84 = Utf8 getMetaClass
- #85 = NameAndType #84:#24 // getMetaClass:()Lgroovy/lang/MetaClass;
- #86 = Methodref #79.#85 // org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
- #87 = Utf8 Lgroovy/transform/Internal;
- #88 = Utf8 Ljava/beans/Transient;
- #89 = Utf8 groovy/lang/MetaClass
- #90 = Class #89 // groovy/lang/MetaClass
- #91 = Utf8 setMetaClass
- #92 = Utf8 (Lgroovy/lang/MetaClass;)V
- #93 = Utf8 $callSiteArray
- #94 = Utf8 Ljava/lang/ref/SoftReference;
- #95 = Utf8 $createCallSiteArray_1
- #96 = Utf8 ([Ljava/lang/String;)V
- #97 = Utf8 <$constructor$>
- #98 = String #97 // <$constructor$>
- #99 = String #52 // doSet
- #100 = Utf8 println
- #101 = String #100 // println
- #102 = String #64 // doGet
- #103 = Utf8 set
- #104 = String #103 // set
- #105 = Utf8 getTestProperty
- #106 = String #105 // getTestProperty
- #107 = Utf8 get
- #108 = String #107 // get
- #109 = Utf8 $createCallSiteArray
- #110 = Utf8 ()Lorg/codehaus/groovy/runtime/callsite/CallSiteArray;
- #111 = Integer 8
- #112 = Utf8 java/lang/String
- #113 = Class #112 // java/lang/String
- #114 = NameAndType #95:#96 // $createCallSiteArray_1:([Ljava/lang/String;)V
- #115 = Methodref #2.#114 // org/gradle/demo/api/evolution/DynamicGroovyClient.$createCallSiteArray_1:([Ljava/lang/String;)V
- #116 = Utf8 org/codehaus/groovy/runtime/callsite/CallSiteArray
- #117 = Class #116 // org/codehaus/groovy/runtime/callsite/CallSiteArray
- #118 = Utf8 (Ljava/lang/Class;[Ljava/lang/String;)V
- #119 = NameAndType #14:#118 // "<init>":(Ljava/lang/Class;[Ljava/lang/String;)V
- #120 = Methodref #117.#119 // org/codehaus/groovy/runtime/callsite/CallSiteArray."<init>":(Ljava/lang/Class;[Ljava/lang/String;)V
- #121 = NameAndType #93:#94 // $callSiteArray:Ljava/lang/ref/SoftReference;
- #122 = Fieldref #2.#121 // org/gradle/demo/api/evolution/DynamicGroovyClient.$callSiteArray:Ljava/lang/ref/SoftReference;
- #123 = Utf8 java/lang/ref/SoftReference
- #124 = Class #123 // java/lang/ref/SoftReference
- #125 = Utf8 ()Ljava/lang/Object;
- #126 = NameAndType #107:#125 // get:()Ljava/lang/Object;
- #127 = Methodref #124.#126 // java/lang/ref/SoftReference.get:()Ljava/lang/Object;
- #128 = NameAndType #109:#110 // $createCallSiteArray:()Lorg/codehaus/groovy/runtime/callsite/CallSiteArray;
- #129 = Methodref #2.#128 // org/gradle/demo/api/evolution/DynamicGroovyClient.$createCallSiteArray:()Lorg/codehaus/groovy/runtime/callsite/CallSiteArray;
- #130 = NameAndType #14:#53 // "<init>":(Ljava/lang/Object;)V
- #131 = Methodref #124.#130 // java/lang/ref/SoftReference."<init>":(Ljava/lang/Object;)V
- #132 = Utf8 array
- #133 = Utf8 [Lorg/codehaus/groovy/runtime/callsite/CallSite;
- #134 = NameAndType #132:#133 // array:[Lorg/codehaus/groovy/runtime/callsite/CallSite;
- #135 = Fieldref #117.#134 // org/codehaus/groovy/runtime/callsite/CallSiteArray.array:[Lorg/codehaus/groovy/runtime/callsite/CallSite;
- #136 = Utf8 $class$org$gradle$demo$api$evolution$Server
- #137 = Utf8 Ljava/lang/Class;
- #138 = NameAndType #136:#137 // $class$org$gradle$demo$api$evolution$Server:Ljava/lang/Class;
- #139 = Fieldref #2.#138 // org/gradle/demo/api/evolution/DynamicGroovyClient.$class$org$gradle$demo$api$evolution$Server:Ljava/lang/Class;
- #140 = Utf8 org.gradle.demo.api.evolution.Server
- #141 = String #140 // org.gradle.demo.api.evolution.Server
- #142 = Utf8 class$
- #143 = Utf8 (Ljava/lang/String;)Ljava/lang/Class;
- #144 = NameAndType #142:#143 // class$:(Ljava/lang/String;)Ljava/lang/Class;
- #145 = Methodref #2.#144 // org/gradle/demo/api/evolution/DynamicGroovyClient.class$:(Ljava/lang/String;)Ljava/lang/Class;
- #146 = Utf8 java/lang/Class
- #147 = Class #146 // java/lang/Class
- #148 = Utf8 forName
- #149 = NameAndType #148:#143 // forName:(Ljava/lang/String;)Ljava/lang/Class;
- #150 = Methodref #147.#149 // java/lang/Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
- #151 = Utf8 java/lang/NoClassDefFoundError
- #152 = Class #151 // java/lang/NoClassDefFoundError
- #153 = Utf8 java/lang/ClassNotFoundException
- #154 = Class #153 // java/lang/ClassNotFoundException
- #155 = Utf8 getMessage
- #156 = Utf8 ()Ljava/lang/String;
- #157 = NameAndType #155:#156 // getMessage:()Ljava/lang/String;
- #158 = Methodref #154.#157 // java/lang/ClassNotFoundException.getMessage:()Ljava/lang/String;
- #159 = Utf8 (Ljava/lang/String;)V
- #160 = NameAndType #14:#159 // "<init>":(Ljava/lang/String;)V
- #161 = Methodref #152.#160 // java/lang/NoClassDefFoundError."<init>":(Ljava/lang/String;)V
- #162 = Utf8 Code
- #163 = Utf8 LocalVariableTable
- #164 = Utf8 RuntimeVisibleAnnotations
- #165 = Utf8 LineNumberTable
- #166 = Utf8 StackMapTable
- #167 = Utf8 SourceFile
+ #33 = Utf8 org/gradle/demo/api/evolution/Server
+ #34 = Class #33 // org/gradle/demo/api/evolution/Server
+ #35 = Utf8 org/codehaus/groovy/runtime/callsite/CallSite
+ #36 = Class #35 // org/codehaus/groovy/runtime/callsite/CallSite
+ #37 = Utf8 callConstructor
+ #38 = Utf8 (Ljava/lang/Object;)Ljava/lang/Object;
+ #39 = NameAndType #37:#38 // callConstructor:(Ljava/lang/Object;)Ljava/lang/Object;
+ #40 = InterfaceMethodref #36.#39 // org/codehaus/groovy/runtime/callsite/CallSite.callConstructor:(Ljava/lang/Object;)Ljava/lang/Object;
+ #41 = Integer 1
+ #42 = Utf8 callStatic
+ #43 = Utf8 (Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
+ #44 = NameAndType #42:#43 // callStatic:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
+ #45 = InterfaceMethodref #36.#44 // org/codehaus/groovy/runtime/callsite/CallSite.callStatic:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
+ #46 = Integer 2
+ #47 = Integer 3
+ #48 = Utf8 server
+ #49 = Utf8 Ljava/lang/Object;
+ #50 = Utf8 doSet
+ #51 = Utf8 (Ljava/lang/Object;)V
+ #52 = Integer 4
+ #53 = Utf8 lajos
+ #54 = String #53 // lajos
+ #55 = Utf8 call
+ #56 = Utf8 (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+ #57 = NameAndType #55:#56 // call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+ #58 = InterfaceMethodref #36.#57 // org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+ #59 = Utf8 doGet
+ #60 = Integer 5
+ #61 = NameAndType #55:#38 // call:(Ljava/lang/Object;)Ljava/lang/Object;
+ #62 = InterfaceMethodref #36.#61 // org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
+ #63 = Utf8 getClass
+ #64 = Utf8 ()Ljava/lang/Class;
+ #65 = NameAndType #63:#64 // getClass:()Ljava/lang/Class;
+ #66 = Methodref #4.#65 // java/lang/Object.getClass:()Ljava/lang/Class;
+ #67 = Utf8 org/codehaus/groovy/runtime/ScriptBytecodeAdapter
+ #68 = Class #67 // org/codehaus/groovy/runtime/ScriptBytecodeAdapter
+ #69 = Utf8 initMetaClass
+ #70 = Utf8 (Ljava/lang/Object;)Lgroovy/lang/MetaClass;
+ #71 = NameAndType #69:#70 // initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
+ #72 = Methodref #68.#71 // org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
+ #73 = NameAndType #8:#9 // $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
+ #74 = Fieldref #2.#73 // org/gradle/demo/api/evolution/DynamicGroovyClient.$staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
+ #75 = Utf8 org/codehaus/groovy/reflection/ClassInfo
+ #76 = Class #75 // org/codehaus/groovy/reflection/ClassInfo
+ #77 = Utf8 getClassInfo
+ #78 = Utf8 (Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
+ #79 = NameAndType #77:#78 // getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
+ #80 = Methodref #76.#79 // org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
+ #81 = Utf8 getMetaClass
+ #82 = NameAndType #81:#24 // getMetaClass:()Lgroovy/lang/MetaClass;
+ #83 = Methodref #76.#82 // org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
+ #84 = Utf8 Lgroovy/transform/Internal;
+ #85 = Utf8 Ljava/beans/Transient;
+ #86 = Utf8 groovy/lang/MetaClass
+ #87 = Class #86 // groovy/lang/MetaClass
+ #88 = Utf8 setMetaClass
+ #89 = Utf8 (Lgroovy/lang/MetaClass;)V
+ #90 = Utf8 $callSiteArray
+ #91 = Utf8 Ljava/lang/ref/SoftReference;
+ #92 = Utf8 $createCallSiteArray_1
+ #93 = Utf8 ([Ljava/lang/String;)V
+ #94 = Utf8 <$constructor$>
+ #95 = String #94 // <$constructor$>
+ #96 = String #50 // doSet
+ #97 = Utf8 println
+ #98 = String #97 // println
+ #99 = String #59 // doGet
+ #100 = Utf8 setTestProperty
+ #101 = String #100 // setTestProperty
+ #102 = Utf8 getTestProperty
+ #103 = String #102 // getTestProperty
+ #104 = Utf8 $createCallSiteArray
+ #105 = Utf8 ()Lorg/codehaus/groovy/runtime/callsite/CallSiteArray;
+ #106 = Integer 6
+ #107 = Utf8 java/lang/String
+ #108 = Class #107 // java/lang/String
+ #109 = NameAndType #92:#93 // $createCallSiteArray_1:([Ljava/lang/String;)V
+ #110 = Methodref #2.#109 // org/gradle/demo/api/evolution/DynamicGroovyClient.$createCallSiteArray_1:([Ljava/lang/String;)V
+ #111 = Utf8 org/codehaus/groovy/runtime/callsite/CallSiteArray
+ #112 = Class #111 // org/codehaus/groovy/runtime/callsite/CallSiteArray
+ #113 = Utf8 (Ljava/lang/Class;[Ljava/lang/String;)V
+ #114 = NameAndType #14:#113 // "<init>":(Ljava/lang/Class;[Ljava/lang/String;)V
+ #115 = Methodref #112.#114 // org/codehaus/groovy/runtime/callsite/CallSiteArray."<init>":(Ljava/lang/Class;[Ljava/lang/String;)V
+ #116 = NameAndType #90:#91 // $callSiteArray:Ljava/lang/ref/SoftReference;
+ #117 = Fieldref #2.#116 // org/gradle/demo/api/evolution/DynamicGroovyClient.$callSiteArray:Ljava/lang/ref/SoftReference;
+ #118 = Utf8 java/lang/ref/SoftReference
+ #119 = Class #118 // java/lang/ref/SoftReference
+ #120 = Utf8 get
+ #121 = Utf8 ()Ljava/lang/Object;
+ #122 = NameAndType #120:#121 // get:()Ljava/lang/Object;
+ #123 = Methodref #119.#122 // java/lang/ref/SoftReference.get:()Ljava/lang/Object;
+ #124 = NameAndType #104:#105 // $createCallSiteArray:()Lorg/codehaus/groovy/runtime/callsite/CallSiteArray;
+ #125 = Methodref #2.#124 // org/gradle/demo/api/evolution/DynamicGroovyClient.$createCallSiteArray:()Lorg/codehaus/groovy/runtime/callsite/CallSiteArray;
+ #126 = NameAndType #14:#51 // "<init>":(Ljava/lang/Object;)V
+ #127 = Methodref #119.#126 // java/lang/ref/SoftReference."<init>":(Ljava/lang/Object;)V
+ #128 = Utf8 array
+ #129 = Utf8 [Lorg/codehaus/groovy/runtime/callsite/CallSite;
+ #130 = NameAndType #128:#129 // array:[Lorg/codehaus/groovy/runtime/callsite/CallSite;
+ #131 = Fieldref #112.#130 // org/codehaus/groovy/runtime/callsite/CallSiteArray.array:[Lorg/codehaus/groovy/runtime/callsite/CallSite;
+ #132 = Utf8 Code
+ #133 = Utf8 LocalVariableTable
+ #134 = Utf8 RuntimeVisibleAnnotations
+ #135 = Utf8 LineNumberTable
+ #136 = Utf8 StackMapTable
+ #137 = Utf8 SourceFile
{
private static org.codehaus.groovy.reflection.ClassInfo $staticClassInfo;
descriptor: Lorg/codehaus/groovy/reflection/ClassInfo;
@@ -194,10 +164,6 @@
descriptor: Ljava/lang/ref/SoftReference;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
- private static java.lang.Class $class$org$gradle$demo$api$evolution$Server;
- descriptor: Ljava/lang/Class;
- flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
-
public org.gradle.demo.api.evolution.DynamicGroovyClient();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
@@ -236,38 +202,38 @@
5: aload_0
6: ldc #32 // int 0
8: aaload
- 9: invokestatic #36 // Method $get$$class$org$gradle$demo$api$evolution$Server:()Ljava/lang/Class;
- 12: invokeinterface #42, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callConstructor:(Ljava/lang/Object;)Ljava/lang/Object;
- 17: astore_1
- 18: aload_1
- 19: pop
- 20: aload_0
- 21: ldc #43 // int 1
- 23: aaload
- 24: ldc #2 // class org/gradle/demo/api/evolution/DynamicGroovyClient
- 26: aload_1
- 27: invokeinterface #47, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callStatic:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
- 32: pop
- 33: aload_0
- 34: ldc #48 // int 2
- 36: aaload
- 37: ldc #2 // class org/gradle/demo/api/evolution/DynamicGroovyClient
- 39: aload_0
- 40: ldc #49 // int 3
- 42: aaload
- 43: ldc #2 // class org/gradle/demo/api/evolution/DynamicGroovyClient
- 45: aload_1
- 46: invokeinterface #47, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callStatic:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
- 51: invokeinterface #47, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callStatic:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
- 56: pop
- 57: return
+ 9: ldc #34 // class org/gradle/demo/api/evolution/Server
+ 11: invokeinterface #40, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callConstructor:(Ljava/lang/Object;)Ljava/lang/Object;
+ 16: astore_1
+ 17: aload_1
+ 18: pop
+ 19: aload_0
+ 20: ldc #41 // int 1
+ 22: aaload
+ 23: ldc #2 // class org/gradle/demo/api/evolution/DynamicGroovyClient
+ 25: aload_1
+ 26: invokeinterface #45, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callStatic:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
+ 31: pop
+ 32: aload_0
+ 33: ldc #46 // int 2
+ 35: aaload
+ 36: ldc #2 // class org/gradle/demo/api/evolution/DynamicGroovyClient
+ 38: aload_0
+ 39: ldc #47 // int 3
+ 41: aaload
+ 42: ldc #2 // class org/gradle/demo/api/evolution/DynamicGroovyClient
+ 44: aload_1
+ 45: invokeinterface #45, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callStatic:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
+ 50: invokeinterface #45, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.callStatic:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
+ 55: pop
+ 56: return
LineNumberTable:
line 5: 5
- line 6: 20
- line 7: 33
+ line 6: 19
+ line 7: 32
LocalVariableTable:
Start Length Slot Name Signature
- 18 39 1 server Ljava/lang/Object;
+ 17 39 1 server Ljava/lang/Object;
private static void doSet(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
@@ -278,46 +244,38 @@
1: invokestatic #20 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
4: astore_1
5: aload_1
- 6: ldc #54 // int 4
+ 6: ldc #52 // int 4
8: aaload
- 9: aload_1
- 10: ldc #55 // int 5
- 12: aaload
- 13: aload_0
- 14: invokeinterface #58, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
- 19: ldc #60 // String lajos
- 21: invokeinterface #63, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
- 26: pop
- 27: return
+ 9: aload_0
+ 10: ldc #54 // String lajos
+ 12: invokeinterface #58, 3 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+ 17: pop
+ 18: return
LineNumberTable:
line 11: 5
LocalVariableTable:
Start Length Slot Name Signature
- 0 27 0 server Ljava/lang/Object;
+ 0 18 0 server Ljava/lang/Object;
private static java.lang.Object doGet(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
- stack=3, locals=2, args_size=1
+ stack=2, locals=2, args_size=1
0: nop
1: invokestatic #20 // Method $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite;
4: astore_1
5: aload_1
- 6: ldc #65 // int 6
+ 6: ldc #60 // int 5
8: aaload
- 9: aload_1
- 10: ldc #66 // int 7
- 12: aaload
- 13: aload_0
- 14: invokeinterface #58, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
- 19: invokeinterface #58, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
- 24: areturn
+ 9: aload_0
+ 10: invokeinterface #62, 2 // InterfaceMethod org/codehaus/groovy/runtime/callsite/CallSite.call:(Ljava/lang/Object;)Ljava/lang/Object;
+ 15: areturn
LineNumberTable:
line 14: 5
LocalVariableTable:
Start Length Slot Name Signature
- 0 25 0 server Ljava/lang/Object;
+ 0 16 0 server Ljava/lang/Object;
protected groovy.lang.MetaClass $getStaticMetaClass();
descriptor: ()Lgroovy/lang/MetaClass;
@@ -325,24 +283,24 @@
Code:
stack=2, locals=2, args_size=1
0: aload_0
- 1: invokevirtual #69 // Method java/lang/Object.getClass:()Ljava/lang/Class;
+ 1: invokevirtual #66 // Method java/lang/Object.getClass:()Ljava/lang/Class;
4: ldc #2 // class org/gradle/demo/api/evolution/DynamicGroovyClient
6: if_acmpeq 14
9: aload_0
- 10: invokestatic #75 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
+ 10: invokestatic #72 // Method org/codehaus/groovy/runtime/ScriptBytecodeAdapter.initMetaClass:(Ljava/lang/Object;)Lgroovy/lang/MetaClass;
13: areturn
- 14: getstatic #77 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
+ 14: getstatic #74 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
17: astore_1
18: aload_1
19: ifnonnull 34
22: aload_0
- 23: invokevirtual #69 // Method java/lang/Object.getClass:()Ljava/lang/Class;
- 26: invokestatic #83 // Method org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
+ 23: invokevirtual #66 // Method java/lang/Object.getClass:()Ljava/lang/Class;
+ 26: invokestatic #80 // Method org/codehaus/groovy/reflection/ClassInfo.getClassInfo:(Ljava/lang/Class;)Lorg/codehaus/groovy/reflection/ClassInfo;
29: dup
30: astore_1
- 31: putstatic #77 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
+ 31: putstatic #74 // Field $staticClassInfo:Lorg/codehaus/groovy/reflection/ClassInfo;
34: aload_1
- 35: invokevirtual #86 // Method org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
+ 35: invokevirtual #83 // Method org/codehaus/groovy/reflection/ClassInfo.getMetaClass:()Lgroovy/lang/MetaClass;
38: areturn
StackMapTable: number_of_entries = 2
frame_type = 14 /* same */
@@ -374,9 +332,9 @@
RuntimeVisibleAnnotations:
0: #16()
groovy.transform.Generated
- 1: #87()
+ 1: #84()
groovy.transform.Internal
- 2: #88()
+ 2: #85()
java.beans.Transient
public void setMetaClass(groovy.lang.MetaClass);
@@ -391,7 +349,7 @@
RuntimeVisibleAnnotations:
0: #16()
groovy.transform.Generated
- 1: #87()
+ 1: #84()
groovy.transform.Internal
private static void $createCallSiteArray_1(java.lang.String[]);
@@ -401,53 +359,45 @@
stack=3, locals=1, args_size=1
0: aload_0
1: ldc #32 // int 0
- 3: ldc #98 // String <$constructor$>
+ 3: ldc #95 // String <$constructor$>
5: aastore
6: aload_0
- 7: ldc #43 // int 1
- 9: ldc #99 // String doSet
+ 7: ldc #41 // int 1
+ 9: ldc #96 // String doSet
11: aastore
12: aload_0
- 13: ldc #48 // int 2
- 15: ldc #101 // String println
+ 13: ldc #46 // int 2
+ 15: ldc #98 // String println
17: aastore
18: aload_0
- 19: ldc #49 // int 3
- 21: ldc #102 // String doGet
+ 19: ldc #47 // int 3
+ 21: ldc #99 // String doGet
23: aastore
24: aload_0
- 25: ldc #54 // int 4
- 27: ldc #104 // String set
+ 25: ldc #52 // int 4
+ 27: ldc #101 // String setTestProperty
29: aastore
30: aload_0
- 31: ldc #55 // int 5
- 33: ldc #106 // String getTestProperty
+ 31: ldc #60 // int 5
+ 33: ldc #103 // String getTestProperty
35: aastore
- 36: aload_0
- 37: ldc #65 // int 6
- 39: ldc #108 // String get
- 41: aastore
- 42: aload_0
- 43: ldc #66 // int 7
- 45: ldc #106 // String getTestProperty
- 47: aastore
- 48: return
+ 36: return
private static org.codehaus.groovy.runtime.callsite.CallSiteArray $createCallSiteArray();
descriptor: ()Lorg/codehaus/groovy/runtime/callsite/CallSiteArray;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=1, args_size=0
- 0: ldc #111 // int 8
- 2: anewarray #113 // class java/lang/String
+ 0: ldc #106 // int 6
+ 2: anewarray #108 // class java/lang/String
5: astore_0
6: aload_0
- 7: invokestatic #115 // Method $createCallSiteArray_1:([Ljava/lang/String;)V
- 10: new #117 // class org/codehaus/groovy/runtime/callsite/CallSiteArray
+ 7: invokestatic #110 // Method $createCallSiteArray_1:([Ljava/lang/String;)V
+ 10: new #112 // class org/codehaus/groovy/runtime/callsite/CallSiteArray
13: dup
14: ldc #2 // class org/gradle/demo/api/evolution/DynamicGroovyClient
16: aload_0
- 17: invokespecial #120 // Method org/codehaus/groovy/runtime/callsite/CallSiteArray."<init>":(Ljava/lang/Class;[Ljava/lang/String;)V
+ 17: invokespecial #115 // 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();
@@ -455,68 +405,28 @@
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
- 0: getstatic #122 // Field $callSiteArray:Ljava/lang/ref/SoftReference;
+ 0: getstatic #117 // Field $callSiteArray:Ljava/lang/ref/SoftReference;
3: ifnull 20
- 6: getstatic #122 // Field $callSiteArray:Ljava/lang/ref/SoftReference;
- 9: invokevirtual #127 // Method java/lang/ref/SoftReference.get:()Ljava/lang/Object;
- 12: checkcast #117 // class org/codehaus/groovy/runtime/callsite/CallSiteArray
+ 6: getstatic #117 // Field $callSiteArray:Ljava/lang/ref/SoftReference;
+ 9: invokevirtual #123 // Method java/lang/ref/SoftReference.get:()Ljava/lang/Object;
+ 12: checkcast #112 // class org/codehaus/groovy/runtime/callsite/CallSiteArray
15: dup
16: astore_0
17: ifnonnull 35
- 20: invokestatic #129 // Method $createCallSiteArray:()Lorg/codehaus/groovy/runtime/callsite/CallSiteArray;
+ 20: invokestatic #125 // Method $createCallSiteArray:()Lorg/codehaus/groovy/runtime/callsite/CallSiteArray;
23: astore_0
- 24: new #124 // class java/lang/ref/SoftReference
+ 24: new #119 // class java/lang/ref/SoftReference
27: dup
28: aload_0
- 29: invokespecial #131 // Method java/lang/ref/SoftReference."<init>":(Ljava/lang/Object;)V
- 32: putstatic #122 // Field $callSiteArray:Ljava/lang/ref/SoftReference;
+ 29: invokespecial #127 // Method java/lang/ref/SoftReference."<init>":(Ljava/lang/Object;)V
+ 32: putstatic #117 // Field $callSiteArray:Ljava/lang/ref/SoftReference;
35: aload_0
- 36: getfield #135 // Field org/codehaus/groovy/runtime/callsite/CallSiteArray.array:[Lorg/codehaus/groovy/runtime/callsite/CallSite;
+ 36: getfield #131 // Field org/codehaus/groovy/runtime/callsite/CallSiteArray.array:[Lorg/codehaus/groovy/runtime/callsite/CallSite;
39: areturn
StackMapTable: number_of_entries = 2
frame_type = 20 /* same */
frame_type = 252 /* append */
offset_delta = 14
locals = [ class org/codehaus/groovy/runtime/callsite/CallSiteArray ]
-
- private static java.lang.Class $get$$class$org$gradle$demo$api$evolution$Server();
- descriptor: ()Ljava/lang/Class;
- flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
- Code:
- stack=2, locals=0, args_size=0
- 0: getstatic #139 // Field $class$org$gradle$demo$api$evolution$Server:Ljava/lang/Class;
- 3: dup
- 4: ifnonnull 17
- 7: pop
- 8: ldc #141 // String org.gradle.demo.api.evolution.Server
- 10: invokestatic #145 // Method class$:(Ljava/lang/String;)Ljava/lang/Class;
- 13: dup
- 14: putstatic #139 // Field $class$org$gradle$demo$api$evolution$Server:Ljava/lang/Class;
- 17: areturn
- StackMapTable: number_of_entries = 1
- frame_type = 81 /* same_locals_1_stack_item */
- stack = [ class java/lang/Class ]
-
- static java.lang.Class class$(java.lang.String);
- descriptor: (Ljava/lang/String;)Ljava/lang/Class;
- flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
- Code:
- stack=3, locals=2, args_size=1
- 0: aload_0
- 1: invokestatic #150 // Method java/lang/Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
- 4: areturn
- 5: astore_1
- 6: new #152 // class java/lang/NoClassDefFoundError
- 9: dup
- 10: aload_1
- 11: invokevirtual #158 // Method java/lang/ClassNotFoundException.getMessage:()Ljava/lang/String;
- 14: invokespecial #161 // Method java/lang/NoClassDefFoundError."<init>":(Ljava/lang/String;)V
- 17: athrow
- Exception table:
- from to target type
- 0 5 5 Class java/lang/ClassNotFoundException
- StackMapTable: number_of_entries = 1
- frame_type = 69 /* same_locals_1_stack_item */
- stack = [ class java/lang/ClassNotFoundException ]
}
SourceFile: "DynamicGroovyClient.groovy"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment