/Users/lyon/j4p/src/javassist/compiler/ast/CastExpr.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.TokenId; 
19   import javassist.compiler.CompileError; 
20    
21   /** 
22    * Cast expression. 
23    */ 
24   public class CastExpr extends ASTList implements TokenId { 
25       protected int castType; 
26       protected int arrayDim; 
27    
28       public CastExpr(ASTList className, int dim, ASTree expr) { 
29           super(className, new ASTList(expr)); 
30           castType = CLASS; 
31           arrayDim = dim; 
32       } 
33    
34       public CastExpr(int type, int dim, ASTree expr) { 
35           super(null, new ASTList(expr)); 
36           castType = type; 
37           arrayDim = dim; 
38       } 
39    
40       /* Returns CLASS, BOOLEAN, INT, or ... 
41        */ 
42       public int getType() { 
43           return castType; 
44       } 
45    
46       public int getArrayDim() { 
47           return arrayDim; 
48       } 
49    
50       public ASTList getClassName() { 
51           return (ASTList) getLeft(); 
52       } 
53    
54       public ASTree getOprand() { 
55           return getRight().getLeft(); 
56       } 
57    
58       public String getTag() { 
59           return "cast:" + castType + ":" + arrayDim; 
60       } 
61    
62       public void accept(Visitor v) throws CompileError { 
63           v.atCastExpr(this); 
64       } 
65   } 
66