Repository: zest-qi4j Updated Branches: refs/heads/Updating_deprecated_methods_in_ASM [created] 87c37d06b
Rmoving warning of deprecated ASM. Project: http://git-wip-us.apache.org/repos/asf/zest-qi4j/repo Commit: http://git-wip-us.apache.org/repos/asf/zest-qi4j/commit/87c37d06 Tree: http://git-wip-us.apache.org/repos/asf/zest-qi4j/tree/87c37d06 Diff: http://git-wip-us.apache.org/repos/asf/zest-qi4j/diff/87c37d06 Branch: refs/heads/Updating_deprecated_methods_in_ASM Commit: 87c37d06bd89928da93847eb439e7ad35c14864f Parents: d7159b1 Author: Niclas Hedhman <[email protected]> Authored: Sun Apr 5 19:54:02 2015 +0300 Committer: Niclas Hedhman <[email protected]> Committed: Sun Apr 5 19:54:02 2015 +0300 ---------------------------------------------------------------------- .../runtime/composite/FragmentClassLoader.java | 42 +++++++-------- .../runtime/composite/TransientClassLoader.java | 42 +++++++-------- .../src/test/java/org/qi4j/test/ASMTest.java | 56 ++++++++++---------- 3 files changed, 70 insertions(+), 70 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/87c37d06/core/runtime/src/main/java/org/qi4j/runtime/composite/FragmentClassLoader.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/composite/FragmentClassLoader.java b/core/runtime/src/main/java/org/qi4j/runtime/composite/FragmentClassLoader.java index 4e9c525..996357d 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/composite/FragmentClassLoader.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/composite/FragmentClassLoader.java @@ -210,7 +210,7 @@ public class FragmentClassLoader cmv.visitVarInsn(opcode, idx++); } - cmv.visitMethodInsn(INVOKESPECIAL, baseClassSlash, "<init>", desc); + cmv.visitMethodInsn(INVOKESPECIAL, baseClassSlash, "<init>", desc, false); cmv.visitInsn(RETURN); cmv.visitMaxs(idx, idx); cmv.visitEnd(); @@ -299,7 +299,7 @@ public class FragmentClassLoader // Call method mv.visitMethodInsn( INVOKEINTERFACE, "org/qi4j/api/composite/CompositeInvoker", "invokeComposite", - "(Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;" ); + "(Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;", true ); // Return value if( !method.getReturnType().equals( Void.TYPE ) ) @@ -371,7 +371,7 @@ public class FragmentClassLoader } // Call method - mv.visitMethodInsn( INVOKESPECIAL, baseClassSlash, method.getName(), desc ); + mv.visitMethodInsn( INVOKESPECIAL, baseClassSlash, method.getName(), desc, false ); // Return value if( !method.getReturnType().equals( Void.TYPE ) ) @@ -442,7 +442,7 @@ public class FragmentClassLoader } mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Class", "getMethod", - "(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;" ); + "(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;", false ); mv.visitFieldInsn( PUTSTATIC, classSlash, "m" + midx, "Ljava/lang/reflect/Method;" ); } } @@ -454,7 +454,7 @@ public class FragmentClassLoader mv.visitFrame( Opcodes.F_SAME1, 0, null, 1, new Object[]{ "java/lang/NoSuchMethodException" } ); mv.visitVarInsn( ASTORE, 0 ); mv.visitVarInsn( ALOAD, 0 ); - mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/NoSuchMethodException", "printStackTrace", "()V" ); + mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/NoSuchMethodException", "printStackTrace", "()V", false ); mv.visitLabel( l3 ); mv.visitFrame( Opcodes.F_SAME, 0, null, 0, null ); mv.visitInsn( RETURN ); @@ -604,44 +604,44 @@ public class FragmentClassLoader if( aClass.equals( Integer.TYPE ) ) { mv.visitVarInsn( ILOAD, idx ); - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Integer", "valueOf", "(I)Ljava/lang/Integer;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Integer", "valueOf", "(I)Ljava/lang/Integer;", false ); } else if( aClass.equals( Long.TYPE ) ) { mv.visitVarInsn( LLOAD, idx ); - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Long", "valueOf", "(J)Ljava/lang/Long;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Long", "valueOf", "(J)Ljava/lang/Long;", false ); idx++; // Extra jump } else if( aClass.equals( Short.TYPE ) ) { mv.visitVarInsn( ILOAD, idx ); - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Short", "valueOf", "(S)Ljava/lang/Short;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Short", "valueOf", "(S)Ljava/lang/Short;", false ); } else if( aClass.equals( Byte.TYPE ) ) { mv.visitVarInsn( ILOAD, idx ); - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Byte", "valueOf", "(B)Ljava/lang/Byte;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Byte", "valueOf", "(B)Ljava/lang/Byte;", false ); } else if( aClass.equals( Double.TYPE ) ) { mv.visitVarInsn( DLOAD, idx ); idx++; // Extra jump - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Double", "valueOf", "(D)Ljava/lang/Double;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Double", "valueOf", "(D)Ljava/lang/Double;", false ); } else if( aClass.equals( Float.TYPE ) ) { mv.visitVarInsn( FLOAD, idx ); - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Float", "valueOf", "(F)Ljava/lang/Float;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Float", "valueOf", "(F)Ljava/lang/Float;", false ); } else if( aClass.equals( Boolean.TYPE ) ) { mv.visitVarInsn( ILOAD, idx ); - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Boolean", "valueOf", "(Z)Ljava/lang/Boolean;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Boolean", "valueOf", "(Z)Ljava/lang/Boolean;", false ); } else if( aClass.equals( Character.TYPE ) ) { mv.visitVarInsn( ILOAD, idx ); - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Character", "valueOf", "(C)Ljava/lang/Character;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Character", "valueOf", "(C)Ljava/lang/Character;", false ); } else { @@ -656,56 +656,56 @@ public class FragmentClassLoader if( aClass.equals( Integer.TYPE ) ) { mv.visitTypeInsn( CHECKCAST, "java/lang/Integer" ); - mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Integer", "intValue", "()I" ); + mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Integer", "intValue", "()I", false ); mv.visitLabel( label ); mv.visitInsn( IRETURN ); } else if( aClass.equals( Long.TYPE ) ) { mv.visitTypeInsn( CHECKCAST, "java/lang/Long" ); - mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Long", "longValue", "()J" ); + mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Long", "longValue", "()J", false ); mv.visitLabel( label ); mv.visitInsn( LRETURN ); } else if( aClass.equals( Short.TYPE ) ) { mv.visitTypeInsn( CHECKCAST, "java/lang/Short" ); - mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Short", "shortValue", "()S" ); + mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Short", "shortValue", "()S", false ); mv.visitLabel( label ); mv.visitInsn( IRETURN ); } else if( aClass.equals( Byte.TYPE ) ) { mv.visitTypeInsn( CHECKCAST, "java/lang/Byte" ); - mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Byte", "byteValue", "()B" ); + mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Byte", "byteValue", "()B", false ); mv.visitLabel( label ); mv.visitInsn( IRETURN ); } else if( aClass.equals( Double.TYPE ) ) { mv.visitTypeInsn( CHECKCAST, "java/lang/Double" ); - mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Double", "doubleValue", "()D" ); + mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Double", "doubleValue", "()D", false ); mv.visitLabel( label ); mv.visitInsn( DRETURN ); } else if( aClass.equals( Float.TYPE ) ) { mv.visitTypeInsn( CHECKCAST, "java/lang/Float" ); - mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Float", "floatValue", "()F" ); + mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Float", "floatValue", "()F", false ); mv.visitLabel( label ); mv.visitInsn( FRETURN ); } else if( aClass.equals( Boolean.TYPE ) ) { mv.visitTypeInsn( CHECKCAST, "java/lang/Boolean" ); - mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Boolean", "booleanValue", "()Z" ); + mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Boolean", "booleanValue", "()Z", false ); mv.visitLabel( label ); mv.visitInsn( IRETURN ); } else if( aClass.equals( Character.TYPE ) ) { mv.visitTypeInsn( CHECKCAST, "java/lang/Character" ); - mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Character", "charValue", "()C" ); + mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Character", "charValue", "()C", false ); mv.visitLabel( label ); mv.visitInsn( IRETURN ); } http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/87c37d06/core/runtime/src/main/java/org/qi4j/runtime/composite/TransientClassLoader.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/qi4j/runtime/composite/TransientClassLoader.java b/core/runtime/src/main/java/org/qi4j/runtime/composite/TransientClassLoader.java index b53c259..c9daa31 100644 --- a/core/runtime/src/main/java/org/qi4j/runtime/composite/TransientClassLoader.java +++ b/core/runtime/src/main/java/org/qi4j/runtime/composite/TransientClassLoader.java @@ -200,7 +200,7 @@ import static org.qi4j.api.util.Classes.interfacesOf; mv.visitVarInsn( ALOAD, idx++ ); } - mv.visitMethodInsn( INVOKESPECIAL, baseClassSlash, "<init>", desc ); + mv.visitMethodInsn( INVOKESPECIAL, baseClassSlash, "<init>", desc, false ); mv.visitInsn( RETURN ); mv.visitMaxs( idx, idx ); mv.visitEnd(); @@ -286,7 +286,7 @@ import static org.qi4j.api.util.Classes.interfacesOf; // Call method mv.visitMethodInsn( INVOKEINTERFACE, "org/qi4j/api/composite/CompositeInvoker", "invokeComposite", - "(Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;" ); + "(Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;", true ); // Return value if( !method.getReturnType().equals( Void.TYPE ) ) @@ -357,7 +357,7 @@ import static org.qi4j.api.util.Classes.interfacesOf; } // Call method - mv.visitMethodInsn( INVOKESPECIAL, baseClassSlash, method.getName(), desc ); + mv.visitMethodInsn( INVOKESPECIAL, baseClassSlash, method.getName(), desc, false ); // Return value if( !method.getReturnType().equals( Void.TYPE ) ) @@ -412,7 +412,7 @@ import static org.qi4j.api.util.Classes.interfacesOf; } mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Class", "getMethod", - "(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;" ); + "(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;", false ); mv.visitFieldInsn( PUTSTATIC, classSlash, "m" + midx, "Ljava/lang/reflect/Method;" ); } } @@ -424,7 +424,7 @@ import static org.qi4j.api.util.Classes.interfacesOf; mv.visitFrame( Opcodes.F_SAME1, 0, null, 1, new Object[]{ "java/lang/NoSuchMethodException" } ); mv.visitVarInsn( ASTORE, 0 ); mv.visitVarInsn( ALOAD, 0 ); - mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/NoSuchMethodException", "printStackTrace", "()V" ); + mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/NoSuchMethodException", "printStackTrace", "()V", false ); mv.visitLabel( l3 ); mv.visitFrame( Opcodes.F_SAME, 0, null, 0, null ); mv.visitInsn( RETURN ); @@ -556,44 +556,44 @@ import static org.qi4j.api.util.Classes.interfacesOf; if( aClass.equals( Integer.TYPE ) ) { mv.visitVarInsn( ILOAD, idx ); - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Integer", "valueOf", "(I)Ljava/lang/Integer;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Integer", "valueOf", "(I)Ljava/lang/Integer;", false ); } else if( aClass.equals( Long.TYPE ) ) { mv.visitVarInsn( LLOAD, idx ); - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Long", "valueOf", "(J)Ljava/lang/Long;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Long", "valueOf", "(J)Ljava/lang/Long;", false ); idx++; // Extra jump } else if( aClass.equals( Short.TYPE ) ) { mv.visitVarInsn( ILOAD, idx ); - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Short", "valueOf", "(S)Ljava/lang/Short;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Short", "valueOf", "(S)Ljava/lang/Short;", false ); } else if( aClass.equals( Byte.TYPE ) ) { mv.visitVarInsn( ILOAD, idx ); - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Byte", "valueOf", "(B)Ljava/lang/Byte;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Byte", "valueOf", "(B)Ljava/lang/Byte;", false ); } else if( aClass.equals( Double.TYPE ) ) { mv.visitVarInsn( DLOAD, idx ); idx++; // Extra jump - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Double", "valueOf", "(D)Ljava/lang/Double;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Double", "valueOf", "(D)Ljava/lang/Double;", false ); } else if( aClass.equals( Float.TYPE ) ) { mv.visitVarInsn( FLOAD, idx ); - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Float", "valueOf", "(F)Ljava/lang/Float;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Float", "valueOf", "(F)Ljava/lang/Float;", false ); } else if( aClass.equals( Boolean.TYPE ) ) { mv.visitVarInsn( ILOAD, idx ); - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Boolean", "valueOf", "(Z)Ljava/lang/Boolean;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Boolean", "valueOf", "(Z)Ljava/lang/Boolean;", false ); } else if( aClass.equals( Character.TYPE ) ) { mv.visitVarInsn( ILOAD, idx ); - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Character", "valueOf", "(C)Ljava/lang/Character;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Character", "valueOf", "(C)Ljava/lang/Character;", false ); } else { @@ -608,56 +608,56 @@ import static org.qi4j.api.util.Classes.interfacesOf; if( aClass.equals( Integer.TYPE ) ) { mv.visitTypeInsn( CHECKCAST, "java/lang/Integer" ); - mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Integer", "intValue", "()I" ); + mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Integer", "intValue", "()I", false ); mv.visitLabel( label ); mv.visitInsn( IRETURN ); } else if( aClass.equals( Long.TYPE ) ) { mv.visitTypeInsn( CHECKCAST, "java/lang/Long" ); - mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Long", "longValue", "()J" ); + mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Long", "longValue", "()J", false ); mv.visitLabel( label ); mv.visitInsn( LRETURN ); } else if( aClass.equals( Short.TYPE ) ) { mv.visitTypeInsn( CHECKCAST, "java/lang/Short" ); - mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Short", "shortValue", "()S" ); + mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Short", "shortValue", "()S", false ); mv.visitLabel( label ); mv.visitInsn( IRETURN ); } else if( aClass.equals( Byte.TYPE ) ) { mv.visitTypeInsn( CHECKCAST, "java/lang/Byte" ); - mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Byte", "byteValue", "()B" ); + mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Byte", "byteValue", "()B", false ); mv.visitLabel( label ); mv.visitInsn( IRETURN ); } else if( aClass.equals( Double.TYPE ) ) { mv.visitTypeInsn( CHECKCAST, "java/lang/Double" ); - mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Double", "doubleValue", "()D" ); + mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Double", "doubleValue", "()D", false ); mv.visitLabel( label ); mv.visitInsn( DRETURN ); } else if( aClass.equals( Float.TYPE ) ) { mv.visitTypeInsn( CHECKCAST, "java/lang/Float" ); - mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Float", "floatValue", "()F" ); + mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Float", "floatValue", "()F", false ); mv.visitLabel( label ); mv.visitInsn( FRETURN ); } else if( aClass.equals( Boolean.TYPE ) ) { mv.visitTypeInsn( CHECKCAST, "java/lang/Boolean" ); - mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Boolean", "booleanValue", "()Z" ); + mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Boolean", "booleanValue", "()Z", false ); mv.visitLabel( label ); mv.visitInsn( IRETURN ); } else if( aClass.equals( Character.TYPE ) ) { mv.visitTypeInsn( CHECKCAST, "java/lang/Character" ); - mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Character", "charValue", "()C" ); + mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Character", "charValue", "()C", false ); mv.visitLabel( label ); mv.visitInsn( IRETURN ); } http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/87c37d06/core/runtime/src/test/java/org/qi4j/test/ASMTest.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/test/java/org/qi4j/test/ASMTest.java b/core/runtime/src/test/java/org/qi4j/test/ASMTest.java index 797fc0a..c39fa71 100644 --- a/core/runtime/src/test/java/org/qi4j/test/ASMTest.java +++ b/core/runtime/src/test/java/org/qi4j/test/ASMTest.java @@ -196,7 +196,7 @@ public class ASMTest mv = cw.visitMethod( ACC_PUBLIC, "<init>", "()V", null, null ); mv.visitCode(); mv.visitVarInsn( ALOAD, 0 ); - mv.visitMethodInsn( INVOKESPECIAL, "org/qi4j/satisfiedBy/SomeMixin", "<init>", "()V" ); + mv.visitMethodInsn( INVOKESPECIAL, "org/qi4j/satisfiedBy/SomeMixin", "<init>", "()V", false ); mv.visitInsn( RETURN ); mv.visitMaxs( 1, 1 ); mv.visitEnd(); @@ -206,7 +206,7 @@ public class ASMTest mv.visitCode(); mv.visitVarInsn( ALOAD, 0 ); mv.visitVarInsn( ALOAD, 1 ); - mv.visitMethodInsn( INVOKESPECIAL, "org/qi4j/satisfiedBy/SomeMixin", "<init>", "(Ljava/lang/String;)V" ); + mv.visitMethodInsn( INVOKESPECIAL, "org/qi4j/satisfiedBy/SomeMixin", "<init>", "(Ljava/lang/String;)V", false ); mv.visitInsn( RETURN ); mv.visitMaxs( 2, 2 ); mv.visitEnd(); @@ -225,7 +225,7 @@ public class ASMTest mv.visitFieldInsn( GETSTATIC, "org/qi4j/satisfiedBy/SomeMixin_Stub", "m1", "Ljava/lang/reflect/Method;" ); mv.visitInsn( ACONST_NULL ); mv.visitMethodInsn( INVOKEINTERFACE, "org/qi4j/spi/composite/CompositeInvoker", "invokeComposite", - "(Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;" ); + "(Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;", true ); mv.visitTypeInsn( CHECKCAST, "java/lang/String" ); mv.visitLabel( l1 ); mv.visitInsn( ARETURN ); @@ -236,7 +236,7 @@ public class ASMTest mv.visitInsn( DUP ); mv.visitVarInsn( ALOAD, 1 ); mv.visitMethodInsn( INVOKESPECIAL, "java/lang/reflect/UndeclaredThrowableException", "<init>", - "(Ljava/lang/Throwable;)V" ); + "(Ljava/lang/Throwable;)V", false ); mv.visitInsn( ATHROW ); mv.visitMaxs( 3, 2 ); mv.visitEnd(); @@ -265,10 +265,10 @@ public class ASMTest mv.visitInsn( DUP ); mv.visitInsn( ICONST_1 ); mv.visitVarInsn( ILOAD, 2 ); - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Integer", "valueOf", "(I)Ljava/lang/Integer;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Integer", "valueOf", "(I)Ljava/lang/Integer;", false ); mv.visitInsn( AASTORE ); mv.visitMethodInsn( INVOKEINTERFACE, "org/qi4j/spi/composite/CompositeInvoker", "invokeComposite", - "(Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;" ); + "(Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;", true ); mv.visitTypeInsn( CHECKCAST, "java/lang/String" ); mv.visitLabel( l1 ); mv.visitInsn( ARETURN ); @@ -284,7 +284,7 @@ public class ASMTest mv.visitInsn( DUP ); mv.visitVarInsn( ALOAD, 3 ); mv.visitMethodInsn( INVOKESPECIAL, "java/lang/reflect/UndeclaredThrowableException", "<init>", - "(Ljava/lang/Throwable;)V" ); + "(Ljava/lang/Throwable;)V", false ); mv.visitInsn( ATHROW ); mv.visitMaxs( 6, 4 ); mv.visitEnd(); @@ -306,42 +306,42 @@ public class ASMTest mv.visitInsn( DUP ); mv.visitInsn( ICONST_0 ); mv.visitVarInsn( DLOAD, 1 ); - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Double", "valueOf", "(D)Ljava/lang/Double;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Double", "valueOf", "(D)Ljava/lang/Double;", false ); mv.visitInsn( AASTORE ); mv.visitInsn( DUP ); mv.visitInsn( ICONST_1 ); mv.visitVarInsn( ILOAD, 3 ); - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Boolean", "valueOf", "(Z)Ljava/lang/Boolean;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Boolean", "valueOf", "(Z)Ljava/lang/Boolean;", false ); mv.visitInsn( AASTORE ); mv.visitInsn( DUP ); mv.visitInsn( ICONST_2 ); mv.visitVarInsn( FLOAD, 4 ); - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Float", "valueOf", "(F)Ljava/lang/Float;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Float", "valueOf", "(F)Ljava/lang/Float;", false ); mv.visitInsn( AASTORE ); mv.visitInsn( DUP ); mv.visitInsn( ICONST_3 ); mv.visitVarInsn( ILOAD, 5 ); - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Character", "valueOf", "(C)Ljava/lang/Character;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Character", "valueOf", "(C)Ljava/lang/Character;", false ); mv.visitInsn( AASTORE ); mv.visitInsn( DUP ); mv.visitInsn( ICONST_4 ); mv.visitVarInsn( ILOAD, 6 ); - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Integer", "valueOf", "(I)Ljava/lang/Integer;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Integer", "valueOf", "(I)Ljava/lang/Integer;", false ); mv.visitInsn( AASTORE ); mv.visitInsn( DUP ); mv.visitInsn( ICONST_5 ); mv.visitVarInsn( LLOAD, 7 ); - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Long", "valueOf", "(J)Ljava/lang/Long;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Long", "valueOf", "(J)Ljava/lang/Long;", false ); mv.visitInsn( AASTORE ); mv.visitInsn( DUP ); mv.visitIntInsn( BIPUSH, 6 ); mv.visitVarInsn( ILOAD, 9 ); - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Short", "valueOf", "(S)Ljava/lang/Short;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Short", "valueOf", "(S)Ljava/lang/Short;", false ); mv.visitInsn( AASTORE ); mv.visitInsn( DUP ); mv.visitIntInsn( BIPUSH, 7 ); mv.visitVarInsn( ILOAD, 10 ); - mv.visitMethodInsn( INVOKESTATIC, "java/lang/Byte", "valueOf", "(B)Ljava/lang/Byte;" ); + mv.visitMethodInsn( INVOKESTATIC, "java/lang/Byte", "valueOf", "(B)Ljava/lang/Byte;", false ); mv.visitInsn( AASTORE ); mv.visitInsn( DUP ); mv.visitIntInsn( BIPUSH, 8 ); @@ -356,7 +356,7 @@ public class ASMTest mv.visitVarInsn( ALOAD, 13 ); mv.visitInsn( AASTORE ); mv.visitMethodInsn( INVOKEINTERFACE, "org/qi4j/spi/composite/CompositeInvoker", "invokeComposite", - "(Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;" ); + "(Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;", true ); mv.visitInsn( POP ); mv.visitLabel( l1 ); Label l3 = new Label(); @@ -368,7 +368,7 @@ public class ASMTest mv.visitInsn( DUP ); mv.visitVarInsn( ALOAD, 14 ); mv.visitMethodInsn( INVOKESPECIAL, "java/lang/reflect/UndeclaredThrowableException", "<init>", - "(Ljava/lang/Throwable;)V" ); + "(Ljava/lang/Throwable;)V", false ); mv.visitInsn( ATHROW ); mv.visitLabel( l3 ); mv.visitFrame( Opcodes.F_SAME, 0, null, 0, null ); @@ -400,7 +400,7 @@ public class ASMTest mv.visitVarInsn( ALOAD, 1 ); mv.visitInsn( AASTORE ); mv.visitMethodInsn( INVOKEINTERFACE, "org/qi4j/spi/composite/CompositeInvoker", "invokeComposite", - "(Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;" ); + "(Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;", true ); mv.visitInsn( POP ); mv.visitLabel( l1 ); Label l5 = new Label(); @@ -422,7 +422,7 @@ public class ASMTest mv.visitInsn( DUP ); mv.visitVarInsn( ALOAD, 2 ); mv.visitMethodInsn( INVOKESPECIAL, "java/lang/reflect/UndeclaredThrowableException", "<init>", - "(Ljava/lang/Throwable;)V" ); + "(Ljava/lang/Throwable;)V", false ); mv.visitInsn( ATHROW ); mv.visitLabel( l5 ); mv.visitFrame( Opcodes.F_SAME, 0, null, 0, null ); @@ -444,9 +444,9 @@ public class ASMTest mv.visitFieldInsn( GETSTATIC, "org/qi4j/satisfiedBy/SomeMixin_Stub", "m5", "Ljava/lang/reflect/Method;" ); mv.visitInsn( ACONST_NULL ); mv.visitMethodInsn( INVOKEINTERFACE, "org/qi4j/spi/composite/CompositeInvoker", "invokeComposite", - "(Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;" ); + "(Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;", true ); mv.visitTypeInsn( CHECKCAST, "java/lang/Integer" ); - mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Integer", "intValue", "()I" ); + mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Integer", "intValue", "()I", false ); mv.visitLabel( l1 ); mv.visitInsn( IRETURN ); mv.visitLabel( l2 ); @@ -456,7 +456,7 @@ public class ASMTest mv.visitInsn( DUP ); mv.visitVarInsn( ALOAD, 1 ); mv.visitMethodInsn( INVOKESPECIAL, "java/lang/reflect/UndeclaredThrowableException", "<init>", - "(Ljava/lang/Throwable;)V" ); + "(Ljava/lang/Throwable;)V", false ); mv.visitInsn( ATHROW ); mv.visitMaxs( 3, 2 ); mv.visitEnd(); @@ -474,7 +474,7 @@ public class ASMTest mv.visitInsn( ICONST_0 ); mv.visitTypeInsn( ANEWARRAY, "java/lang/Class" ); mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Class", "getMethod", - "(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;" ); + "(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;", false ); mv.visitFieldInsn( PUTSTATIC, "org/qi4j/satisfiedBy/SomeMixin_Stub", "m1", "Ljava/lang/reflect/Method;" ); mv.visitLdcInsn( Type.getType( "Lorg/qi4j/satisfiedBy/Other;" ) ); mv.visitLdcInsn( "foo" ); @@ -489,7 +489,7 @@ public class ASMTest mv.visitFieldInsn( GETSTATIC, "java/lang/Integer", "TYPE", "Ljava/lang/Class;" ); mv.visitInsn( AASTORE ); mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Class", "getMethod", - "(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;" ); + "(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;", false ); mv.visitFieldInsn( PUTSTATIC, "org/qi4j/satisfiedBy/SomeMixin_Stub", "m2", "Ljava/lang/reflect/Method;" ); mv.visitLdcInsn( Type.getType( "Lorg/qi4j/satisfiedBy/Other;" ) ); mv.visitLdcInsn( "bar" ); @@ -540,7 +540,7 @@ public class ASMTest mv.visitLdcInsn( Type.getType( "[I" ) ); mv.visitInsn( AASTORE ); mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Class", "getMethod", - "(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;" ); + "(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;", false ); mv.visitFieldInsn( PUTSTATIC, "org/qi4j/satisfiedBy/SomeMixin_Stub", "m3", "Ljava/lang/reflect/Method;" ); mv.visitLdcInsn( Type.getType( "Lorg/qi4j/satisfiedBy/Other;" ) ); mv.visitLdcInsn( "multiEx" ); @@ -551,14 +551,14 @@ public class ASMTest mv.visitLdcInsn( Type.getType( "Ljava/lang/String;" ) ); mv.visitInsn( AASTORE ); mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Class", "getMethod", - "(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;" ); + "(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;", false ); mv.visitFieldInsn( PUTSTATIC, "org/qi4j/satisfiedBy/SomeMixin_Stub", "m4", "Ljava/lang/reflect/Method;" ); mv.visitLdcInsn( Type.getType( "Lorg/qi4j/satisfiedBy/Other;" ) ); mv.visitLdcInsn( "unwrapResult" ); mv.visitInsn( ICONST_0 ); mv.visitTypeInsn( ANEWARRAY, "java/lang/Class" ); mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/Class", "getMethod", - "(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;" ); + "(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;", false ); mv.visitFieldInsn( PUTSTATIC, "org/qi4j/satisfiedBy/SomeMixin_Stub", "m5", "Ljava/lang/reflect/Method;" ); mv.visitLabel( l1 ); Label l3 = new Label(); @@ -567,7 +567,7 @@ public class ASMTest mv.visitFrame( Opcodes.F_SAME1, 0, null, 1, new Object[]{ "java/lang/NoSuchMethodException" } ); mv.visitVarInsn( ASTORE, 0 ); mv.visitVarInsn( ALOAD, 0 ); - mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/NoSuchMethodException", "printStackTrace", "()V" ); + mv.visitMethodInsn( INVOKEVIRTUAL, "java/lang/NoSuchMethodException", "printStackTrace", "()V", false ); mv.visitLabel( l3 ); mv.visitFrame( Opcodes.F_SAME, 0, null, 0, null ); mv.visitInsn( RETURN );
