summaryrefslogtreecommitdiff
path: root/cpp/src/Slice/PythonUtil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Slice/PythonUtil.cpp')
-rw-r--r--cpp/src/Slice/PythonUtil.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/cpp/src/Slice/PythonUtil.cpp b/cpp/src/Slice/PythonUtil.cpp
index 9815b210aea..7278922735d 100644
--- a/cpp/src/Slice/PythonUtil.cpp
+++ b/cpp/src/Slice/PythonUtil.cpp
@@ -742,13 +742,19 @@ Slice::Python::CodeVisitor::visitClassDefStart(const ClassDefPtr& p)
_out.inc();
_out << nl;
}
+ bool isProtected = p->hasMetaData("protected");
for(DataMemberList::iterator r = members.begin(); r != members.end(); ++r)
{
if(r != members.begin())
{
_out << ',' << nl;
}
- _out << "('" << fixIdent((*r)->name()) << "', ";
+ _out << "('";
+ if(isProtected || (*r)->hasMetaData("protected"))
+ {
+ _out << '_';
+ }
+ _out << fixIdent((*r)->name()) << "', ";
writeMetaData((*r)->getMetaData());
_out << ", ";
writeType((*r)->type());
@@ -1703,7 +1709,14 @@ Slice::Python::CodeVisitor::collectClassMembers(const ClassDefPtr& p, MemberInfo
for(DataMemberList::iterator q = members.begin(); q != members.end(); ++q)
{
MemberInfo m;
- m.fixedName = fixIdent((*q)->name());
+ if(p->hasMetaData("protected") || (*q)->hasMetaData("protected"))
+ {
+ m.fixedName = "_" + fixIdent((*q)->name());
+ }
+ else
+ {
+ m.fixedName = fixIdent((*q)->name());
+ }
m.type = (*q)->type();
m.inherited = inherited;
m.metaData = (*q)->getMetaData();