1 : //==============================================================================
2 : // File <$/src/cpp/dev/idlc/symbol.cpp>
3 : // This file is part of YaOrb : Yet Another Object Request Broker,
4 : // Copyright (c) 2000-2003, Marc Alff.
5 : //
6 : // This program is free software; you can redistribute it and/or
7 : // modify it under the terms of the GNU General Public License
8 : // as published by the Free Software Foundation; either version 2
9 : // of the License, or (at your option) any later version.
10 : //
11 : // This program 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
14 : // GNU General Public License for more details.
15 : //
16 : // You should have received a copy of the GNU General Public License
17 : // along with this program; if not, write to the Free Software
18 : // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 : //
20 : //==============================================================================
21 :
22 : #include <stdio.h>
23 :
24 : #include "src/cpp/dev/idlc/symbol.h"
25 :
26 12845 : Symbol::Symbol(const String& aName, SymbolClass_e aClass)
27 : :
28 : _name(aName),
29 : _ir(),
30 : _prefix(),
31 : _fullyQualifiedName(aName),
32 : _class(aClass),
33 12845 : _hook(NULL)
34 : {
35 : // FIXME : Setting default RepositoryID
36 12845 : _ir = aName ;
37 0 : }
38 :
39 12844 : Symbol::~Symbol()
40 12844 : {}
41 :
42 11341 : void* Symbol::GetHook(void) const
43 : {
44 : return _hook ;
45 : }
46 :
47 2773 : void Symbol::SetHook(void *hook)
48 : {
49 2773 : _hook = hook ;
50 : }
51 :
52 730328 : const String& Symbol::GetName(void) const
53 : {
54 : return _name ;
55 : }
56 :
57 4847 : const String& Symbol::GetFullyQualifiedName(void) const
58 : {
59 : return _fullyQualifiedName ;
60 : }
61 :
62 12845 : void Symbol::SetFullyQualifiedName(const String& name)
63 : {
64 12845 : _fullyQualifiedName = name ;
65 : }
66 :
67 65 : const String& Symbol::GetPrefix() const
68 : {
69 : return _prefix ;
70 : }
71 :
72 12845 : void Symbol::SetPrefix(const String& prefix)
73 : {
74 12845 : _prefix = prefix ;
75 : }
76 :
77 186 : const String& Symbol::GetInterfaceRepositoryID(void) const
78 : {
79 : return _ir ;
80 : }
81 :
82 0 : void Symbol::SetInterfaceRepositoryID(const String& ir)
83 : {
84 0 : _ir = ir ;
85 : }
86 :
87 14004 : SymbolClass_e Symbol::GetClass(void) const
88 : {
89 : return _class ;
90 : }
91 :
92 68 : void Symbol::print(std::ostream &str) const
93 : {
94 68 : switch (_class)
95 : {
96 : case moduleSymbol :
97 : {
98 13 : str << "module" ;
99 13 : break ;
100 : }
101 : case interfaceSymbol :
102 : {
103 38 : str << "interface" ;
104 38 : break ;
105 : }
106 : case attributeSymbol :
107 : {
108 9 : str << "attribute" ;
109 9 : break ;
110 : }
111 : case operationSymbol :
112 : {
113 2 : str << "operation" ;
114 2 : break ;
115 : }
116 : case parameterSymbol :
117 : {
118 1 : str << "parameter" ;
119 1 : break ;
120 : }
121 : case typedefSymbol :
122 : {
123 0 : str << "typedef" ;
124 0 : break ;
125 : }
126 : case structSymbol :
127 : {
128 0 : str << "struct" ;
129 0 : break ;
130 : }
131 : case memberSymbol :
132 : {
133 1 : str << "struct member" ;
134 1 : break ;
135 : }
136 : case unionSymbol :
137 : {
138 0 : str << "union" ;
139 0 : break ;
140 : }
141 : case constantSymbol :
142 : {
143 0 : str << "constant" ;
144 0 : break ;
145 : }
146 : case enumSymbol :
147 : {
148 1 : str << "enum" ;
149 1 : break ;
150 : }
151 : case enumItemSymbol :
152 : {
153 1 : str << "enum item" ;
154 1 : break ;
155 : }
156 : case exceptionSymbol :
157 : {
158 2 : str << "exception" ;
159 2 : break ;
160 : }
161 : case nativeSymbol :
162 : {
163 0 : str << "native" ;
164 : break ;
165 : }
166 : }
167 :
168 68 : str << " " << _name ;
169 63 : }
170 63 :
171 0 :
|