diff options
Diffstat (limited to 'cpp/src/slice2cpp/GenUtil.cpp')
-rw-r--r-- | cpp/src/slice2cpp/GenUtil.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/cpp/src/slice2cpp/GenUtil.cpp b/cpp/src/slice2cpp/GenUtil.cpp index 08eb26129d0..1fa9a009d91 100644 --- a/cpp/src/slice2cpp/GenUtil.cpp +++ b/cpp/src/slice2cpp/GenUtil.cpp @@ -91,6 +91,10 @@ Slice::inputTypeToString(const Type_ptr& type) if(proxy) return "const " + proxy -> _class() -> scoped() + "_prx&"; + Native_ptr native = Native_ptr::dynamicCast(type); + if(native) + return native -> scoped(); + Contained_ptr contained = Contained_ptr::dynamicCast(type); if(contained) return "const " + contained -> scoped() + "&"; @@ -129,6 +133,10 @@ Slice::outputTypeToString(const Type_ptr& type) if(proxy) return proxy -> _class() -> scoped() + "_prx&"; + Native_ptr native = Native_ptr::dynamicCast(type); + if(native) + return native -> scoped(); + Contained_ptr contained = Contained_ptr::dynamicCast(type); if(contained) return contained -> scoped() + "&"; @@ -156,6 +164,9 @@ Slice::writeMarshalUnmarshalCode(Output& out, const Type_ptr& type, return; } + Native_ptr native = Native_ptr::dynamicCast(type); + assert(!native); // TODO + ClassDecl_ptr cl = ClassDecl_ptr::dynamicCast(type); if(cl) { |