diff options
author | Bernard Normier <bernard@zeroc.com> | 2017-02-08 09:41:55 -0500 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2017-02-08 09:41:55 -0500 |
commit | af38cbf2ebf9c009fcea81cc316be64176da620e (patch) | |
tree | 28d6975bf5f1c4b7b89a5c24d2e1d9f1a2ba633c /cpp/src/slice2java | |
parent | Added wide char overloads of Ice::createProperties & Ice::initialize (diff) | |
download | ice-af38cbf2ebf9c009fcea81cc316be64176da620e.tar.bz2 ice-af38cbf2ebf9c009fcea81cc316be64176da620e.tar.xz ice-af38cbf2ebf9c009fcea81cc316be64176da620e.zip |
Make Slice enums scoped
Add new cpp:scoped and objc:scoped metadata directives
Diffstat (limited to 'cpp/src/slice2java')
-rw-r--r-- | cpp/src/slice2java/Gen.cpp | 19 | ||||
-rw-r--r-- | cpp/src/slice2java/GenCompat.cpp | 19 |
2 files changed, 14 insertions, 24 deletions
diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp index f79dc1fead6..34237ddc394 100644 --- a/cpp/src/slice2java/Gen.cpp +++ b/cpp/src/slice2java/Gen.cpp @@ -1678,7 +1678,6 @@ Slice::JavaVisitor::writeConstantValue(Output& out, const TypePtr& type, const S else { BuiltinPtr bp; - EnumPtr ep; if((bp = BuiltinPtr::dynamicCast(type))) { switch(bp->kind()) @@ -1723,15 +1722,11 @@ Slice::JavaVisitor::writeConstantValue(Output& out, const TypePtr& type, const S } } - else if((ep = EnumPtr::dynamicCast(type))) + else if(EnumPtr::dynamicCast(type)) { - string val = value; - string::size_type pos = val.rfind(':'); - if(pos != string::npos) - { - val.erase(0, pos + 1); - } - out << getAbsolute(ep, package) << '.' << fixKwd(val); + EnumeratorPtr lte = EnumeratorPtr::dynamicCast(valueType); + assert(lte); + out << getAbsolute(lte, package); } else { @@ -1774,7 +1769,7 @@ Slice::JavaVisitor::writeDataMemberInitializers(Output& out, const DataMemberLis EnumPtr en = EnumPtr::dynamicCast(t); if(en) { - string firstEnum = fixKwd(en->getEnumerators().front()->name()); + string firstEnum = fixKwd(en->enumerators().front()->name()); out << nl << "this." << fixKwd((*p)->name()) << " = " << getAbsolute(en, package) << '.' << firstEnum << ';'; } @@ -3991,7 +3986,7 @@ Slice::Gen::TypesVisitor::visitEnum(const EnumPtr& p) { string name = fixKwd(p->name()); string absolute = getAbsolute(p); - EnumeratorList enumerators = p->getEnumerators(); + EnumeratorList enumerators = p->enumerators(); open(absolute, p->file()); @@ -5310,7 +5305,7 @@ Slice::Gen::ImplVisitor::getDefaultValue(const string& package, const TypePtr& t EnumPtr en = EnumPtr::dynamicCast(type); if(en) { - EnumeratorList enumerators = en->getEnumerators(); + EnumeratorList enumerators = en->enumerators(); return getAbsolute(en, package) + '.' + fixKwd(enumerators.front()->name()); } } diff --git a/cpp/src/slice2java/GenCompat.cpp b/cpp/src/slice2java/GenCompat.cpp index e407f34745e..4b5dacaf2e4 100644 --- a/cpp/src/slice2java/GenCompat.cpp +++ b/cpp/src/slice2java/GenCompat.cpp @@ -1764,7 +1764,6 @@ Slice::JavaCompatVisitor::writeConstantValue(Output& out, const TypePtr& type, c else { BuiltinPtr bp; - EnumPtr ep; if((bp = BuiltinPtr::dynamicCast(type))) { switch(bp->kind()) @@ -1809,15 +1808,11 @@ Slice::JavaCompatVisitor::writeConstantValue(Output& out, const TypePtr& type, c } } - else if((ep = EnumPtr::dynamicCast(type))) + else if(EnumPtr::dynamicCast(type)) { - string val = value; - string::size_type pos = val.rfind(':'); - if(pos != string::npos) - { - val.erase(0, pos + 1); - } - out << getAbsolute(ep, package) << '.' << fixKwd(val); + EnumeratorPtr lte = EnumeratorPtr::dynamicCast(valueType); + assert(lte); + out << getAbsolute(lte, package); } else { @@ -1860,7 +1855,7 @@ Slice::JavaCompatVisitor::writeDataMemberInitializers(Output& out, const DataMem EnumPtr en = EnumPtr::dynamicCast(t); if(en) { - string firstEnum = fixKwd(en->getEnumerators().front()->name()); + string firstEnum = fixKwd(en->enumerators().front()->name()); out << nl << "this." << fixKwd((*p)->name()) << " = " << getAbsolute(en, package) << '.' << firstEnum << ';'; } @@ -4058,7 +4053,7 @@ Slice::GenCompat::TypesVisitor::visitEnum(const EnumPtr& p) { string name = fixKwd(p->name()); string absolute = getAbsolute(p); - EnumeratorList enumerators = p->getEnumerators(); + EnumeratorList enumerators = p->enumerators(); open(absolute, p->file()); @@ -5947,7 +5942,7 @@ Slice::GenCompat::BaseImplVisitor::writeDecl(Output& out, const string& package, EnumPtr en = EnumPtr::dynamicCast(type); if(en) { - EnumeratorList enumerators = en->getEnumerators(); + EnumeratorList enumerators = en->enumerators(); out << " = " << getAbsolute(en, package) << '.' << fixKwd(enumerators.front()->name()); } else |