Module::Module(char *filename, Identifier *ident, int doDocComment, int doHdrGen) : Package(ident) { FileName *srcfilename; // printf("Module::Module(filename = '%s', ident = '%s')\n", filename, ident->toChars()); this->arg = filename; md = NULL; errors = 0; numlines = 0; members = NULL; isHtml = 0; isDocFile = 0; needmoduleinfo = 0; #ifdef IN_GCC strictlyneedmoduleinfo = 0; #endif selfimports = 0; insearch = 0; searchCacheIdent = NULL; searchCacheSymbol = NULL; searchCacheFlags = 0; semanticstarted = 0; semanticRun = 0; decldefs = NULL; vmoduleinfo = NULL; #if IN_DMD massert = NULL; munittest = NULL; marray = NULL; sictor = NULL; sctor = NULL; sdtor = NULL; stest = NULL; sfilename = NULL; #endif root = 0; importedFrom = NULL; srcfile = NULL; objfile = NULL; docfile = NULL; hdrfile = NULL; debuglevel = 0; debugids = NULL; debugidsNot = NULL; versionlevel = 0; versionids = NULL; versionidsNot = NULL; macrotable = NULL; escapetable = NULL; safe = FALSE; #if IN_DMD doppelganger = 0; cov = NULL; covb = NULL; #endif srcfilename = FileName::defaultExt(filename, global.mars_ext); if (!srcfilename->equalsExt(global.mars_ext) && !srcfilename->equalsExt(global.hdr_ext) && !srcfilename->equalsExt("dd")) { if (srcfilename->equalsExt("html") || srcfilename->equalsExt("htm") || srcfilename->equalsExt("xhtml")) isHtml = 1; else { error("source file name '%s' must have .%s extension", srcfilename->toChars(), global.mars_ext); fatal(); } } srcfile = new File(srcfilename); #if IN_LLVM // LDC llvmForceLogging = false; moduleInfoVar = NULL; moduleInfoType = llvm::StructType::create(llvm::getGlobalContext()); this->doDocComment = doDocComment; this->doHdrGen = doHdrGen; this->isRoot = false; this->arrayfuncs = 0; #endif }
Module::Module(char *filename, Identifier *ident, int doDocComment, int doHdrGen) : Package(ident) { FileName *srcfilename; FileName *objfilename; FileName *symfilename; // printf("Module::Module(filename = '%s', ident = '%s')\n", filename, ident->toChars()); this->arg = filename; md = NULL; errors = 0; numlines = 0; members = NULL; isHtml = 0; isDocFile = 0; needmoduleinfo = 0; #ifdef IN_GCC strictlyneedmoduleinfo = 0; #endif selfimports = 0; insearch = 0; searchCacheIdent = NULL; searchCacheSymbol = NULL; searchCacheFlags = 0; semanticstarted = 0; semanticRun = 0; decldefs = NULL; vmoduleinfo = NULL; massert = NULL; munittest = NULL; marray = NULL; sictor = NULL; sctor = NULL; sdtor = NULL; ssharedctor = NULL; sshareddtor = NULL; stest = NULL; sfilename = NULL; root = 0; importedFrom = NULL; srcfile = NULL; docfile = NULL; debuglevel = 0; debugids = NULL; debugidsNot = NULL; versionlevel = 0; versionids = NULL; versionidsNot = NULL; macrotable = NULL; escapetable = NULL; safe = FALSE; doppelganger = 0; cov = NULL; covb = NULL; nameoffset = 0; namelen = 0; srcfilename = FileName::defaultExt(filename, global.mars_ext); if (!srcfilename->equalsExt(global.mars_ext) && !srcfilename->equalsExt(global.hdr_ext) && !srcfilename->equalsExt("dd")) { if (srcfilename->equalsExt("html") || srcfilename->equalsExt("htm") || srcfilename->equalsExt("xhtml")) { if (!global.params.useDeprecated) error("html source files is deprecated %s", srcfilename->toChars()); isHtml = 1; } else { error("source file name '%s' must have .%s extension", srcfilename->toChars(), global.mars_ext); fatal(); } } char *argobj; if (global.params.objname) argobj = global.params.objname; #if 0 else if (global.params.preservePaths) argobj = filename; else argobj = FileName::name(filename); if (!FileName::absolute(argobj)) { argobj = FileName::combine(global.params.objdir, argobj); } #else // Bugzilla 3547 else { if (global.params.preservePaths) argobj = filename; else argobj = FileName::name(filename); if (!FileName::absolute(argobj)) { argobj = FileName::combine(global.params.objdir, argobj); } } #endif if (global.params.objname) objfilename = new FileName(argobj, 0); else objfilename = FileName::forceExt(argobj, global.obj_ext); symfilename = FileName::forceExt(filename, global.sym_ext); srcfile = new File(srcfilename); if (doDocComment) { setDocfile(); } if (doHdrGen) { setHdrfile(); } objfile = new File(objfilename); symfile = new File(symfilename); }