[jboss-cvs] javassist SVN: r702 - in trunk/src: main/javassist/bytecode and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Apr 12 05:21:46 EDT 2013


Author: chiba
Date: 2013-04-12 05:21:45 -0400 (Fri, 12 Apr 2013)
New Revision: 702

Modified:
   trunk/src/main/javassist/CtClass.java
   trunk/src/main/javassist/bytecode/Bytecode.java
   trunk/src/test/javassist/JvstTest4.java
Log:
fixed JASSIST-186


Modified: trunk/src/main/javassist/CtClass.java
===================================================================
--- trunk/src/main/javassist/CtClass.java	2013-04-11 15:21:33 UTC (rev 701)
+++ trunk/src/main/javassist/CtClass.java	2013-04-12 09:21:45 UTC (rev 702)
@@ -69,7 +69,7 @@
     /**
      * The version number of this release.
      */
-    public static final String version = "3.17.1-GA";
+    public static final String version = "3.18.0-GA";
 
     /**
      * Prints the version number and the copyright notice.
@@ -80,7 +80,7 @@
      */
     public static void main(String[] args) {
         System.out.println("Javassist version " + CtClass.version);
-        System.out.println("Copyright (C) 1999-2012 Shigeru Chiba."
+        System.out.println("Copyright (C) 1999-2013 Shigeru Chiba."
                            + " All Rights Reserved.");
     }
 

Modified: trunk/src/main/javassist/bytecode/Bytecode.java
===================================================================
--- trunk/src/main/javassist/bytecode/Bytecode.java	2013-04-11 15:21:33 UTC (rev 701)
+++ trunk/src/main/javassist/bytecode/Bytecode.java	2013-04-12 09:21:45 UTC (rev 702)
@@ -1083,7 +1083,7 @@
     public void addInvokevirtual(int clazz, String name, String desc) {
         add(INVOKEVIRTUAL);
         addIndex(constPool.addMethodrefInfo(clazz, name, desc));
-        growStack(Descriptor.dataSize(desc));   // assume CosntPool#REF_invokeStatic
+        growStack(Descriptor.dataSize(desc) - 1);
     }
 
     /**
@@ -1170,7 +1170,7 @@
         add(INVOKEDYNAMIC);
         addIndex(dyn);
         add(0, 0);
-        growStack(Descriptor.dataSize(desc) - 1);
+        growStack(Descriptor.dataSize(desc));   // assume ConstPool#REF_invokeStatic
     }
 
     /**

Modified: trunk/src/test/javassist/JvstTest4.java
===================================================================
--- trunk/src/test/javassist/JvstTest4.java	2013-04-11 15:21:33 UTC (rev 701)
+++ trunk/src/test/javassist/JvstTest4.java	2013-04-12 09:21:45 UTC (rev 702)
@@ -817,4 +817,15 @@
         assertEquals(10, invoke(obj, "test33"));
         assertEquals(100, invoke(obj, "test44"));
     }
+
+    public void testJIRA186() throws Exception {
+    	CtClass cc = sloader.get("test4.JIRA186");
+    	cc.getDeclaredMethod("test").insertBefore("{" +
+    			  "  java.util.List l = new java.util.ArrayList();" +
+    			  "  l.add(this.toString());" +
+    			  "}");
+        cc.writeFile();
+        Object obj = make(cc.getName());
+        assertEquals(1, invoke(obj, "test"));
+    }
 }



More information about the jboss-cvs-commits mailing list