diff options
author | Bernard Normier <bernard@zeroc.com> | 2016-07-06 23:04:01 -0400 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2016-07-06 23:04:01 -0400 |
commit | c12f9bad2061f82e872f1b9ebb7b77ee2dcd6519 (patch) | |
tree | 104032a6cff8ce93cb44cdbb0f0a76a586f7097b /cpp/src/Slice/CPlusPlusUtil.cpp | |
parent | ICE-7217 - Remove makegitignore.py (diff) | |
download | ice-c12f9bad2061f82e872f1b9ebb7b77ee2dcd6519.tar.bz2 ice-c12f9bad2061f82e872f1b9ebb7b77ee2dcd6519.tar.xz ice-c12f9bad2061f82e872f1b9ebb7b77ee2dcd6519.zip |
Better formatting of generated code
Fixed ice_id/ice_staticId implementation
Generate override with C++11 mapping
Diffstat (limited to 'cpp/src/Slice/CPlusPlusUtil.cpp')
-rw-r--r-- | cpp/src/Slice/CPlusPlusUtil.cpp | 79 |
1 files changed, 41 insertions, 38 deletions
diff --git a/cpp/src/Slice/CPlusPlusUtil.cpp b/cpp/src/Slice/CPlusPlusUtil.cpp index 9375a4554fc..88e0f96da8e 100644 --- a/cpp/src/Slice/CPlusPlusUtil.cpp +++ b/cpp/src/Slice/CPlusPlusUtil.cpp @@ -1401,54 +1401,57 @@ void Slice::writeStreamHelpers(Output& out, bool checkClassMetaData, const ContainedPtr& c, DataMemberList dataMembers, DataMemberList optionalDataMembers) { - string scoped = c->scoped(); - bool classMetaData = false; - - if(checkClassMetaData) + if(!dataMembers.empty() || !optionalDataMembers.empty()) { - classMetaData = findMetaData(c->getMetaData(), false) == "%class"; - } + string scoped = c->scoped(); + bool classMetaData = false; + + if(checkClassMetaData) + { + classMetaData = findMetaData(c->getMetaData(), false) == "%class"; + } - string fullName = classMetaData ? fixKwd(scoped + "Ptr") : fixKwd(scoped); - string holder = classMetaData ? "v->" : "v."; + string fullName = classMetaData ? fixKwd(scoped + "Ptr") : fixKwd(scoped); + string holder = classMetaData ? "v->" : "v."; - out << nl << "template<typename S>"; - out << nl << "struct StreamWriter< " << fullName << ", S>"; - out << sb; - out << nl << "static void write(S* __os, const " << fullName << "& v)"; - out << sb; - for(DataMemberList::const_iterator q = dataMembers.begin(); q != dataMembers.end(); ++q) - { - if(!(*q)->optional()) + out << nl << "template<typename S>"; + out << nl << "struct StreamWriter< " << fullName << ", S>"; + out << sb; + out << nl << "static void write(S* __os, const " << fullName << "& v)"; + out << sb; + for(DataMemberList::const_iterator q = dataMembers.begin(); q != dataMembers.end(); ++q) + { + if(!(*q)->optional()) + { + writeMarshalUnmarshalDataMemberInHolder(out, holder, *q, true); + } + } + for(DataMemberList::const_iterator q = optionalDataMembers.begin(); q != optionalDataMembers.end(); ++q) { writeMarshalUnmarshalDataMemberInHolder(out, holder, *q, true); } - } - for(DataMemberList::const_iterator q = optionalDataMembers.begin(); q != optionalDataMembers.end(); ++q) - { - writeMarshalUnmarshalDataMemberInHolder(out, holder, *q, true); - } - out << eb; - out << eb << ";" << nl; - - out << nl << "template<typename S>"; - out << nl << "struct StreamReader< " << fullName << ", S>"; - out << sb; - out << nl << "static void read(S* __is, " << fullName << "& v)"; - out << sb; - for(DataMemberList::const_iterator q = dataMembers.begin(); q != dataMembers.end(); ++q) - { - if(!(*q)->optional()) + out << eb; + out << eb << ";" << nl; + + out << nl << "template<typename S>"; + out << nl << "struct StreamReader< " << fullName << ", S>"; + out << sb; + out << nl << "static void read(S* __is, " << fullName << "& v)"; + out << sb; + for(DataMemberList::const_iterator q = dataMembers.begin(); q != dataMembers.end(); ++q) + { + if(!(*q)->optional()) + { + writeMarshalUnmarshalDataMemberInHolder(out, holder, *q, false); + } + } + for(DataMemberList::const_iterator q = optionalDataMembers.begin(); q != optionalDataMembers.end(); ++q) { writeMarshalUnmarshalDataMemberInHolder(out, holder, *q, false); } + out << eb; + out << eb << ";" << nl; } - for(DataMemberList::const_iterator q = optionalDataMembers.begin(); q != optionalDataMembers.end(); ++q) - { - writeMarshalUnmarshalDataMemberInHolder(out, holder, *q, false); - } - out << eb; - out << eb << ";" << nl; } bool |