summaryrefslogtreecommitdiff
path: root/cpp/src/Slice/Parser.cpp
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2012-05-10 16:45:22 -0700
committerMark Spruiell <mes@zeroc.com>2012-05-10 16:45:22 -0700
commit485691562a75595eda00af35f5235f6fc22fa36c (patch)
tree4eaf48ac7512239a47d97e533cd3da1a75084f29 /cpp/src/Slice/Parser.cpp
parent* C++ implementation for compact/sliced formats (diff)
downloadice-485691562a75595eda00af35f5235f6fc22fa36c.tar.bz2
ice-485691562a75595eda00af35f5235f6fc22fa36c.tar.xz
ice-485691562a75595eda00af35f5235f6fc22fa36c.zip
C++ bug fixes; adding more Python tests
Diffstat (limited to 'cpp/src/Slice/Parser.cpp')
-rwxr-xr-xcpp/src/Slice/Parser.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/cpp/src/Slice/Parser.cpp b/cpp/src/Slice/Parser.cpp
index 93cbb799fc6..96260809ef8 100755
--- a/cpp/src/Slice/Parser.cpp
+++ b/cpp/src/Slice/Parser.cpp
@@ -3433,6 +3433,20 @@ Slice::ClassDef::hasDefaultValues() const
return false;
}
+bool
+Slice::ClassDef::inheritsMetaData(const string& meta) const
+{
+ for(ClassList::const_iterator p = _bases.begin(); p != _bases.end(); ++p)
+ {
+ if((*p)->hasMetaData(meta) || (*p)->inheritsMetaData(meta))
+ {
+ return true;
+ }
+ }
+
+ return false;
+}
+
Contained::ContainedType
Slice::ClassDef::containedType() const
{
@@ -3862,6 +3876,17 @@ Slice::Exception::hasDefaultValues() const
return false;
}
+bool
+Slice::Exception::inheritsMetaData(const string& meta) const
+{
+ if(_base && (_base->hasMetaData(meta) || _base->inheritsMetaData(meta)))
+ {
+ return true;
+ }
+
+ return false;
+}
+
string
Slice::Exception::kindOf() const
{