]> source.dussan.org Git - aspectj.git/commitdiff
correct construction for inner types and source positions.
authoraclement <aclement>
Mon, 3 Jul 2006 14:22:54 +0000 (14:22 +0000)
committeraclement <aclement>
Mon, 3 Jul 2006 14:22:54 +0000 (14:22 +0000)
org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AjLookupEnvironment.java

index 61aa3ec4dd392f142179eb3e53fd9d2749162b1b..cf3938394dc9b32348e53e6580330fa23e47e8dc 100644 (file)
@@ -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?