diff options
Diffstat (limited to 'cpp/src/Slice/Parser.cpp')
-rw-r--r-- | cpp/src/Slice/Parser.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/cpp/src/Slice/Parser.cpp b/cpp/src/Slice/Parser.cpp index 5711b83dc65..49728aadc20 100644 --- a/cpp/src/Slice/Parser.cpp +++ b/cpp/src/Slice/Parser.cpp @@ -876,7 +876,7 @@ Slice::Container::hasClassDefs() } bool -Slice::Container::hasOtherConstructedTypes() +Slice::Container::hasOtherConstructedOrExceptions() { for (ContainedList::const_iterator p = _contents.begin(); p != _contents.end(); ++p) { @@ -885,8 +885,13 @@ Slice::Container::hasOtherConstructedTypes() return true; } + if (ExceptionPtr::dynamicCast(*p)) + { + return true; + } + ContainerPtr container = ContainerPtr::dynamicCast(*p); - if (container && container->hasOtherConstructedTypes()) + if (container && container->hasOtherConstructedOrExceptions()) { return true; } |