01: /* Generated By:JJTree: Do not edit this line. ASTType.java */
02:
03: package net.sourceforge.pmd.ast;
04:
05: public class ASTType extends SimpleJavaTypeNode {
06: public ASTType(int id) {
07: super (id);
08: }
09:
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)
27: .getImage();
28: }
29:
30: public int getArrayDepth() {
31: if (jjtGetNumChildren() != 0
32: && (jjtGetChild(0) instanceof ASTReferenceType || jjtGetChild(0) instanceof ASTPrimitiveType)) {
33: return ((Dimensionable) jjtGetChild(0)).getArrayDepth();
34: }
35: throw new RuntimeException(
36: "ASTType.getArrayDepth called, but first child (of "
37: + jjtGetNumChildren()
38: + " total children) is neither a primitive nor a reference type.");
39: }
40:
41: public boolean isArray() {
42: return getArrayDepth() > 0;
43: }
44:
45: }
|