summaryrefslogtreecommitdiff
path: root/cpp/src/Slice/Parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Slice/Parser.cpp')
-rw-r--r--cpp/src/Slice/Parser.cpp9
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;
}