]> source.dussan.org Git - aspectj.git/commitdiff
allow for references to descriptors when class_info structures refer to arrays. ...
authoraclement <aclement>
Mon, 19 Sep 2005 15:12:36 +0000 (15:12 +0000)
committeraclement <aclement>
Mon, 19 Sep 2005 15:12:36 +0000 (15:12 +0000)
bcel-builder/src/org/aspectj/apache/bcel/generic/FieldOrMethod.java

index 55e1195c92cac92768d7f9f90b5c1066d4c75dfe..1883d67c1da0c6e434edf90adc6a376fee446b99 100644 (file)
@@ -62,7 +62,7 @@ import org.aspectj.apache.bcel.classfile.ConstantUtf8;
  * Super class for InvokeInstruction and FieldInstruction, since they have
  * some methods in common!
  *
- * @version $Id: FieldOrMethod.java,v 1.3 2004/11/22 08:31:27 aclement Exp $
+ * @version $Id: FieldOrMethod.java,v 1.4 2005/09/19 15:12:36 aclement Exp $
  * @author  <A HREF="mailto:markus.dahm@berlin.de">M. Dahm</A>
  */
 public abstract class FieldOrMethod extends CPInstruction implements LoadClass {
@@ -103,7 +103,9 @@ public abstract class FieldOrMethod extends CPInstruction implements LoadClass {
   public String getClassName(ConstantPoolGen cpg) {
     ConstantPool cp  = cpg.getConstantPool();
     ConstantCP   cmr = (ConstantCP)cp.getConstant(index);
-    return cp.getConstantString(cmr.getClassIndex(), org.aspectj.apache.bcel.Constants.CONSTANT_Class).replace('/', '.');
+    String str = cp.getConstantString(cmr.getClassIndex(), org.aspectj.apache.bcel.Constants.CONSTANT_Class);
+    if (str.charAt(0)=='[') return str;
+    else return str.replace('/', '.');
   }
 
   /** @return type of the referenced class/interface