/Users/lyon/j4p/src/javassist/compiler/ast/CondExpr.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   /** 
21    * Conditional expression. 
22    */ 
23   public 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() { 
29           return head(); 
30       } 
31    
32       public ASTree thenExpr() { 
33           return tail().head(); 
34       } 
35    
36       public ASTree elseExpr() { 
37           return tail().tail().head(); 
38       } 
39    
40       public String getTag() { 
41           return "?:"; 
42       } 
43    
44       public void accept(Visitor v) throws CompileError { 
45           v.atCondExpr(this); 
46       } 
47   } 
48