diff options
Diffstat (limited to 'cpp/src/slice2cs')
-rw-r--r-- | cpp/src/slice2cs/CsUtil.cpp | 8 |
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) |