summaryrefslogtreecommitdiff
path: root/cpp/src/slice2cs/Gen.cpp
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2017-03-07 20:12:09 +0100
committerJose <jose@zeroc.com>2017-03-07 20:12:09 +0100
commita52fd9cee5e82ebbbd22bc930981e38e55ff7b52 (patch)
tree538356526c6ddf6f04a80707c141e15d5f912ce8 /cpp/src/slice2cs/Gen.cpp
parentFix C++11 build failure (diff)
downloadice-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/slice2cs/Gen.cpp')
-rw-r--r--cpp/src/slice2cs/Gen.cpp7
1 files changed, 5 insertions, 2 deletions
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);