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  }