77import org .ow2 .asmdex .MethodVisitor ;
88import org .ow2 .asmdex .structureCommon .Label ;
99
10- public class dumpObject
10+ public class DumpObject
1111{
1212
13- public static void dumpObject (ApplicationWriter aw ) {
13+ public static void dump (ApplicationWriter aw ) {
1414 ClassVisitor cv ;
1515 FieldVisitor fv ;
1616 MethodVisitor mv ;
@@ -35,6 +35,7 @@ public static void dumpObject(ApplicationWriter aw) {
3535 fv = cv .visitField (org .ow2 .asmdex .Opcodes .ACC_PRIVATE , "__initialized" , "Z" , null , null );
3636 fv .visitEnd ();
3737 }
38+ String runtimeClass = "Lcom/tns/Runtime;" ;
3839 {
3940 mv = cv .visitMethod (org .ow2 .asmdex .Opcodes .ACC_PUBLIC + org .ow2 .asmdex .Opcodes .ACC_CONSTRUCTOR , "<init>" , "V" , null , null );
4041 mv .visitCode ();
@@ -45,14 +46,14 @@ public static void dumpObject(ApplicationWriter aw) {
4546 Label l0 = new Label ();
4647 mv .visitJumpInsn (org .ow2 .asmdex .Opcodes .INSN_IF_NEZ , l0 , 1 , 0 );
4748 mv .visitFieldInsn (org .ow2 .asmdex .Opcodes .INSN_IPUT_BOOLEAN , "Lcom/tns/java/lang/Object;" , "__initialized" , "Z" , 2 , 3 );
48- mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , "Lcom/tns/Platform;" , "initInstance" , "VLjava/lang/Object;" , new int [] { 3 });
49+ mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , runtimeClass , "initInstance" , "VLjava/lang/Object;" , new int [] { 3 });
4950 mv .visitLabel (l0 );
5051 mv .visitFieldInsn (org .ow2 .asmdex .Opcodes .INSN_IGET_BOOLEAN , "Lcom/tns/java/lang/Object;" , "__ctorOverridden" , "Z" , 1 , 3 );
5152 Label l1 = new Label ();
5253 mv .visitJumpInsn (org .ow2 .asmdex .Opcodes .INSN_IF_EQZ , l1 , 1 , 0 );
5354 mv .visitVarInsn (org .ow2 .asmdex .Opcodes .INSN_CONST_4 , 0 , 0 );
5455 mv .visitStringInsn (org .ow2 .asmdex .Opcodes .INSN_CONST_STRING , 1 , "init" );
55- mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , "Lcom/tns/Platform;" , "callJSMethod" , "Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;Z[Ljava/lang/Object;" , new int [] { 3 , 1 , 2 , 0 });
56+ mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , runtimeClass , "callJSMethod" , "Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;Z[Ljava/lang/Object;" , new int [] { 3 , 1 , 2 , 0 });
5657 mv .visitLabel (l1 );
5758 mv .visitInsn (org .ow2 .asmdex .Opcodes .INSN_RETURN_VOID );
5859 mv .visitEnd ();
@@ -66,15 +67,15 @@ public static void dumpObject(ApplicationWriter aw) {
6667 mv .visitJumpInsn (org .ow2 .asmdex .Opcodes .INSN_IF_NEZ , l0 , 1 , 0 );
6768 mv .visitVarInsn (org .ow2 .asmdex .Opcodes .INSN_CONST_4 , 1 , 1 );
6869 mv .visitFieldInsn (org .ow2 .asmdex .Opcodes .INSN_IPUT_BOOLEAN , "Lcom/tns/java/lang/Object;" , "__initialized" , "Z" , 1 , 2 );
69- mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , "Lcom/tns/Platform;" , "initInstance" , "VLjava/lang/Object;" , new int [] { 2 });
70+ mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , runtimeClass , "initInstance" , "VLjava/lang/Object;" , new int [] { 2 });
7071 mv .visitLabel (l0 );
7172 mv .visitFieldInsn (org .ow2 .asmdex .Opcodes .INSN_IGET_BYTE , "Lcom/tns/java/lang/Object;" , "__ho0" , "B" , 1 , 2 );
7273 mv .visitOperationInsn (org .ow2 .asmdex .Opcodes .INSN_AND_INT_LIT8 , 1 , 1 , 0 , 1 );
7374 Label l1 = new Label ();
7475 mv .visitJumpInsn (org .ow2 .asmdex .Opcodes .INSN_IF_LEZ , l1 , 1 , 0 );
7576 mv .visitVarInsn (org .ow2 .asmdex .Opcodes .INSN_CONST_4 , 0 , 0 );
7677 mv .visitStringInsn (org .ow2 .asmdex .Opcodes .INSN_CONST_STRING , 1 , "clone" );
77- mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , "Lcom/tns/Platform;" , "callJSMethod" , "Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;" , new int [] { 2 , 1 , 0 });
78+ mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , runtimeClass , "callJSMethod" , "Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;" , new int [] { 2 , 1 , 0 });
7879 mv .visitIntInsn (org .ow2 .asmdex .Opcodes .INSN_MOVE_RESULT_OBJECT , 1 );
7980 Label l2 = new Label ();
8081 mv .visitLabel (l2 );
@@ -103,7 +104,7 @@ public static void dumpObject(ApplicationWriter aw) {
103104 Label l0 = new Label ();
104105 mv .visitJumpInsn (org .ow2 .asmdex .Opcodes .INSN_IF_NEZ , l0 , 1 , 0 );
105106 mv .visitFieldInsn (org .ow2 .asmdex .Opcodes .INSN_IPUT_BOOLEAN , "Lcom/tns/java/lang/Object;" , "__initialized" , "Z" , 2 , 3 );
106- mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , "Lcom/tns/Platform;" , "initInstance" , "VLjava/lang/Object;" , new int [] { 3 });
107+ mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , runtimeClass , "initInstance" , "VLjava/lang/Object;" , new int [] { 3 });
107108 mv .visitLabel (l0 );
108109 mv .visitFieldInsn (org .ow2 .asmdex .Opcodes .INSN_IGET_BYTE , "Lcom/tns/java/lang/Object;" , "__ho0" , "B" , 1 , 3 );
109110 mv .visitOperationInsn (org .ow2 .asmdex .Opcodes .INSN_AND_INT_LIT8 , 1 , 1 , 0 , 2 );
@@ -113,7 +114,7 @@ public static void dumpObject(ApplicationWriter aw) {
113114 mv .visitVarInsn (org .ow2 .asmdex .Opcodes .INSN_CONST_4 , 1 , 0 );
114115 mv .visitArrayOperationInsn (org .ow2 .asmdex .Opcodes .INSN_APUT_OBJECT , 4 , 0 , 1 );
115116 mv .visitStringInsn (org .ow2 .asmdex .Opcodes .INSN_CONST_STRING , 1 , "equals" );
116- mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , "Lcom/tns/Platform;" , "callJSMethod" , "Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;" , new int [] { 3 , 1 , 0 });
117+ mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , runtimeClass , "callJSMethod" , "Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;" , new int [] { 3 , 1 , 0 });
117118 mv .visitIntInsn (org .ow2 .asmdex .Opcodes .INSN_MOVE_RESULT_OBJECT , 1 );
118119 mv .visitTypeInsn (org .ow2 .asmdex .Opcodes .INSN_CHECK_CAST , 0 , 1 , 0 , "Ljava/lang/Boolean;" );
119120 mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_VIRTUAL , "Ljava/lang/Boolean;" , "booleanValue" , "Z" , new int [] { 1 });
@@ -145,15 +146,15 @@ public static void dumpObject(ApplicationWriter aw) {
145146 mv .visitJumpInsn (org .ow2 .asmdex .Opcodes .INSN_IF_NEZ , l0 , 1 , 0 );
146147 mv .visitVarInsn (org .ow2 .asmdex .Opcodes .INSN_CONST_4 , 1 , 1 );
147148 mv .visitFieldInsn (org .ow2 .asmdex .Opcodes .INSN_IPUT_BOOLEAN , "Lcom/tns/java/lang/Object;" , "__initialized" , "Z" , 1 , 2 );
148- mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , "Lcom/tns/Platform;" , "initInstance" , "VLjava/lang/Object;" , new int [] { 2 });
149+ mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , runtimeClass , "initInstance" , "VLjava/lang/Object;" , new int [] { 2 });
149150 mv .visitLabel (l0 );
150151 mv .visitFieldInsn (org .ow2 .asmdex .Opcodes .INSN_IGET_BYTE , "Lcom/tns/java/lang/Object;" , "__ho0" , "B" , 1 , 2 );
151152 mv .visitOperationInsn (org .ow2 .asmdex .Opcodes .INSN_AND_INT_LIT8 , 1 , 1 , 0 , 4 );
152153 Label l1 = new Label ();
153154 mv .visitJumpInsn (org .ow2 .asmdex .Opcodes .INSN_IF_LEZ , l1 , 1 , 0 );
154155 mv .visitVarInsn (org .ow2 .asmdex .Opcodes .INSN_CONST_4 , 0 , 0 );
155156 mv .visitStringInsn (org .ow2 .asmdex .Opcodes .INSN_CONST_STRING , 1 , "finalize" );
156- mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , "Lcom/tns/Platform;" , "callJSMethod" , "Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;" , new int [] { 2 , 1 , 0 });
157+ mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , runtimeClass , "callJSMethod" , "Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;" , new int [] { 2 , 1 , 0 });
157158 Label l2 = new Label ();
158159 mv .visitLabel (l2 );
159160 mv .visitInsn (org .ow2 .asmdex .Opcodes .INSN_RETURN_VOID );
@@ -179,15 +180,15 @@ public static void dumpObject(ApplicationWriter aw) {
179180 mv .visitJumpInsn (org .ow2 .asmdex .Opcodes .INSN_IF_NEZ , l0 , 1 , 0 );
180181 mv .visitVarInsn (org .ow2 .asmdex .Opcodes .INSN_CONST_4 , 1 , 1 );
181182 mv .visitFieldInsn (org .ow2 .asmdex .Opcodes .INSN_IPUT_BOOLEAN , "Lcom/tns/java/lang/Object;" , "__initialized" , "Z" , 1 , 2 );
182- mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , "Lcom/tns/Platform;" , "initInstance" , "VLjava/lang/Object;" , new int [] { 2 });
183+ mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , runtimeClass , "initInstance" , "VLjava/lang/Object;" , new int [] { 2 });
183184 mv .visitLabel (l0 );
184185 mv .visitFieldInsn (org .ow2 .asmdex .Opcodes .INSN_IGET_BYTE , "Lcom/tns/java/lang/Object;" , "__ho0" , "B" , 1 , 2 );
185186 mv .visitOperationInsn (org .ow2 .asmdex .Opcodes .INSN_AND_INT_LIT8 , 1 , 1 , 0 , 8 );
186187 Label l1 = new Label ();
187188 mv .visitJumpInsn (org .ow2 .asmdex .Opcodes .INSN_IF_LEZ , l1 , 1 , 0 );
188189 mv .visitVarInsn (org .ow2 .asmdex .Opcodes .INSN_CONST_4 , 0 , 0 );
189190 mv .visitStringInsn (org .ow2 .asmdex .Opcodes .INSN_CONST_STRING , 1 , "hashCode" );
190- mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , "Lcom/tns/Platform;" , "callJSMethod" , "Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;" , new int [] { 2 , 1 , 0 });
191+ mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , runtimeClass , "callJSMethod" , "Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;" , new int [] { 2 , 1 , 0 });
191192 mv .visitIntInsn (org .ow2 .asmdex .Opcodes .INSN_MOVE_RESULT_OBJECT , 1 );
192193 mv .visitTypeInsn (org .ow2 .asmdex .Opcodes .INSN_CHECK_CAST , 0 , 1 , 0 , "Ljava/lang/Integer;" );
193194 mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_VIRTUAL , "Ljava/lang/Integer;" , "intValue" , "I" , new int [] { 1 });
@@ -299,15 +300,15 @@ public static void dumpObject(ApplicationWriter aw) {
299300 mv .visitJumpInsn (org .ow2 .asmdex .Opcodes .INSN_IF_NEZ , l0 , 1 , 0 );
300301 mv .visitVarInsn (org .ow2 .asmdex .Opcodes .INSN_CONST_4 , 1 , 1 );
301302 mv .visitFieldInsn (org .ow2 .asmdex .Opcodes .INSN_IPUT_BOOLEAN , "Lcom/tns/java/lang/Object;" , "__initialized" , "Z" , 1 , 2 );
302- mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , "Lcom/tns/Platform;" , "initInstance" , "VLjava/lang/Object;" , new int [] { 2 });
303+ mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , runtimeClass , "initInstance" , "VLjava/lang/Object;" , new int [] { 2 });
303304 mv .visitLabel (l0 );
304305 mv .visitFieldInsn (org .ow2 .asmdex .Opcodes .INSN_IGET_BYTE , "Lcom/tns/java/lang/Object;" , "__ho0" , "B" , 1 , 2 );
305306 mv .visitOperationInsn (org .ow2 .asmdex .Opcodes .INSN_AND_INT_LIT8 , 1 , 1 , 0 , 16 );
306307 Label l1 = new Label ();
307308 mv .visitJumpInsn (org .ow2 .asmdex .Opcodes .INSN_IF_LEZ , l1 , 1 , 0 );
308309 mv .visitVarInsn (org .ow2 .asmdex .Opcodes .INSN_CONST_4 , 0 , 0 );
309310 mv .visitStringInsn (org .ow2 .asmdex .Opcodes .INSN_CONST_STRING , 1 , "toString" );
310- mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , "Lcom/tns/Platform;" , "callJSMethod" , "Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;" , new int [] { 2 , 1 , 0 });
311+ mv .visitMethodInsn (org .ow2 .asmdex .Opcodes .INSN_INVOKE_STATIC , runtimeClass , "callJSMethod" , "Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;" , new int [] { 2 , 1 , 0 });
311312 mv .visitIntInsn (org .ow2 .asmdex .Opcodes .INSN_MOVE_RESULT_OBJECT , 1 );
312313 mv .visitTypeInsn (org .ow2 .asmdex .Opcodes .INSN_CHECK_CAST , 0 , 1 , 0 , "Ljava/lang/String;" );
313314 Label l2 = new Label ();
0 commit comments