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 /** 21 * Conditional expression. 22 */ 23 public class CondExpr extends ASTList { CondExpr(ASTree cond, ASTree thenp, ASTree elsep)24 public CondExpr(ASTree cond, ASTree thenp, ASTree elsep) { 25 super(cond, new ASTList(thenp, new ASTList(elsep))); 26 } 27 condExpr()28 public ASTree condExpr() { return head(); } 29 setCond(ASTree t)30 public void setCond(ASTree t) { setHead(t); } 31 thenExpr()32 public ASTree thenExpr() { return tail().head(); } 33 setThen(ASTree t)34 public void setThen(ASTree t) { tail().setHead(t); } 35 elseExpr()36 public ASTree elseExpr() { return tail().tail().head(); } 37 setElse(ASTree t)38 public void setElse(ASTree t) { tail().tail().setHead(t); } 39 getTag()40 public String getTag() { return "?:"; } 41 accept(Visitor v)42 public void accept(Visitor v) throws CompileError { v.atCondExpr(this); } 43 } 44