diff options
author | aclement <aclement> | 2006-07-03 14:22:54 +0000 |
---|---|---|
committer | aclement <aclement> | 2006-07-03 14:22:54 +0000 |
commit | 2f3eb4fc8e8fb9b76f82eb08f7bcd04d732a620c (patch) | |
tree | 47b45b4b62b7e889ad3750578712b4960168d913 /org.aspectj.ajdt.core/src | |
parent | eedc4a6101561eb788e3ae0cb573c92b3f0392ca (diff) | |
download | aspectj-2f3eb4fc8e8fb9b76f82eb08f7bcd04d732a620c.tar.gz aspectj-2f3eb4fc8e8fb9b76f82eb08f7bcd04d732a620c.zip |
correct construction for inner types and source positions.
Diffstat (limited to 'org.aspectj.ajdt.core/src')
-rw-r--r-- | org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AjLookupEnvironment.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AjLookupEnvironment.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AjLookupEnvironment.java index 61aa3ec4d..cf3938394 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AjLookupEnvironment.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AjLookupEnvironment.java @@ -924,8 +924,10 @@ public class AjLookupEnvironment extends LookupEnvironment implements AnonymousC private static Annotation createAnnotationFromBcelAnnotation(AnnotationX annX,int pos, EclipseFactory factory) { String name = annX.getTypeName(); TypeBinding tb = factory.makeTypeBinding(annX.getSignature()); - char[][] typeName = CharOperation.splitOn('.',name.toCharArray()); - long[] positions = new long[] {pos}; + String theName = annX.getSignature().getBaseName(); + char[][] typeName = CharOperation.splitOn('.',name.replace('$','.').toCharArray()); //pr149293 - not bulletproof... + long[] positions = new long[typeName.length]; + for (int i = 0; i < positions.length; i++) positions[i]=pos; TypeReference annType = new QualifiedTypeReference(typeName,positions); NormalAnnotation ann = new NormalAnnotation(annType,pos); ann.resolvedType=tb; // yuck - is this OK in all cases? |