diff options
author | aclement <aclement> | 2005-01-24 08:49:15 +0000 |
---|---|---|
committer | aclement <aclement> | 2005-01-24 08:49:15 +0000 |
commit | 61cd77beeb1135bc1a0ab9f456e3ff835651844e (patch) | |
tree | c58e6b2b8950ecd9c10d82cda0edbd36deb1aab1 /bcel-builder/src | |
parent | c6e5f9af54b04a28d87310c8656f48b8e7cdef42 (diff) | |
download | aspectj-61cd77beeb1135bc1a0ab9f456e3ff835651844e.tar.gz aspectj-61cd77beeb1135bc1a0ab9f456e3ff835651844e.zip |
This fix for 'c' values in annotations has been verified by Pepe. Committing source changes and testcase.
Diffstat (limited to 'bcel-builder/src')
-rw-r--r-- | bcel-builder/src/org/aspectj/apache/bcel/generic/annotation/ClassElementValueGen.java | 8 | ||||
-rw-r--r-- | bcel-builder/src/org/aspectj/apache/bcel/generic/annotation/ElementValueGen.java | 4 |
2 files changed, 11 insertions, 1 deletions
diff --git a/bcel-builder/src/org/aspectj/apache/bcel/generic/annotation/ClassElementValueGen.java b/bcel-builder/src/org/aspectj/apache/bcel/generic/annotation/ClassElementValueGen.java index 4639e6b8b..051d2d8df 100644 --- a/bcel-builder/src/org/aspectj/apache/bcel/generic/annotation/ClassElementValueGen.java +++ b/bcel-builder/src/org/aspectj/apache/bcel/generic/annotation/ClassElementValueGen.java @@ -17,6 +17,7 @@ import java.io.IOException; import org.aspectj.apache.bcel.classfile.ConstantClass; import org.aspectj.apache.bcel.classfile.ConstantUtf8; +import org.aspectj.apache.bcel.classfile.annotation.ClassElementValue; import org.aspectj.apache.bcel.generic.ConstantPoolGen; import org.aspectj.apache.bcel.generic.ObjectType; @@ -37,7 +38,12 @@ public class ClassElementValueGen extends ElementValueGen { this.idx = cpool.addClass(t); } - public int getIndex() { + public ClassElementValueGen(ClassElementValue value, ConstantPoolGen cpool) { + super(CLASS,cpool); + idx = value.getIndex(); + } + + public int getIndex() { return idx; } diff --git a/bcel-builder/src/org/aspectj/apache/bcel/generic/annotation/ElementValueGen.java b/bcel-builder/src/org/aspectj/apache/bcel/generic/annotation/ElementValueGen.java index b97afc8e3..054e1cbf8 100644 --- a/bcel-builder/src/org/aspectj/apache/bcel/generic/annotation/ElementValueGen.java +++ b/bcel-builder/src/org/aspectj/apache/bcel/generic/annotation/ElementValueGen.java @@ -18,6 +18,7 @@ import java.io.IOException; import org.aspectj.apache.bcel.classfile.annotation.AnnotationElementValue; import org.aspectj.apache.bcel.classfile.annotation.ArrayElementValue; +import org.aspectj.apache.bcel.classfile.annotation.ClassElementValue; import org.aspectj.apache.bcel.classfile.annotation.ElementValue; import org.aspectj.apache.bcel.classfile.annotation.EnumElementValue; import org.aspectj.apache.bcel.classfile.annotation.SimpleElementValue; @@ -130,6 +131,9 @@ public abstract class ElementValueGen { case '[': // Array return new ArrayElementValueGen((ArrayElementValue)value,cpool); + case 'c': // Class + return new ClassElementValueGen((ClassElementValue)value,cpool); + default: throw new RuntimeException("Not implemented yet! ("+value.getElementValueType()+")"); } |