summaryrefslogtreecommitdiff
path: root/cpp/src/Slice/VbUtil.cpp
diff options
context:
space:
mode:
authorMichi Henning <michi@zeroc.com>2005-09-06 03:55:49 +0000
committerMichi Henning <michi@zeroc.com>2005-09-06 03:55:49 +0000
commit7377aceb27ff1e76825c87ac15ba2fc744b6a0e5 (patch)
treece52359f0650d6cd1827ce0062c958c11c5a758b /cpp/src/Slice/VbUtil.cpp
parenthttp://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=438 (diff)
downloadice-7377aceb27ff1e76825c87ac15ba2fc744b6a0e5.tar.bz2
ice-7377aceb27ff1e76825c87ac15ba2fc744b6a0e5.tar.xz
ice-7377aceb27ff1e76825c87ac15ba2fc744b6a0e5.zip
Bug 419.
Diffstat (limited to 'cpp/src/Slice/VbUtil.cpp')
-rwxr-xr-xcpp/src/Slice/VbUtil.cpp35
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)