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 };