diff options
author | Jose <jose@zeroc.com> | 2017-03-07 20:12:09 +0100 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2017-03-07 20:12:09 +0100 |
commit | a52fd9cee5e82ebbbd22bc930981e38e55ff7b52 (patch) | |
tree | 538356526c6ddf6f04a80707c141e15d5f912ce8 /cpp/src | |
parent | Fix C++11 build failure (diff) | |
download | ice-a52fd9cee5e82ebbbd22bc930981e38e55ff7b52.tar.bz2 ice-a52fd9cee5e82ebbbd22bc930981e38e55ff7b52.tar.xz ice-a52fd9cee5e82ebbbd22bc930981e38e55ff7b52.zip |
Fixed (ICE-7649) - Bogus generated code for csharp marshalled-result
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/slice2cs/CsUtil.cpp | 2 | ||||
-rw-r--r-- | cpp/src/slice2cs/Gen.cpp | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/cpp/src/slice2cs/CsUtil.cpp b/cpp/src/slice2cs/CsUtil.cpp index 191f8162acc..d518ac55823 100644 --- a/cpp/src/slice2cs/CsUtil.cpp +++ b/cpp/src/slice2cs/CsUtil.cpp @@ -411,7 +411,7 @@ Slice::CsGenerator::resultType(const OperationPtr& op, bool dispatch) ClassDefPtr cl = ClassDefPtr::dynamicCast(op->container()); // Get the class containing the op. if(dispatch && op->hasMarshaledResult()) { - return resultStructName(cl->name(), op->name(), true); + return fixId(cl->scope() + resultStructName(cl->name(), op->name(), true)); } string t; diff --git a/cpp/src/slice2cs/Gen.cpp b/cpp/src/slice2cs/Gen.cpp index 153e6caac60..23e6f4bcd87 100644 --- a/cpp/src/slice2cs/Gen.cpp +++ b/cpp/src/slice2cs/Gen.cpp @@ -5430,7 +5430,9 @@ Slice::Gen::BaseImplVisitor::writeOperation(const OperationPtr& op, bool comment } } - string retS = op->hasMarshaledResult() ? resultStructName(cl->name(), op->name(), true) : typeToString(ret); + string retS = op->hasMarshaledResult() ? + fixId(cl->scope()) + "." + resultStructName(cl->name(), op->name(), true) : + typeToString(ret); if(comment) { @@ -5545,7 +5547,8 @@ Slice::Gen::BaseImplVisitor::writeOperation(const OperationPtr& op, bool comment _out << sb; if(op->hasMarshaledResult()) { - _out << nl << "return new " << resultStructName(cl->name(), op->name(), true) << "("; + _out << nl << "return new " << fixId(cl->scope() + resultStructName(cl->name(), op->name(), true)) + << "("; if(ret) { _out << writeValue(ret); |