You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by br...@apache.org on 2011/06/09 01:51:24 UTC
svn commit: r1133606 -
/thrift/trunk/compiler/cpp/src/generate/t_js_generator.cc
Author: bryanduxbury
Date: Wed Jun 8 23:51:24 2011
New Revision: 1133606
URL: http://svn.apache.org/viewvc?rev=1133606&view=rev
Log:
THRIFT-1200. js: JS compiler generates code that clobbers existing namespaces
Patch: Ilya Maykov
Modified:
thrift/trunk/compiler/cpp/src/generate/t_js_generator.cc
Modified: thrift/trunk/compiler/cpp/src/generate/t_js_generator.cc
URL: http://svn.apache.org/viewvc/thrift/trunk/compiler/cpp/src/generate/t_js_generator.cc?rev=1133606&r1=1133605&r2=1133606&view=diff
==============================================================================
--- thrift/trunk/compiler/cpp/src/generate/t_js_generator.cc (original)
+++ thrift/trunk/compiler/cpp/src/generate/t_js_generator.cc Wed Jun 8 23:51:24 2011
@@ -275,15 +275,10 @@ void t_js_generator::init_generator() {
// TODO should the namespace just be in the directory structure for node?
vector<string> ns_pieces = js_namespace_pieces( program_ );
if( ns_pieces.size() > 0){
- f_types_ << "var " << ns_pieces[0] << " = {};"<<endl;
-
- pns = ns_pieces[0];
-
- for(size_t i=1; i<ns_pieces.size(); i++){
- pns += "." + ns_pieces[i];
-
- f_types_ << pns << " = {}"<<endl;
- }
+ for(size_t i = 0; i < ns_pieces.size(); ++i) {
+ pns += ((i == 0) ? "" : ".") + ns_pieces[i];
+ f_types_ << "if (typeof " << pns << " === 'undefined') " << pns << " = {};" << endl;
+ }
}
}