ASTMethodDeclaration xref
1 /* Generated By:JJTree: Do not edit this line. ASTMethodDeclaration.java */
2
3 package net.sourceforge.pmd.ast;
4
5 public class ASTMethodDeclaration extends AccessNode {
6 public ASTMethodDeclaration(int id) {
7 super(id);
8 }
9
10 public ASTMethodDeclaration(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 void dump(String prefix) {
22 System.out.println(collectDumpedModifiers(prefix));
23 dumpChildren(prefix);
24 }
25
26 /**
27 * Gets the name of the method.
28 *
29 * @return a String representing the name of the method
30 */
31 public String getMethodName() {
32 ASTMethodDeclarator md = getFirstChildOfType(ASTMethodDeclarator.class);
33 if (md != null)
34 return md.getImage();
35 return null;
36 }
37
38 public boolean isSyntacticallyPublic() {
39 return super.isPublic();
40 }
41
42 public boolean isSyntacticallyAbstract() {
43 return super.isAbstract();
44 }
45
46 public boolean isPublic() {
47 if (isInterfaceMember()) {
48 return true;
49 }
50 return super.isPublic();
51 }
52
53 public boolean isAbstract() {
54 if (isInterfaceMember()) {
55 return true;
56 }
57 return super.isAbstract();
58 }
59
60 public boolean isInterfaceMember() {
61 ASTClassOrInterfaceDeclaration clz = getFirstParentOfType(ASTClassOrInterfaceDeclaration.class);
62 return clz != null && clz.isInterface();
63 }
64
65 public boolean isVoid() {
66 return getFirstChildOfType(ASTResultType.class).isVoid();
67 }
68
69 public ASTResultType getResultType() {
70 return getFirstChildOfType(ASTResultType.class);
71 }
72
73 public ASTBlock getBlock() {
74 // FIXME doesn't work for all methods that use generics and declare exceptions
75 if (this.jjtGetChild(2) instanceof ASTBlock) {
76 return (ASTBlock) this.jjtGetChild(2);
77 }
78 if (jjtGetNumChildren()> 3) {
79 if (this.jjtGetChild(3) instanceof ASTBlock) {
80 return (ASTBlock) this.jjtGetChild(3);
81 }
82 }
83 return null;
84 }
85 }