From 2f3eb4fc8e8fb9b76f82eb08f7bcd04d732a620c Mon Sep 17 00:00:00 2001 From: aclement Date: Mon, 3 Jul 2006 14:22:54 +0000 Subject: [PATCH] correct construction for inner types and source positions. --- .../ajdt/internal/compiler/lookup/AjLookupEnvironment.java | 6 ++++-- 1 file 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? -- 2.39.5