1 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 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 } 42 | Popular Tags |