summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cpp/src/slice2cs/CsUtil.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/cpp/src/slice2cs/CsUtil.cpp b/cpp/src/slice2cs/CsUtil.cpp
index 5372592482c..85e121c1967 100644
--- a/cpp/src/slice2cs/CsUtil.cpp
+++ b/cpp/src/slice2cs/CsUtil.cpp
@@ -1186,8 +1186,12 @@ Slice::CsGenerator::writeSequenceMarshalUnmarshalCode(Output& out,
BuiltinPtr builtin = BuiltinPtr::dynamicCast(type);
ProxyPtr proxy = ProxyPtr::dynamicCast(type);
- ClassDefPtr def = proxy ? proxy->_class()->definition() : ICE_NULLPTR;
- bool isObjectProxySeq = def && !def->isInterface() && def->allOperations().size() == ICE_NULLPTR;
+ ClassDefPtr clsDef;
+ if(proxy)
+ {
+ clsDef = proxy->_class()->definition();
+ }
+ bool isObjectProxySeq = clsDef && !clsDef->isInterface() && clsDef->allOperations().size() == 0;
Builtin::Kind kind = builtin ? builtin->kind() : Builtin::KindObjectProxy;
if(builtin || isObjectProxySeq)