KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jacorb > idl > SimpleDeclarator


1 /*
2  * JacORB - a free Java ORB
3  *
4  * Copyright (C) 1997-2004 Gerald Brose.
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Library General Public
8  * License as published by the Free Software Foundation; either
9  * version 2 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Library General Public License for more details.
15  *
16  * You should have received a copy of the GNU Library General Public
17  * License along with this library; if not, write to the Free
18  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19  */

20
21 package org.jacorb.idl;
22
23 /**
24  * @author Gerald Brose
25  * @version $Id: SimpleDeclarator.java,v 1.16 2004/05/06 12:39:58 nicolas Exp $
26  */

27
28
29 public class SimpleDeclarator
30     extends Declarator
31 {
32     public SimpleDeclarator( int num )
33     {
34         super( num );
35     }
36
37     public String JavaDoc name()
38     {
39         return name;
40     }
41
42     /**
43      */

44
45     public void escapeName()
46     {
47         if( !name.startsWith( "_" ) &&
48                 lexer.strictJavaEscapeCheck( name ) )
49         {
50             name = "_" + name;
51         }
52     }
53
54     public void parse()
55     {
56         // add sloppy_declarator behavior here....
57
try
58         {
59             NameTable.define( full_name(), "declarator" );
60         }
61         catch( NameAlreadyDefined p )
62         {
63             parser.error( "Declarator name " + full_name() +
64                     " already declared in this scope.", token );
65         }
66     }
67
68     public void setEnclosingSymbol( IdlSymbol s )
69     {
70         if( enclosing_symbol != null && enclosing_symbol != s )
71             throw new RuntimeException JavaDoc( "Compiler Error: trying to reassign container for " + name );
72         enclosing_symbol = s;
73     }
74
75     public IdlSymbol getEnclosingSymbol()
76     {
77         return enclosing_symbol;
78     }
79
80     public void setPackage( String JavaDoc s )
81     {
82         s = parser.pack_replace( s );
83         if( pack_name.length() > 0 )
84             pack_name = s + "." + pack_name;
85         else
86             pack_name = s;
87     }
88
89     String JavaDoc full_name()
90     {
91         if( name.length() == 0 )
92             return null;
93         if( pack_name.length() > 0 )
94             return pack_name + "." + name;
95         else
96             return name;
97     }
98
99     public String JavaDoc toString()
100     {
101         return name;
102     }
103 }
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
Popular Tags