Mercurial > projects > ldc
comparison dmd/module.h @ 336:aaade6ded589 trunk
[svn r357] Merged DMD 1.033
author | lindquist |
---|---|
date | Sat, 12 Jul 2008 19:38:31 +0200 |
parents | ccd07d9f2ce9 |
children | ecf70fe065b9 |
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-2005 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. |
22 struct ClassDeclaration; | 22 struct ClassDeclaration; |
23 struct ModuleDeclaration; | 23 struct ModuleDeclaration; |
24 struct Macro; | 24 struct Macro; |
25 struct Escape; | 25 struct Escape; |
26 struct VarDeclaration; | 26 struct VarDeclaration; |
27 struct Library; | |
27 | 28 |
28 // Back end | 29 // Back end |
29 #if IN_LLVM | 30 #if IN_LLVM |
30 struct DValue; | 31 struct DValue; |
31 typedef DValue elem; | 32 typedef DValue elem; |
38 #endif | 39 #endif |
39 | 40 |
40 struct Package : ScopeDsymbol | 41 struct Package : ScopeDsymbol |
41 { | 42 { |
42 Package(Identifier *ident); | 43 Package(Identifier *ident); |
43 char *kind(); | 44 const char *kind(); |
44 | 45 |
45 static DsymbolTable *resolve(Array *packages, Dsymbol **pparent, Package **ppkg); | 46 static DsymbolTable *resolve(Array *packages, Dsymbol **pparent, Package **ppkg); |
46 | 47 |
47 Package *isPackage() { return this; } | 48 Package *isPackage() { return this; } |
48 | 49 |
114 ~Module(); | 115 ~Module(); |
115 | 116 |
116 static Module *load(Loc loc, Array *packages, Identifier *ident); | 117 static Module *load(Loc loc, Array *packages, Identifier *ident); |
117 | 118 |
118 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); | 119 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); |
119 char *kind(); | 120 const char *kind(); |
120 void setDocfile(); // set docfile member | 121 void setDocfile(); // set docfile member |
121 void read(Loc loc); // read file | 122 void read(Loc loc); // read file |
122 #if IN_GCC | 123 #if IN_GCC |
123 void parse(bool dump_source = false); // syntactic parse | 124 void parse(bool dump_source = false); // syntactic parse |
124 #else | 125 #else |
130 void inlineScan(); // scan for functions to inline | 131 void inlineScan(); // scan for functions to inline |
131 void setHdrfile(); // set hdrfile member | 132 void setHdrfile(); // set hdrfile member |
132 #ifdef _DH | 133 #ifdef _DH |
133 void genhdrfile(); // generate D import file | 134 void genhdrfile(); // generate D import file |
134 #endif | 135 #endif |
135 void genobjfile(); | 136 void genobjfile(int multiobj); |
136 void gensymfile(); | 137 void gensymfile(); |
137 void gendocfile(); | 138 void gendocfile(); |
138 int needModuleInfo(); | 139 int needModuleInfo(); |
139 Dsymbol *search(Loc loc, Identifier *ident, int flags); | 140 Dsymbol *search(Loc loc, Identifier *ident, int flags); |
140 void deleteObjFile(); | 141 void deleteObjFile(); |
141 void addDeferredSemantic(Dsymbol *s); | 142 void addDeferredSemantic(Dsymbol *s); |
142 void runDeferredSemantic(); | 143 void runDeferredSemantic(); |
143 | 144 |
144 // Back end | 145 // Back end |
145 | 146 |
147 int doppelganger; // sub-module | |
146 Symbol *cov; // private uint[] __coverage; | 148 Symbol *cov; // private uint[] __coverage; |
147 unsigned *covb; // bit array of valid code line numbers | 149 unsigned *covb; // bit array of valid code line numbers |
148 | 150 |
149 Symbol *sictor; // module order independent constructor | 151 Symbol *sictor; // module order independent constructor |
150 Symbol *sctor; // module constructor | 152 Symbol *sctor; // module constructor |