diff options
author | Joe George <joe@zeroc.com> | 2015-04-23 14:33:12 -0400 |
---|---|---|
committer | Joe George <joe@zeroc.com> | 2015-04-23 14:35:45 -0400 |
commit | 8a1b65e8f91a442be280b5ba53cc76937b5f16b3 (patch) | |
tree | db2462a40b516641ae0dd70facf3e51fc44e2041 /cpp/src/slice2js/Gen.cpp | |
parent | Make js use npm ice-gulp-builder package (diff) | |
download | ice-8a1b65e8f91a442be280b5ba53cc76937b5f16b3.tar.bz2 ice-8a1b65e8f91a442be280b5ba53cc76937b5f16b3.tar.xz ice-8a1b65e8f91a442be280b5ba53cc76937b5f16b3.zip |
ICE-6466 - Replace --icejs metadata js:ice-build
Diffstat (limited to 'cpp/src/slice2js/Gen.cpp')
-rw-r--r-- | cpp/src/slice2js/Gen.cpp | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/cpp/src/slice2js/Gen.cpp b/cpp/src/slice2js/Gen.cpp index 9ad4b2d63a4..0f14a9be27e 100644 --- a/cpp/src/slice2js/Gen.cpp +++ b/cpp/src/slice2js/Gen.cpp @@ -617,9 +617,8 @@ Slice::JsVisitor::writeDocComment(const ContainedPtr& p, const string& deprecate _out << nl << " **/"; } -Slice::Gen::Gen(const string& base, const vector<string>& includePaths, const string& dir, bool icejs) : +Slice::Gen::Gen(const string& base, const vector<string>& includePaths, const string& dir) : _includePaths(includePaths), - _icejs(icejs), _useStdout(false) { _fileBase = base; @@ -650,10 +649,9 @@ Slice::Gen::Gen(const string& base, const vector<string>& includePaths, const st printGeneratedHeader(_out, _fileBase + ".ice"); } -Slice::Gen::Gen(const string& base, const vector<string>& includePaths, const string& dir, bool icejs, ostream& out) : +Slice::Gen::Gen(const string& base, const vector<string>& includePaths, const string& dir, ostream& out) : _out(out), _includePaths(includePaths), - _icejs(icejs), _useStdout(true) { _fileBase = base; @@ -678,7 +676,16 @@ Slice::Gen::~Gen() void Slice::Gen::generate(const UnitPtr& p) { - if(_icejs) + // + // Check for global "js:ice-build" metadata. + // If this is set then we are building Ice. + // + DefinitionContextPtr dc = p->findDefinitionContext(p->topLevelFile()); + assert(dc); + StringList globalMetaData = dc->getMetaData(); + bool icejs = find(globalMetaData.begin(), globalMetaData.end(), "js:ice-build") != globalMetaData.end(); + + if(icejs) { _out.zeroIndent(); _out << nl << "/* slice2js browser-bundle-skip */"; @@ -686,26 +693,26 @@ Slice::Gen::generate(const UnitPtr& p) } _out << nl << "(function(module, require, exports)"; _out << sb; - if(_icejs) + if(icejs) { _out.zeroIndent(); _out << nl << "/* slice2js browser-bundle-skip-end */"; _out.restoreIndent(); } - RequireVisitor requireVisitor(_out, _includePaths, _icejs); + RequireVisitor requireVisitor(_out, _includePaths, icejs); p->visit(&requireVisitor, false); vector<string> seenModules = requireVisitor.writeRequires(p); - TypesVisitor typesVisitor(_out, seenModules, _icejs); + TypesVisitor typesVisitor(_out, seenModules, icejs); p->visit(&typesVisitor, false); // // Export the top-level modules. // - ExportVisitor exportVisitor(_out, _icejs); + ExportVisitor exportVisitor(_out, icejs); p->visit(&exportVisitor, false); - if(_icejs) + if(icejs) { _out.zeroIndent(); _out << nl << "/* slice2js browser-bundle-skip */"; @@ -717,7 +724,7 @@ Slice::Gen::generate(const UnitPtr& p) << nl << " typeof(global) !== \"undefined\" && typeof(global.process) !== \"undefined\" ? require : window.Ice.__require," << nl << " typeof(global) !== \"undefined\" && typeof(global.process) !== \"undefined\" ? exports : window));"; - if(_icejs) + if(icejs) { _out.zeroIndent(); _out << nl << "/* slice2js browser-bundle-skip-end */"; |