1
|
1
|
|
2 // Copyright (c) 1999-2005 by Digital Mars
|
|
3 // All Rights Reserved
|
|
4 // written by Walter Bright
|
|
5 // www.digitalmars.com
|
|
6 // License for redistribution is by either the Artistic License
|
|
7 // in artistic.txt, or the GNU General Public License in gnu.txt.
|
|
8 // See the included readme.txt for details.
|
|
9
|
|
10 // stubbed out for dmdfe. Original is in dmd/tocsym.c
|
|
11
|
|
12 #include <stddef.h>
|
|
13
|
|
14 #include "mars.h"
|
|
15 #include "module.h"
|
|
16 #include "mtype.h"
|
|
17 #include "declaration.h"
|
|
18 #include "statement.h"
|
|
19 #include "enum.h"
|
|
20 #include "aggregate.h"
|
|
21 #include "init.h"
|
|
22 #include "attrib.h"
|
|
23 #include "lexer.h"
|
|
24 #include "symbol.h"
|
|
25
|
|
26 /********************************* SymbolDeclaration ****************************/
|
|
27
|
|
28 SymbolDeclaration::SymbolDeclaration(Loc loc, Symbol *s, StructDeclaration *dsym)
|
|
29 : Declaration(new Identifier("", TOKidentifier))
|
|
30 {
|
|
31 }
|
|
32
|
|
33 Symbol *SymbolDeclaration::toSymbol()
|
|
34 {
|
|
35 return sym;
|
|
36 }
|
|
37
|
|
38 /*************************************
|
|
39 * Helper
|
|
40 */
|
|
41
|
|
42 Symbol *Dsymbol::toSymbolX(const char *prefix, int sclass, TYPE *t, const char *suffix)
|
|
43 {
|
|
44 return 0;
|
|
45 }
|
|
46
|
|
47 /*************************************
|
|
48 */
|
|
49
|
|
50 Symbol *Dsymbol::toSymbol()
|
|
51 {
|
|
52 return 0;
|
|
53 }
|
|
54
|
|
55 /*********************************
|
|
56 * Generate import symbol from symbol.
|
|
57 */
|
|
58
|
|
59 Symbol *Dsymbol::toImport()
|
|
60 {
|
|
61 return 0;
|
|
62 }
|
|
63
|
|
64 /*************************************
|
|
65 */
|
|
66
|
|
67 Symbol *Dsymbol::toImport(Symbol *sym)
|
|
68 {
|
|
69 return 0;
|
|
70 }
|
|
71
|
|
72 /*************************************
|
|
73 */
|
|
74
|
|
75 Symbol *VarDeclaration::toSymbol()
|
|
76 {
|
|
77 return 0;
|
|
78 }
|
|
79
|
|
80 /*************************************
|
|
81 */
|
|
82
|
|
83 Symbol *ClassInfoDeclaration::toSymbol()
|
|
84 {
|
|
85 return 0;
|
|
86 }
|
|
87
|
|
88 /*************************************
|
|
89 */
|
|
90
|
|
91 Symbol *ModuleInfoDeclaration::toSymbol()
|
|
92 {
|
|
93 return 0;
|
|
94 }
|
|
95
|
|
96 /*************************************
|
|
97 */
|
|
98
|
|
99 Symbol *TypeInfoDeclaration::toSymbol()
|
|
100 {
|
|
101 return 0;
|
|
102 }
|
|
103
|
|
104 /*************************************
|
|
105 */
|
|
106
|
|
107 Symbol *FuncDeclaration::toSymbol()
|
|
108 {
|
|
109
|
|
110 return 0;
|
|
111 }
|
|
112
|
|
113 /*************************************
|
|
114 */
|
|
115
|
|
116 Symbol *FuncDeclaration::toThunkSymbol(int offset)
|
|
117 {
|
|
118 return 0;
|
|
119 }
|
|
120
|
|
121 /*************************************
|
|
122 */
|
|
123
|
|
124 Symbol *FuncAliasDeclaration::toSymbol()
|
|
125 {
|
|
126
|
|
127 return 0;
|
|
128 }
|
|
129
|
|
130
|
|
131 /****************************************
|
|
132 * Create a static symbol we can hang DT initializers onto.
|
|
133 */
|
|
134
|
|
135 Symbol *static_sym()
|
|
136 {
|
|
137 return 0;
|
|
138 }
|
|
139
|
|
140 /*************************************
|
|
141 * Create the "ClassInfo" symbol
|
|
142 */
|
|
143
|
|
144 Symbol *ClassDeclaration::toSymbol()
|
|
145 {
|
|
146 return 0;
|
|
147 }
|
|
148
|
|
149 /*************************************
|
|
150 * Create the "InterfaceInfo" symbol
|
|
151 */
|
|
152
|
|
153 Symbol *InterfaceDeclaration::toSymbol()
|
|
154 {
|
|
155 return 0;
|
|
156 }
|
|
157
|
|
158 /*************************************
|
|
159 * Create the "ModuleInfo" symbol
|
|
160 */
|
|
161
|
|
162 Symbol *Module::toSymbol()
|
|
163 {
|
|
164 return 0;
|
|
165 }
|
|
166
|
|
167 /*************************************
|
|
168 * This is accessible via the ClassData, but since it is frequently
|
|
169 * needed directly (like for rtti comparisons), make it directly accessible.
|
|
170 */
|
|
171
|
|
172 Symbol *ClassDeclaration::toVtblSymbol()
|
|
173 {
|
|
174 return 0;
|
|
175 }
|
|
176
|
|
177 /**********************************
|
|
178 * Create the static initializer for the struct/class.
|
|
179 */
|
|
180
|
|
181 Symbol *AggregateDeclaration::toInitializer()
|
|
182 {
|
|
183 return 0;
|
|
184 }
|
|
185
|
|
186
|
|
187 /******************************************
|
|
188 */
|
|
189
|
|
190 Symbol *Module::toModuleAssert()
|
|
191 {
|
|
192 return 0;
|
|
193 }
|
|
194
|
|
195 /******************************************
|
|
196 */
|
|
197
|
|
198 Symbol *Module::toModuleArray()
|
|
199 {
|
|
200 return 0;
|
|
201 }
|
|
202
|
|
203 /********************************************
|
|
204 * Determine the right symbol to look up
|
|
205 * an associative array element.
|
|
206 * Input:
|
|
207 * flags 0 don't add value signature
|
|
208 * 1 add value signature
|
|
209 */
|
|
210
|
|
211 Symbol *TypeAArray::aaGetSymbol(char *func, int flags)
|
|
212 {
|
|
213 return 0;
|
|
214 }
|
|
215
|