Mercurial > projects > ldc
comparison dmd/dsymbol.h @ 336:aaade6ded589 trunk
[svn r357] Merged DMD 1.033
author | lindquist |
---|---|
date | Sat, 12 Jul 2008 19:38:31 +0200 |
parents | db9890b3fb64 |
children | 44f08170f4ef |
comparison
equal
deleted
inserted
replaced
335:17b844102023 | 336:aaade6ded589 |
---|---|
1 | 1 |
2 // Compiler implementation of the D programming language | 2 // Compiler implementation of the D programming language |
3 // Copyright (c) 1999-2007 by Digital Mars | 3 // Copyright (c) 1999-2008 by Digital Mars |
4 // All Rights Reserved | 4 // All Rights Reserved |
5 // written by Walter Bright | 5 // written by Walter Bright |
6 // http://www.digitalmars.com | 6 // http://www.digitalmars.com |
7 // License for redistribution is by either the Artistic License | 7 // License for redistribution is by either the Artistic License |
8 // in artistic.txt, or the GNU General Public License in gnu.txt. | 8 // in artistic.txt, or the GNU General Public License in gnu.txt. |
121 void checkDeprecated(Loc loc, Scope *sc); | 121 void checkDeprecated(Loc loc, Scope *sc); |
122 Module *getModule(); | 122 Module *getModule(); |
123 Dsymbol *pastMixin(); | 123 Dsymbol *pastMixin(); |
124 Dsymbol *toParent(); | 124 Dsymbol *toParent(); |
125 Dsymbol *toParent2(); | 125 Dsymbol *toParent2(); |
126 TemplateInstance *inTemplateInstance(); | |
126 | 127 |
127 int dyncast() { return DYNCAST_DSYMBOL; } // kludge for template.isSymbol() | 128 int dyncast() { return DYNCAST_DSYMBOL; } // kludge for template.isSymbol() |
128 | 129 |
129 static Array *arraySyntaxCopy(Array *a); | 130 static Array *arraySyntaxCopy(Array *a); |
130 | 131 |
131 virtual char *kind(); | 132 virtual const char *kind(); |
132 virtual Dsymbol *toAlias(); // resolve real symbol | 133 virtual Dsymbol *toAlias(); // resolve real symbol |
133 virtual int addMember(Scope *sc, ScopeDsymbol *s, int memnum); | 134 virtual int addMember(Scope *sc, ScopeDsymbol *s, int memnum); |
134 virtual void semantic(Scope *sc); | 135 virtual void semantic(Scope *sc); |
135 virtual void semantic2(Scope *sc); | 136 virtual void semantic2(Scope *sc); |
136 virtual void semantic3(Scope *sc); | 137 virtual void semantic3(Scope *sc); |
148 virtual int isforwardRef(); | 149 virtual int isforwardRef(); |
149 virtual void defineRef(Dsymbol *s); | 150 virtual void defineRef(Dsymbol *s); |
150 virtual AggregateDeclaration *isThis(); // is a 'this' required to access the member | 151 virtual AggregateDeclaration *isThis(); // is a 'this' required to access the member |
151 virtual ClassDeclaration *isClassMember(); // are we a member of a class? | 152 virtual ClassDeclaration *isClassMember(); // are we a member of a class? |
152 virtual int isExport(); // is Dsymbol exported? | 153 virtual int isExport(); // is Dsymbol exported? |
153 virtual int isImportedSymbol(); // is Dsymbol imported? | 154 virtual int isImportedSymbol(); // is Dsymbol imported? |
154 virtual int isDeprecated(); // is Dsymbol deprecated? | 155 virtual int isDeprecated(); // is Dsymbol deprecated? |
155 virtual LabelDsymbol *isLabel(); // is this a LabelDsymbol? | 156 virtual LabelDsymbol *isLabel(); // is this a LabelDsymbol? |
156 virtual AggregateDeclaration *isMember(); // is this symbol a member of an AggregateDeclaration? | 157 virtual AggregateDeclaration *isMember(); // is this symbol a member of an AggregateDeclaration? |
157 virtual Type *getType(); // is this a type? | 158 virtual Type *getType(); // is this a type? |
158 virtual char *mangle(); | 159 virtual char *mangle(); |
170 void emitDitto(Scope *sc); | 171 void emitDitto(Scope *sc); |
171 | 172 |
172 // Backend | 173 // Backend |
173 | 174 |
174 virtual Symbol *toSymbol(); // to backend symbol | 175 virtual Symbol *toSymbol(); // to backend symbol |
175 virtual void toObjFile(); // compile to .obj file | 176 virtual void toObjFile(int multiobj); // compile to .obj file |
176 virtual int cvMember(unsigned char *p); // emit cv debug info for member | 177 virtual int cvMember(unsigned char *p); // emit cv debug info for member |
177 | 178 |
178 Symbol *toImport(); // to backend import symbol | 179 Symbol *toImport(); // to backend import symbol |
179 static Symbol *toImport(Symbol *s); // to backend import symbol | 180 static Symbol *toImport(Symbol *s); // to backend import symbol |
180 | 181 |
245 void importScope(ScopeDsymbol *s, enum PROT protection); | 246 void importScope(ScopeDsymbol *s, enum PROT protection); |
246 int isforwardRef(); | 247 int isforwardRef(); |
247 void defineRef(Dsymbol *s); | 248 void defineRef(Dsymbol *s); |
248 static void multiplyDefined(Loc loc, Dsymbol *s1, Dsymbol *s2); | 249 static void multiplyDefined(Loc loc, Dsymbol *s1, Dsymbol *s2); |
249 Dsymbol *nameCollision(Dsymbol *s); | 250 Dsymbol *nameCollision(Dsymbol *s); |
250 char *kind(); | 251 const char *kind(); |
251 | 252 |
252 void emitMemberComments(Scope *sc); | 253 void emitMemberComments(Scope *sc); |
253 | 254 |
254 ScopeDsymbol *isScopeDsymbol() { return this; } | 255 ScopeDsymbol *isScopeDsymbol() { return this; } |
255 }; | 256 }; |