You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by ro...@apache.org on 2012/04/08 14:30:01 UTC
svn commit: r1310986 - in /thrift/trunk:
compiler/cpp/src/generate/t_js_generator.cc test/nodejs/client.js
Author: roger
Date: Sun Apr 8 12:30:00 2012
New Revision: 1310986
URL: http://svn.apache.org/viewvc?rev=1310986&view=rev
Log:
THRIFT-1553 thrift nodejs service side can't read map structure, key as enum, value as Object
Patch: Henrique Mendonca
Modified:
thrift/trunk/compiler/cpp/src/generate/t_js_generator.cc
thrift/trunk/test/nodejs/client.js
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=1310986&r1=1310985&r2=1310986&view=diff
==============================================================================
--- thrift/trunk/compiler/cpp/src/generate/t_js_generator.cc (original)
+++ thrift/trunk/compiler/cpp/src/generate/t_js_generator.cc Sun Apr 8 12:30:00 2012
@@ -1367,12 +1367,14 @@ void t_js_generator::generate_deserializ
scope_up(out);
if (ttype->is_map()) {
- out <<
- indent() << "if (" << i << " > 0 ) {" << endl <<
- indent() << " if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {" << endl <<
- indent() << " input.rstack.pop();" << endl <<
- indent() << " }" << endl <<
- indent() << "}" << endl;
+ if (!gen_node_) {
+ out <<
+ indent() << "if (" << i << " > 0 ) {" << endl <<
+ indent() << " if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {" << endl <<
+ indent() << " input.rstack.pop();" << endl <<
+ indent() << " }" << endl <<
+ indent() << "}" << endl;
+ }
generate_deserialize_map_element(out, (t_map*)ttype, prefix);
} else if (ttype->is_set()) {
Modified: thrift/trunk/test/nodejs/client.js
URL: http://svn.apache.org/viewvc/thrift/trunk/test/nodejs/client.js?rev=1310986&r1=1310985&r2=1310986&view=diff
==============================================================================
--- thrift/trunk/test/nodejs/client.js (original)
+++ thrift/trunk/test/nodejs/client.js Sun Apr 8 12:30:00 2012
@@ -114,8 +114,6 @@ client.testNest(out2, function(err, resp
passed();
});
-/*
- * TypeError: Cannot read property 'length' of undefined
var mapout = {};
for (var i = 0; i < 5; ++i) {
mapout[i] = i-10;
@@ -125,7 +123,6 @@ client.testMap(mapout, function(err, res
console.log("testMap(", mapout, ") = \n", response);
passed();
});
-*/
/*
* TODO: testSet, testList, testEnum, testTypedef, testMapMap, testInsanity