diff options
-rw-r--r-- | icespider/compile/routeCompiler.cpp | 14 | ||||
-rw-r--r-- | icespider/unittests/test-api.ice | 1 |
2 files changed, 11 insertions, 4 deletions
diff --git a/icespider/compile/routeCompiler.cpp b/icespider/compile/routeCompiler.cpp index 20d5c39..a6fa236 100644 --- a/icespider/compile/routeCompiler.cpp +++ b/icespider/compile/routeCompiler.cpp @@ -482,17 +482,23 @@ namespace IceSpider { members = t.first->dataMembers(); } for (auto mi = members.begin(); mi != members.end(); mi++) { + bool isOp = false; + if (mi != members.begin()) { + fprintbf(output, ","); + } + fprintbf(output, "\n"); for (const auto & o : r->operations) { auto proxyName = o.second->operation.substr(0, o.second->operation.find_last_of('.')); auto operation = o.second->operation.substr(o.second->operation.find_last_of('.') + 1); if ((*mi)->name() == o.first) { - if (mi != members.begin()) { - fprintbf(output, ","); - } - fprintbf(output, "\n"); fprintbf(6, output, "prx%s->end_%s(_ar_%s)", proxies.find(proxyName)->second, operation, o.first); + isOp = true; + break; } } + if (!isOp) { + fprintbf(6, output, "_p_%s", (*mi)->name()); + } } if (t.second) { fprintf(output, ")"); diff --git a/icespider/unittests/test-api.ice b/icespider/unittests/test-api.ice index 310761b..7b81952 100644 --- a/icespider/unittests/test-api.ice +++ b/icespider/unittests/test-api.ice @@ -11,6 +11,7 @@ module TestIceSpider { class Mash2 { SomeModel a; SomeModel b; + string s; }; interface TestApi { |