Mercurial > projects > ldc
diff dmd/module.h @ 1587:def7a1d494fd
Merge DMD 1.051
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Fri, 06 Nov 2009 23:58:01 +0100 |
parents | 61f12f4651b5 |
children | 44b145be2ef5 |
line wrap: on
line diff
--- a/dmd/module.h Fri Nov 06 21:51:41 2009 +0100 +++ b/dmd/module.h Fri Nov 06 23:58:01 2009 +0100 @@ -94,7 +94,7 @@ int searchCacheFlags; // cached flags int semanticstarted; // has semantic() been started? - int semanticdone; // has semantic() been done? + int semanticRun; // has semantic() been done? int root; // != 0 if this is a 'root' module, // i.e. a module that will be taken all the // way to an object file @@ -119,8 +119,10 @@ Macro *macrotable; // document comment macros struct Escape *escapetable; // document comment escapes - int doDocComment; // enable generating doc comments for this module - int doHdrGen; // enable generating header file for this module + int doDocComment; // enable generating doc comments for this module + int doHdrGen; // enable generating header file for this module + + bool safe; // TRUE if module is marked as 'safe' Module(char *arg, Identifier *ident, int doDocComment, int doHdrGen); ~Module(); @@ -128,6 +130,7 @@ static Module *load(Loc loc, Array *packages, Identifier *ident); void toCBuffer(OutBuffer *buf, HdrGenState *hgs); + void toJsonBuffer(OutBuffer *buf); const char *kind(); void read(Loc loc); // read file #if IN_GCC @@ -135,6 +138,7 @@ #else void parse(); // syntactic parse #endif + void importAll(Scope *sc); void semantic(Scope* unused_sc = NULL); // semantic analysis void semantic2(Scope* unused_sc = NULL); // pass 2 semantic analysis void semantic3(Scope* unused_sc = NULL); // pass 3 semantic analysis @@ -146,6 +150,7 @@ void gendocfile(); int needModuleInfo(); Dsymbol *search(Loc loc, Identifier *ident, int flags); + Dsymbol *symtabInsert(Dsymbol *s); void deleteObjFile(); void addDeferredSemantic(Dsymbol *s); void runDeferredSemantic(); @@ -198,6 +203,7 @@ { Identifier *id; Array *packages; // array of Identifier's representing packages + bool safe; ModuleDeclaration(Array *packages, Identifier *id);