diff options
author | Michi Henning <michi@zeroc.com> | 2005-09-06 03:55:49 +0000 |
---|---|---|
committer | Michi Henning <michi@zeroc.com> | 2005-09-06 03:55:49 +0000 |
commit | 7377aceb27ff1e76825c87ac15ba2fc744b6a0e5 (patch) | |
tree | ce52359f0650d6cd1827ce0062c958c11c5a758b /cpp/src/Slice/VbUtil.cpp | |
parent | http://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=438 (diff) | |
download | ice-7377aceb27ff1e76825c87ac15ba2fc744b6a0e5.tar.bz2 ice-7377aceb27ff1e76825c87ac15ba2fc744b6a0e5.tar.xz ice-7377aceb27ff1e76825c87ac15ba2fc744b6a0e5.zip |
Bug 419.
Diffstat (limited to 'cpp/src/Slice/VbUtil.cpp')
-rwxr-xr-x | cpp/src/Slice/VbUtil.cpp | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/cpp/src/Slice/VbUtil.cpp b/cpp/src/Slice/VbUtil.cpp index 40e973fba18..30c5342eff0 100755 --- a/cpp/src/Slice/VbUtil.cpp +++ b/cpp/src/Slice/VbUtil.cpp @@ -173,7 +173,7 @@ Slice::VbGenerator::typeToString(const TypePtr& type) } SequencePtr seq = SequencePtr::dynamicCast(type); - if(seq && !seq->hasMetaData("vb:collection")) + if(seq && !seq->hasMetaData("clr:collection")) { return typeToString(seq->type()) + "()"; } @@ -213,7 +213,7 @@ Slice::VbGenerator::isValueType(const TypePtr& type) StructPtr s = StructPtr::dynamicCast(type); if(s) { - return !s->hasMetaData("vb:class"); + return !s->hasMetaData("clr:class"); } if(EnumPtr::dynamicCast(type)) { @@ -552,7 +552,7 @@ Slice::VbGenerator::writeSequenceMarshalUnmarshalCode(Output& out, TypePtr type = seq->type(); string typeS = typeToString(type); - bool isArray = !seq->hasMetaData("vb:collection"); + bool isArray = !seq->hasMetaData("clr:collection"); string limitID = isArray ? "Length" : "Count"; BuiltinPtr builtin = BuiltinPtr::dynamicCast(type); @@ -815,7 +815,7 @@ Slice::VbGenerator::writeSequenceMarshalUnmarshalCode(Output& out, out.inc(); if(isArray) { - if(st->hasMetaData("vb:class")) + if(st->hasMetaData("clr:class")) { out << nl << param << "(__ix) = New " << typeS; } @@ -1122,7 +1122,7 @@ Slice::VbGenerator::MetaDataVisitor::validate(const ContainedPtr& cont) StringList localMetaData = cont->getMetaData(); StringList::const_iterator p; - static const string prefix = "vb:"; + static const string prefix = "clr:"; for(p = globalMetaData.begin(); p != globalMetaData.end(); ++p) { @@ -1140,6 +1140,31 @@ Slice::VbGenerator::MetaDataVisitor::validate(const ContainedPtr& cont) for(p = localMetaData.begin(); p != localMetaData.end(); ++p) { string s = *p; + if(s.find("vb:") == 0) // TODO: remove this statement once "vb:" is a hard error. + { + if(SequencePtr::dynamicCast(cont)) + { + if(s.substr(3) == "collection") + { + cout << file << ":" << cont->line() << ": warning: `vb:' metadata prefix is deprecated; " + << "use `clr:' instead" << endl; + cont->addMetaData("clr:collection"); + } + } + else if(StructPtr::dynamicCast(cont)) + { + if(s.substr(3) == "class") + { + cout << file << ":" << cont->line() << ": warning: `vb:' metadata prefix is deprecated; " + << "use `clr:' instead" << endl; + } + cont->addMetaData("clr:class"); + } + else + { + cout << file << ":" << cont->line() << ": warning: ignoring invalid metadata `" << s << "'" << endl; + } + } // End TODO if(_history.count(s) == 0) { if(s.find(prefix) == 0) |