Browse Source

fixed an array-access bug.


git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@13 30ef5769-5b8d-40dd-aea6-55b5d6557bb3
tags/rel_3_17_1_ga
chiba 21 years ago
parent
commit
1f290d5400
3 changed files with 13 additions and 9 deletions
  1. 3
    0
      Readme.html
  2. 1
    1
      src/main/javassist/CtClass.java
  3. 9
    8
      src/main/javassist/compiler/MemberCodeGen.java

+ 3
- 0
Readme.html View 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>

+ 1
- 1
src/main/javassist/CtClass.java View 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());

+ 9
- 8
src/main/javassist/compiler/MemberCodeGen.java View 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;

Loading…
Cancel
Save