]> source.dussan.org Git - javassist.git/commitdiff
fixed an array-access bug.
authorchiba <chiba@30ef5769-5b8d-40dd-aea6-55b5d6557bb3>
Wed, 30 Apr 2003 11:48:42 +0000 (11:48 +0000)
committerchiba <chiba@30ef5769-5b8d-40dd-aea6-55b5d6557bb3>
Wed, 30 Apr 2003 11:48:42 +0000 (11:48 +0000)
git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@13 30ef5769-5b8d-40dd-aea6-55b5d6557bb3

Readme.html
src/main/javassist/CtClass.java
src/main/javassist/compiler/MemberCodeGen.java

index 9addaa0501b9c865e84a6dbefe7d9b2c1897b797..7afd488be6bcf9ad937b69b0002c43588bd1b9d7 100644 (file)
@@ -462,6 +462,9 @@ software may be used under only the terms of the LGPL.  To use them
 under the MPL, you must obtain a separate package including only
 Javassist but not the other part of JBoss.
 
+<p>All the contributors to the original source tree must agree to
+the original license term described above.
+
 <p><br>
 
 <h2>Acknowledgments</h2>
index 42b7a8f410d8ca377b9225f27f29958d18b8f846..04576b49f255804640944d48361ed9dccea1dd89 100644 (file)
@@ -225,7 +225,7 @@ public abstract class CtClass {
     /**
      * Returns <code>true</code> if this class extends or implements
      * <code>clazz</code>.  It also returns <code>true</code> if
-     * this class is the same as <code>clazz<code>.
+     * this class is the same as <code>clazz</code>.
      */
     public boolean subtypeOf(CtClass clazz) throws NotFoundException {
         return this == clazz || getName().equals(clazz.getName());
index ffb76d520531bb34904f8dba3c1a750c0257435e..437f1f80e531b96c6c4f5324c7acb32a6154e399 100644 (file)
@@ -673,20 +673,21 @@ public class MemberCodeGen extends CodeGen {
         int fi = addFieldrefInfo(f, finfo, type);
 
         int i = 0;
+        int dim = 0;
         char c = type.charAt(i);
+        while (c == '[') {
+            ++dim;
+            c = type.charAt(++i);
+        }
+
+        arrayDim = dim;
         boolean is2byte = (c == 'J' || c == 'D');
         exprType = descToType(c);
-        arrayDim = 0;
-        if (c == '[') {
-            i = 1;
-            while ((c = type.charAt(i)) == '[')
-                ++i;
-
-            arrayDim = i;
-        }
 
         if (c == 'L')
             className = type.substring(i + 1, type.indexOf(';', i + 1));
+        else
+            className = null;
 
         if (noRead)
             return fi;