1 /* 2 * Javassist, a Java-bytecode translator toolkit. 3 * Copyright (C) 1999-2007 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 MethodDecl(ASTree _head, ASTList _tail)23 public MethodDecl(ASTree _head, ASTList _tail) { 24 super(_head, _tail); 25 } 26 isConstructor()27 public boolean isConstructor() { 28 Symbol sym = getReturn().getVariable(); 29 return sym != null && initName.equals(sym.get()); 30 } 31 getModifiers()32 public ASTList getModifiers() { return (ASTList)getLeft(); } 33 getReturn()34 public Declarator getReturn() { return (Declarator)tail().head(); } 35 getParams()36 public ASTList getParams() { return (ASTList)sublist(2).head(); } 37 getThrows()38 public ASTList getThrows() { return (ASTList)sublist(3).head(); } 39 getBody()40 public Stmnt getBody() { return (Stmnt)sublist(4).head(); } 41 accept(Visitor v)42 public void accept(Visitor v) throws CompileError { 43 v.atMethodDecl(this); 44 } 45 } 46