summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/slice2cs/CsUtil.cpp2
-rw-r--r--cpp/src/slice2cs/Gen.cpp7
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);