summaryrefslogtreecommitdiffstats
path: root/org.aspectj.ajdt.core/src
diff options
context:
space:
mode:
authoraclement <aclement>2006-07-03 14:22:54 +0000
committeraclement <aclement>2006-07-03 14:22:54 +0000
commit2f3eb4fc8e8fb9b76f82eb08f7bcd04d732a620c (patch)
tree47b45b4b62b7e889ad3750578712b4960168d913 /org.aspectj.ajdt.core/src
parenteedc4a6101561eb788e3ae0cb573c92b3f0392ca (diff)
downloadaspectj-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.java6
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?