Author: roger
Date: Wed Nov 23 21:02:46 2011
New Revision: 1205592

URL: http://svn.apache.org/viewvc?rev=1205592&view=rev
Log:
THRIFT-1434 Node.js Thrift compiler fails to generate server code using 
inheritance
Patch: Wade Simmons

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=1205592&r1=1205591&r2=1205592&view=diff
==============================================================================
--- thrift/trunk/compiler/cpp/src/generate/t_js_generator.cc (original)
+++ thrift/trunk/compiler/cpp/src/generate/t_js_generator.cc Wed Nov 23 
21:02:46 2011
@@ -741,7 +741,9 @@ void t_js_generator::generate_service(t_
             "var " << tservice->get_extends()->get_name() <<
             " = require('./" << tservice->get_extends()->get_name() << "')" << 
endl <<
             "var " << tservice->get_extends()->get_name() << "Client = " <<
-            tservice->get_extends()->get_name() << ".Client" << endl;
+            tservice->get_extends()->get_name() << ".Client" << endl <<
+            "var " << tservice->get_extends()->get_name() << "Processor = " <<
+            tservice->get_extends()->get_name() << ".Processor" << endl;
 
         }
 
@@ -779,6 +781,13 @@ void t_js_generator::generate_service_pr
 
     scope_down(f_service_);
 
+    if (tservice->get_extends() != NULL) {
+        indent(f_service_) << "Thrift.inherits(" <<
+            js_namespace(tservice->get_program()) <<
+            service_name_ << "Processor, " <<
+            tservice->get_extends()->get_name() << "Processor)" << endl;
+    }
+
     // Generate the server implementation
     indent(f_service_) <<
         js_namespace(tservice->get_program()) << service_name_ << 
"Processor.prototype.process = function(input, output) ";


Reply via email to