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 16package javassist.compiler.ast; 17 18import javassist.compiler.TokenId; 19import javassist.compiler.CompileError; 20 21/** 22 * Statement. 23 */ 24public class Stmnt extends ASTList implements TokenId { 25 protected int operatorId; 26 27 public Stmnt(int op, ASTree _head, ASTList _tail) { 28 super(_head, _tail); 29 operatorId = op; 30 } 31 32 public Stmnt(int op, ASTree _head) { 33 super(_head); 34 operatorId = op; 35 } 36 37 public Stmnt(int op) { 38 this(op, null); 39 } 40 41 public static Stmnt make(int op, ASTree oprand1, ASTree oprand2) { 42 return new Stmnt(op, oprand1, new ASTList(oprand2)); 43 } 44 45 public static Stmnt make(int op, ASTree op1, ASTree op2, ASTree op3) { 46 return new Stmnt(op, op1, new ASTList(op2, new ASTList(op3))); 47 } 48 49 public void accept(Visitor v) throws CompileError { v.atStmnt(this); } 50 51 public int getOperator() { return operatorId; } 52 53 protected String getTag() { 54 if (operatorId < 128) 55 return "stmnt:" + (char)operatorId; 56 else 57 return "stmnt:" + operatorId; 58 } 59} 60