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 SimpleJavaTypeNode {
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 = getFirstChildOfType(ASTPrimitiveType.class);
23          if (prim != null) {
24              return prim.getImage();
25          }
26          return 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  }