/Users/lyon/j4p/src/javassist/compiler/ast/MethodDecl.java

1    /* 
2     * Javassist, a Java-bytecode translator toolkit. 
3     * Copyright (C) 1999-2003 Shigeru Chiba. All Rights Reserved. 
4     * 
5     * The contents of this file are subject to the Mozilla Public License Version 
6     * 1.1 (the "License"); you may not use this file except in compliance with 
7     * the License.  Alternatively, the contents of this file may be used under 
8     * the terms of the GNU Lesser General Public License Version 2.1 or later. 
9     * 
10    * Software distributed under the License is distributed on an "AS IS" basis, 
11    * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 
12    * for the specific language governing rights and limitations under the 
13    * License. 
14    */ 
15    
16   package javassist.compiler.ast; 
17    
18   import javassist.compiler.CompileError; 
19    
20   public class MethodDecl extends ASTList { 
21       public static final String initName = "<init>"; 
22    
23       public MethodDecl(ASTree _head, ASTList _tail) { 
24           super(_head, _tail); 
25       } 
26    
27       public boolean isConstructor() { 
28           Symbol sym = getReturn().getVariable(); 
29           return sym != null && initName.equals(sym.get()); 
30       } 
31    
32       public ASTList getModifiers() { 
33           return (ASTList) getLeft(); 
34       } 
35    
36       public Declarator getReturn() { 
37           return (Declarator) tail().head(); 
38       } 
39    
40       public ASTList getParams() { 
41           return (ASTList) sublist(2).head(); 
42       } 
43    
44       public ASTList getThrows() { 
45           return (ASTList) sublist(3).head(); 
46       } 
47    
48       public Stmnt getBody() { 
49           return (Stmnt) sublist(4).head(); 
50       } 
51    
52       public void accept(Visitor v) throws CompileError { 
53           v.atMethodDecl(this); 
54       } 
55   } 
56