KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > gcc > generator > JBlockStatement


1 /*
2  * Copyright 2004 The Apache Software Foundation or its licensors, as
3  * applicable.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14  * implied.
15  *
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */

19 package gcc.generator;
20
21 import java.util.Vector;
22
23 public class JBlockStatement extends JStatement
24 {
25     protected Vector _localVars;
26     protected Vector _statements;
27
28     public JBlockStatement()
29     {
30         _localVars = new Vector();
31         _statements = new Vector();
32     }
33
34     public boolean hasVariables()
35     {
36         return _localVars.size() > 0;
37     }
38
39     public boolean hasStatements()
40     {
41         return _statements.size() > 0;
42     }
43
44     public JLocalVariable newLocalVariable( Class type, String name )
45     {
46         return newLocalVariable( type, name, null );
47     }
48
49     public JLocalVariable newLocalVariable( Class type, String name, JExpression initExpr )
50     {
51         JLocalVariable v = new JLocalVariable( type, name );
52
53         v.setInitExpression( initExpr );
54
55         _localVars.add( v );
56
57         return v;
58     }
59
60     public void deleteLocalVariable( JLocalVariable f )
61     {
62         _localVars.remove( f );
63     }
64
65     public Vector getLocalVariables()
66     {
67         return _localVars;
68     }
69
70     public void addStatement( JStatement s )
71     {
72         if (s != this)
73         {
74             _statements.add( s );
75         }
76     }
77
78     public Vector getStatements()
79     {
80         return _statements;
81     }
82 }
83
Popular Tags