summaryrefslogtreecommitdiff
path: root/cpp/src/Slice/Parser.cpp
diff options
context:
space:
mode:
authorJoe George <joe@zeroc.com>2016-07-13 15:56:07 -0400
committerJoe George <joe@zeroc.com>2016-07-13 15:57:19 -0400
commitaeb275aed3db271ee854f29e9b62806fe496255c (patch)
tree9e5fb1ee82729c0579dac86fc9592f2717daf1cf /cpp/src/Slice/Parser.cpp
parentVarious C++ cleanups (diff)
downloadice-aeb275aed3db271ee854f29e9b62806fe496255c.tar.bz2
ice-aeb275aed3db271ee854f29e9b62806fe496255c.tar.xz
ice-aeb275aed3db271ee854f29e9b62806fe496255c.zip
Some ice_tuple fixes
- ice_tuple now returns all data members from class base class
Diffstat (limited to 'cpp/src/Slice/Parser.cpp')
-rw-r--r--cpp/src/Slice/Parser.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/cpp/src/Slice/Parser.cpp b/cpp/src/Slice/Parser.cpp
index 1c3eb315032..a8685dbce3d 100644
--- a/cpp/src/Slice/Parser.cpp
+++ b/cpp/src/Slice/Parser.cpp
@@ -3656,6 +3656,17 @@ Slice::ClassDef::inheritsMetaData(const string& meta) const
return false;
}
+bool
+Slice::ClassDef::hasBaseDataMembers() const
+{
+ if(!_bases.empty() && !_bases.front()->isInterface())
+ {
+ return !_bases.front()->allDataMembers().empty();
+ }
+
+ return false;
+}
+
Contained::ContainedType
Slice::ClassDef::containedType() const
{
@@ -4097,6 +4108,12 @@ Slice::Exception::inheritsMetaData(const string& meta) const
return false;
}
+bool
+Slice::Exception::hasBaseDataMembers() const
+{
+ return _base && !_base->allDataMembers().empty();
+}
+
string
Slice::Exception::kindOf() const
{