View Javadoc

    1   /* Generated By:JJTree: Do not edit this line. ASTType.java */
    2
    3   package net.sourceforge.pmd.ast;
    4
    5   public class ASTType extends SimpleJavaNode {
    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      public Object jjtAccept(JavaParserVisitor visitor, Object data) {
    18          return visitor.visit(this, data);
    19      }
    20
    21      public String getTypeImage() {
    22          ASTPrimitiveType prim = (ASTPrimitiveType) getFirstChildOfType(ASTPrimitiveType.class);
    23          if (prim != null) {
    24              return prim.getImage();
    25          }
    26          return ((ASTClassOrInterfaceType) getFirstChildOfType(ASTClassOrInterfaceType.class)).getImage();
    27      }
    28
    29      public int getArrayDepth() {
    30          if (jjtGetNumChildren() != 0 && (jjtGetChild(0) instanceof ASTReferenceType || jjtGetChild(0) instanceof ASTPrimitiveType)) {
    31              return ((Dimensionable) jjtGetChild(0)).getArrayDepth();
    32          }
    33          throw new RuntimeException("ASTType.getArrayDepth called, but first child (of " + jjtGetNumChildren() + " total children) is neither a primitive nor a reference type.");
    34      }
    35
    36      public boolean isArray() {
    37          return getArrayDepth() > 0;
    38      }
    39
    40
    41  }