From: aclement Date: Mon, 3 Jul 2006 14:22:54 +0000 (+0000) Subject: correct construction for inner types and source positions. X-Git-Tag: PRE_PIPELINE~82 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=2f3eb4fc8e8fb9b76f82eb08f7bcd04d732a620c;p=aspectj.git correct construction for inner types and source positions. --- 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?