diff options
Diffstat (limited to 'cpp/src/Slice/Parser.cpp')
-rw-r--r-- | cpp/src/Slice/Parser.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/cpp/src/Slice/Parser.cpp b/cpp/src/Slice/Parser.cpp index 312d8ff62c8..5b99481a082 100644 --- a/cpp/src/Slice/Parser.cpp +++ b/cpp/src/Slice/Parser.cpp @@ -3739,6 +3739,29 @@ Slice::Operation::returnsClasses() const return false; } +bool +Slice::Operation::returnsData() const +{ + TypePtr t = returnType(); + if(t) + { + return true; + } + ParamDeclList pdl = parameters(); + for(ParamDeclList::const_iterator i = pdl.begin(); i != pdl.end(); ++i) + { + if((*i)->isOutParam()) + { + return true; + } + } + if(!throws().empty()) + { + return true; + } + return false; +} + string Slice::Operation::kindOf() const { |