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