diff options
author | chibash <chiba@javassist.org> | 2019-07-27 14:06:22 +0900 |
---|---|---|
committer | chibash <chiba@javassist.org> | 2019-07-27 14:06:22 +0900 |
commit | 8f4788e0907278cec2a094af179451824651a515 (patch) | |
tree | bff600908fc0597d8ada77ed8618d8650f082e1c /src/test | |
parent | 9076bde17537c059aa679bd6c0324bda78bdb088 (diff) | |
download | javassist-8f4788e0907278cec2a094af179451824651a515.tar.gz javassist-8f4788e0907278cec2a094af179451824651a515.zip |
fixed Issue #263
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/Test.java | 8 | ||||
-rw-r--r-- | src/test/javassist/proxyfactory/GenSig.java | 4 | ||||
-rw-r--r-- | src/test/javassist/proxyfactory/ProxyFactoryTest.java | 11 |
3 files changed, 20 insertions, 3 deletions
diff --git a/src/test/Test.java b/src/test/Test.java index 9907406d..45f74c26 100644 --- a/src/test/Test.java +++ b/src/test/Test.java @@ -44,9 +44,11 @@ public class Test { final CtClass ctClass = classPool.get(INVALID_STACK_MAP_FRAME); final CtMethod method = ctClass.getDeclaredMethod("bytecodeVerifyError"); - method.addLocalVariable("test_localVariable", CtClass.intType); - method.insertBefore("{ test_localVariable = 1; }"); - ctClass.debugWriteFile(); + // method.addLocalVariable("test_localVariable", CtClass.intType); + method.insertBefore("{ java.math.BigDecimal d = null; d.divide(d); }"); + //ctClass.debugWriteFile(); + System.out.println("ok"); + ctClass.writeFile(); Class<?> cc = ctClass.toClass(); System.out.println(cc.getName()); InvalidStackMapFrame obj = (InvalidStackMapFrame)cc.getDeclaredConstructor().newInstance(); diff --git a/src/test/javassist/proxyfactory/GenSig.java b/src/test/javassist/proxyfactory/GenSig.java new file mode 100644 index 00000000..018cdb39 --- /dev/null +++ b/src/test/javassist/proxyfactory/GenSig.java @@ -0,0 +1,4 @@ +package javassist.proxyfactory; + +class GenSig<T> { +} diff --git a/src/test/javassist/proxyfactory/ProxyFactoryTest.java b/src/test/javassist/proxyfactory/ProxyFactoryTest.java index c69acc9d..0997620f 100644 --- a/src/test/javassist/proxyfactory/ProxyFactoryTest.java +++ b/src/test/javassist/proxyfactory/ProxyFactoryTest.java @@ -152,4 +152,15 @@ public class ProxyFactoryTest extends TestCase { } }); } + + // Issue #263 + public void testGenericSignature() throws Exception { + ProxyFactory factory = new ProxyFactory(); + factory.setSuperclass(GenSig.class); + factory.setGenericSignature("Ljavassist/proxyfactory/GenSig<Ljava/lang/Integer;>;"); + GenSig gs = (GenSig)factory.create(null, null); + java.lang.reflect.Type[] x = ((java.lang.reflect.ParameterizedType)gs.getClass().getGenericSuperclass()) + .getActualTypeArguments(); + assertEquals(Integer.class, x[0]); + } } |