diff options
Diffstat (limited to 'cpp')
-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); |