summaryrefslogtreecommitdiff
path: root/cpp/src/Slice/VbUtil.cpp
diff options
context:
space:
mode:
authorMichi Henning <michi@zeroc.com>2006-02-13 07:54:33 +0000
committerMichi Henning <michi@zeroc.com>2006-02-13 07:54:33 +0000
commita85739f90496efa8449085df0f3b3aa2697fab31 (patch)
treeaf462aa19db7068a585b20f51d7c5c5185e7aa79 /cpp/src/Slice/VbUtil.cpp
parentAdded test to operations test to check double marshalling (diff)
downloadice-a85739f90496efa8449085df0f3b3aa2697fab31.tar.bz2
ice-a85739f90496efa8449085df0f3b3aa2697fab31.tar.xz
ice-a85739f90496efa8449085df0f3b3aa2697fab31.zip
Bug 859
Diffstat (limited to 'cpp/src/Slice/VbUtil.cpp')
-rwxr-xr-xcpp/src/Slice/VbUtil.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/cpp/src/Slice/VbUtil.cpp b/cpp/src/Slice/VbUtil.cpp
index 545aa6f4ef0..4894958b78b 100755
--- a/cpp/src/Slice/VbUtil.cpp
+++ b/cpp/src/Slice/VbUtil.cpp
@@ -1065,8 +1065,8 @@ Slice::VbGenerator::MetaDataVisitor::visitModuleStart(const ModulePtr& p)
}
}
_globalMetaDataDone = true;
- validate(p);
}
+ validate(p);
return true;
}
@@ -1109,6 +1109,15 @@ bool
Slice::VbGenerator::MetaDataVisitor::visitStructStart(const StructPtr& p)
{
validate(p);
+ if(p->hasMetaData("clr:property"))
+ {
+ if(!p->hasMetaData("clr:class"))
+ {
+ string file = p->definitionContext()->filename();
+ cout << file << ":" << p->line() << ": warning: the property mapping applies to Slice "
+ << "structures only in conjunction with the `clr:class' metadata directive" << endl;
+ }
+ }
return true;
}
@@ -1222,6 +1231,17 @@ Slice::VbGenerator::MetaDataVisitor::validate(const ContainedPtr& cont)
{
continue;
}
+ if(s.substr(prefix.size()) == "property")
+ {
+ continue;
+ }
+ }
+ if(ClassDefPtr::dynamicCast(cont))
+ {
+ if(s.substr(prefix.size()) == "property")
+ {
+ continue;
+ }
}
cout << file << ":" << cont->line() << ": warning: ignoring invalid metadata `" << s << "'" << endl;
}