View Javadoc

    1   /* Generated By:JJTree: Do not edit this line. ASTType.java */
    2
    3   package net.sourceforge.pmd.lang.java.ast;
    4
    5   public class ASTType extends AbstractJavaTypeNode {
    6       public ASTType(int id) {
    7           super(id);
    8       }
    9
    10      public ASTType(JavaParser p, int id) {
    11          super(p, id);
    12      }
    13
    14      /**
    15       * Accept the visitor. *
    16       */
    17      @Override
    18      public Object jjtAccept(JavaParserVisitor visitor, Object data) {
    19          return visitor.visit(this, data);
    20      }
    21
    22      public String getTypeImage() {
    23          ASTPrimitiveType prim = getFirstDescendantOfType(ASTPrimitiveType.class);
    24          if (prim != null) {
    25              return prim.getImage();
    26          }
    27          return getFirstDescendantOfType(ASTClassOrInterfaceType.class).getImage();
    28      }
    29
    30      public int getArrayDepth() {
    31          if (jjtGetNumChildren() != 0 && (jjtGetChild(0) instanceof ASTReferenceType || jjtGetChild(0) instanceof ASTPrimitiveType)) {
    32              return ((Dimensionable) jjtGetChild(0)).getArrayDepth();
    33          }
    34          throw new RuntimeException("ASTType.getArrayDepth called, but first child (of " + jjtGetNumChildren() + " total children) is neither a primitive nor a reference type.");
    35      }
    36
    37      public boolean isArray() {
    38          return getArrayDepth() > 0;
    39      }
    40
    41
    42  }