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