From f0352140506800ed3a53a7fa7caca63f251bb1a4 Mon Sep 17 00:00:00 2001 From: Jose Date: Tue, 9 Jul 2019 17:13:39 +0200 Subject: Remove forward declarations limitation - Close #97 --- cpp/src/Slice/CPlusPlusUtil.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'cpp/src/Slice/CPlusPlusUtil.cpp') diff --git a/cpp/src/Slice/CPlusPlusUtil.cpp b/cpp/src/Slice/CPlusPlusUtil.cpp index 8a729092a71..a38c8c4bbf9 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 // - 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 -- cgit v1.2.3