@@ -117,7 +117,7 @@ public Class<?> bulid() {
117
117
mv = cw .visitMethod (ACC_PUBLIC , "<init>" , "()V" , null , null );
118
118
mv .visitCode ();
119
119
mv .visitVarInsn (ALOAD , 0 );
120
- mv .visitMethodInsn (INVOKESPECIAL , METHOD_ACCESS_NAME , "<init>" , "()V" );
120
+ mv .visitMethodInsn (INVOKESPECIAL , METHOD_ACCESS_NAME , "<init>" , "()V" , false );
121
121
mv .visitInsn (RETURN );
122
122
mv .visitMaxs (1 , 1 );
123
123
mv .visitEnd ();
@@ -192,7 +192,7 @@ public Class<?> bulid() {
192
192
mv .visitFieldInsn (GETFIELD , classNameInternal , acc .getName (), fieldType .getDescriptor ());
193
193
} else {
194
194
String sig = Type .getMethodDescriptor (acc .getter );
195
- mv .visitMethodInsn (INVOKEVIRTUAL , classNameInternal , acc .getter .getName (), sig );
195
+ mv .visitMethodInsn (INVOKEVIRTUAL , classNameInternal , acc .getter .getName (), sig , false );
196
196
}
197
197
ASMUtil .autoBoxing (mv , fieldType );
198
198
mv .visitInsn (ARETURN );
@@ -213,7 +213,7 @@ public Class<?> bulid() {
213
213
if (acc .getter == null )
214
214
throw new RuntimeException ("no Getter for field " + acc .getName () + " in class " + this .className );
215
215
String sig = Type .getMethodDescriptor (acc .getter );
216
- mv .visitMethodInsn (INVOKEVIRTUAL , classNameInternal , acc .getter .getName (), sig );
216
+ mv .visitMethodInsn (INVOKEVIRTUAL , classNameInternal , acc .getter .getName (), sig , false );
217
217
}
218
218
ASMUtil .autoBoxing (mv , fieldType );
219
219
mv .visitInsn (ARETURN );
@@ -244,7 +244,7 @@ public Class<?> bulid() {
244
244
for (Accessor acc : accs ) {
245
245
mv .visitVarInsn (ALOAD , 2 );
246
246
mv .visitLdcInsn (acc .fieldName );
247
- mv .visitMethodInsn (INVOKEVIRTUAL , "java/lang/String" , "equals" , "(Ljava/lang/Object;)Z" );
247
+ mv .visitMethodInsn (INVOKEVIRTUAL , "java/lang/String" , "equals" , "(Ljava/lang/Object;)Z" , false );
248
248
mv .visitJumpInsn (IFEQ , labels [i ]);
249
249
internalSetFiled (mv , acc );
250
250
mv .visitLabel (labels [i ]);
@@ -270,7 +270,7 @@ public Class<?> bulid() {
270
270
for (Accessor acc : accs ) {
271
271
mv .visitVarInsn (ALOAD , 2 ); // methodName
272
272
mv .visitLdcInsn (acc .fieldName );
273
- mv .visitMethodInsn (INVOKEVIRTUAL , "java/lang/String" , "equals" , "(Ljava/lang/Object;)Z" );
273
+ mv .visitMethodInsn (INVOKEVIRTUAL , "java/lang/String" , "equals" , "(Ljava/lang/Object;)Z" , false );
274
274
mv .visitJumpInsn (IFEQ , labels [i ]);
275
275
mv .visitVarInsn (ALOAD , 1 ); // object
276
276
mv .visitTypeInsn (CHECKCAST , classNameInternal );
@@ -279,7 +279,7 @@ public Class<?> bulid() {
279
279
mv .visitFieldInsn (GETFIELD , classNameInternal , acc .getName (), fieldType .getDescriptor ());
280
280
} else {
281
281
String sig = Type .getMethodDescriptor (acc .getter );
282
- mv .visitMethodInsn (INVOKEVIRTUAL , classNameInternal , acc .getter .getName (), sig );
282
+ mv .visitMethodInsn (INVOKEVIRTUAL , classNameInternal , acc .getter .getName (), sig , false );
283
283
}
284
284
ASMUtil .autoBoxing (mv , fieldType );
285
285
mv .visitInsn (ARETURN );
@@ -302,7 +302,7 @@ public Class<?> bulid() {
302
302
mv .visitCode ();
303
303
mv .visitTypeInsn (NEW , classNameInternal );
304
304
mv .visitInsn (DUP );
305
- mv .visitMethodInsn (INVOKESPECIAL , classNameInternal , "<init>" , "()V" );
305
+ mv .visitMethodInsn (INVOKESPECIAL , classNameInternal , "<init>" , "()V" , false );
306
306
mv .visitInsn (ARETURN );
307
307
mv .visitMaxs (2 , 1 );
308
308
mv .visitEnd ();
@@ -359,15 +359,15 @@ private void internalSetFiled(MethodVisitor mv, Accessor acc) {
359
359
String clsSig = Type .getInternalName (conMtd .getDeclaringClass ());
360
360
String mtdName = conMtd .getName ();
361
361
String mtdSig = Type .getMethodDescriptor (conMtd );
362
- mv .visitMethodInsn (INVOKESTATIC , clsSig , mtdName , mtdSig );
362
+ mv .visitMethodInsn (INVOKESTATIC , clsSig , mtdName , mtdSig , false );
363
363
} else if (acc .isEnum ()) {
364
364
// builtIn Enum Conversion
365
365
Label isNull = new Label ();
366
366
mv .visitJumpInsn (IFNULL , isNull );
367
367
mv .visitVarInsn (ALOAD , 3 );
368
368
// mv.visitTypeInsn(CHECKCAST, "java/lang/String");
369
- mv .visitMethodInsn (INVOKEVIRTUAL , "java/lang/Object" , "toString" , "()Ljava/lang/String;" );
370
- mv .visitMethodInsn (INVOKESTATIC , destClsName , "valueOf" , "(Ljava/lang/String;)L" + destClsName + ";" );
369
+ mv .visitMethodInsn (INVOKEVIRTUAL , "java/lang/Object" , "toString" , "()Ljava/lang/String;" , false );
370
+ mv .visitMethodInsn (INVOKESTATIC , destClsName , "valueOf" , "(Ljava/lang/String;)L" + destClsName + ";" , false );
371
371
mv .visitVarInsn (ASTORE , 3 );
372
372
mv .visitLabel (isNull );
373
373
mv .visitFrame (Opcodes .F_SAME , 0 , null , 0 , null );
@@ -380,7 +380,7 @@ private void internalSetFiled(MethodVisitor mv, Accessor acc) {
380
380
Label isNull = new Label ();
381
381
mv .visitJumpInsn (IFNULL , isNull );
382
382
mv .visitVarInsn (ALOAD , 3 );
383
- mv .visitMethodInsn (INVOKEVIRTUAL , "java/lang/Object" , "toString" , "()Ljava/lang/String;" );
383
+ mv .visitMethodInsn (INVOKEVIRTUAL , "java/lang/Object" , "toString" , "()Ljava/lang/String;" , false );
384
384
mv .visitVarInsn (ASTORE , 3 );
385
385
mv .visitLabel (isNull );
386
386
mv .visitFrame (Opcodes .F_SAME , 0 , null , 0 , null );
@@ -396,7 +396,7 @@ private void internalSetFiled(MethodVisitor mv, Accessor acc) {
396
396
mv .visitFieldInsn (PUTFIELD , classNameInternal , acc .getName (), fieldType .getDescriptor ());
397
397
} else {
398
398
String sig = Type .getMethodDescriptor (acc .setter );
399
- mv .visitMethodInsn (INVOKEVIRTUAL , classNameInternal , acc .setter .getName (), sig );
399
+ mv .visitMethodInsn (INVOKEVIRTUAL , classNameInternal , acc .setter .getName (), sig , false );
400
400
}
401
401
mv .visitInsn (RETURN );
402
402
}
@@ -410,9 +410,9 @@ private void throwExIntParam(MethodVisitor mv, Class<?> exCls) {
410
410
mv .visitInsn (DUP );
411
411
mv .visitLdcInsn ("mapping " + this .className + " failed to map field:" );
412
412
mv .visitVarInsn (ILOAD , 2 );
413
- mv .visitMethodInsn (INVOKESTATIC , "java/lang/Integer" , "toString" , "(I)Ljava/lang/String;" );
414
- mv .visitMethodInsn (INVOKEVIRTUAL , "java/lang/String" , "concat" , "(Ljava/lang/String;)Ljava/lang/String;" );
415
- mv .visitMethodInsn (INVOKESPECIAL , exSig , "<init>" , "(Ljava/lang/String;)V" );
413
+ mv .visitMethodInsn (INVOKESTATIC , "java/lang/Integer" , "toString" , "(I)Ljava/lang/String;" , false );
414
+ mv .visitMethodInsn (INVOKEVIRTUAL , "java/lang/String" , "concat" , "(Ljava/lang/String;)Ljava/lang/String;" , false );
415
+ mv .visitMethodInsn (INVOKESPECIAL , exSig , "<init>" , "(Ljava/lang/String;)V" , false );
416
416
mv .visitInsn (ATHROW );
417
417
}
418
418
@@ -425,8 +425,8 @@ private void throwExStrParam(MethodVisitor mv, Class<?> exCls) {
425
425
mv .visitInsn (DUP );
426
426
mv .visitLdcInsn ("mapping " + this .className + " failed to map field:" );
427
427
mv .visitVarInsn (ALOAD , 2 );
428
- mv .visitMethodInsn (INVOKEVIRTUAL , "java/lang/String" , "concat" , "(Ljava/lang/String;)Ljava/lang/String;" );
429
- mv .visitMethodInsn (INVOKESPECIAL , exSig , "<init>" , "(Ljava/lang/String;)V" );
428
+ mv .visitMethodInsn (INVOKEVIRTUAL , "java/lang/String" , "concat" , "(Ljava/lang/String;)Ljava/lang/String;" , false );
429
+ mv .visitMethodInsn (INVOKESPECIAL , exSig , "<init>" , "(Ljava/lang/String;)V" , false );
430
430
mv .visitInsn (ATHROW );
431
431
}
432
432
0 commit comments