summaryrefslogtreecommitdiff
path: root/cpp/src/Slice/CPlusPlusUtil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Slice/CPlusPlusUtil.cpp')
-rw-r--r--cpp/src/Slice/CPlusPlusUtil.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/cpp/src/Slice/CPlusPlusUtil.cpp b/cpp/src/Slice/CPlusPlusUtil.cpp
index 853bbed5d49..0ea48a5a2d1 100644
--- a/cpp/src/Slice/CPlusPlusUtil.cpp
+++ b/cpp/src/Slice/CPlusPlusUtil.cpp
@@ -752,13 +752,13 @@ Slice::typeToString(const TypePtr& type, const string& scope, const StringList&
// Non local classes without operations map to the base
// proxy class shared_ptr<Ice::ObjectPrx>
//
- if(def && !def->isInterface() && def->allOperations().empty())
+ if(!def || def->isAbstract())
{
- return getUnqualified(cpp11BuiltinTable[Builtin::KindObjectProxy], scope);
+ return "::std::shared_ptr<" + getUnqualified(fixKwd(proxy->_class()->scoped() + "Prx"), scope) + ">";
}
else
{
- return "::std::shared_ptr<" + getUnqualified(fixKwd(proxy->_class()->scoped() + "Prx"), scope) + ">";
+ return getUnqualified(cpp11BuiltinTable[Builtin::KindObjectProxy], scope);
}
}
else