]> source.dussan.org Git - aspectj.git/commitdiff
329925: declare @field remove annotation
authoraclement <aclement>
Wed, 24 Nov 2010 19:37:04 +0000 (19:37 +0000)
committeraclement <aclement>
Wed, 24 Nov 2010 19:37:04 +0000 (19:37 +0000)
org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/parser/DeclarationFactory.java

index 85999476db843f0fd303e76ceb2ec742c3d104b1..be12049fddc4981f8e1f9826fdf753d74f90b21b 100644 (file)
@@ -144,8 +144,11 @@ public class DeclarationFactory implements IDeclarationFactory {
        }
 
        public MethodDeclaration createDeclareAnnotationDeclaration(CompilationResult result, ASTNode pseudoTokens,
-                       Annotation annotation, Parser parser) {
+                       Annotation annotation, Parser parser, char kind) {
                DeclareAnnotation declare = (DeclareAnnotation) ((PseudoTokens) pseudoTokens).parseAnnotationDeclare(parser);
+               if (kind == '-') {
+                       declare.setRemover(true);
+               }
                DeclareAnnotationDeclaration decl = new DeclareAnnotationDeclaration(result, declare, annotation);
                return decl;
        }
@@ -178,7 +181,6 @@ public class DeclarationFactory implements IDeclarationFactory {
                ((InterTypeDeclaration) interTypeDecl).setOnType(onType);
        }
 
-
        public ASTNode createPseudoToken(Parser parser, String value, boolean isIdentifier) {
                return new PseudoToken(parser, value, isIdentifier);
        }
@@ -198,7 +200,7 @@ public class DeclarationFactory implements IDeclarationFactory {
        public TypeDeclaration createIntertypeMemberClassDeclaration(CompilationResult compilationResult) {
                return new IntertypeMemberClassDeclaration(compilationResult);
        }
-       
+
        public void setOnType(TypeDeclaration interTypeDecl, TypeReference onType) {
                ((IntertypeMemberClassDeclaration) interTypeDecl).setOnType(onType);
        }