View Javadoc

1   /* Generated By:JJTree: Do not edit this line. ASTAnnotation.java */
2   
3   package net.sourceforge.pmd.ast;
4   
5   import net.sourceforge.pmd.Rule;
6   
7   public class ASTAnnotation extends SimpleJavaNode {
8       public ASTAnnotation(int id) {
9           super(id);
10      }
11  
12      public ASTAnnotation(JavaParser p, int id) {
13          super(p, id);
14      }
15  
16  
17      public boolean suppresses(Rule rule) {
18          /*  Check for "suppress all warnings" case
19            @SuppressWarnings("")
20            TypeDeclaration
21            Annotation
22             NormalAnnotation
23              Name:SuppressWarnings
24          */
25          if (jjtGetChild(0) instanceof ASTSingleMemberAnnotation) {
26              ASTSingleMemberAnnotation n = (ASTSingleMemberAnnotation) jjtGetChild(0);
27              if (n.jjtGetChild(0) instanceof ASTName && ((ASTName) n.jjtGetChild(0)).getImage().equals("SuppressWarnings")) {
28                  return true;
29              }
30              return false;
31          }
32  
33          /* Check for "suppress some warnings" case
34           @SuppressWarnings({"hi","hey"})
35           TypeDeclaration
36            Annotation
37             SingleMemberAnnotation
38              Name:SuppressWarnings
39              MemberValue
40               MemberValueArrayInitializer
41                MemberValue
42                 PrimaryExpression
43                  PrimaryPrefix
44                   Literal:"hi"
45                MemberValue
46                 PrimaryExpression
47                  PrimaryPrefix
48                   Literal:"hey"
49          */
50  /*
51  
52          if (!(jjtGetChild(0) instanceof ASTName)) {
53              return false;
54          }
55          ASTName n = (ASTName)jjtGetChild(0);
56          if (n.getImage() == null || n.getImage().equals("SuppressWarnings")) {
57              return false;
58          }
59  
60          //List values = findChildrenOfType()
61  */
62          return false;
63      }
64  
65  
66      /***
67       * Accept the visitor. *
68       */
69      public Object jjtAccept(JavaParserVisitor visitor, Object data) {
70          return visitor.visit(this, data);
71      }
72  }