summaryrefslogtreecommitdiff
path: root/cpp/src/slice2objc/ObjCUtil.cpp
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2017-02-03 18:10:20 +0100
committerJose <jose@zeroc.com>2017-02-03 18:10:20 +0100
commit7274ebf13c7a1ff3b587598335201c3a4e848c90 (patch)
treead673e775b6ab68d511bcc86cf420c519b65948d /cpp/src/slice2objc/ObjCUtil.cpp
parentConnection::close fixes for C#/Java/JS (diff)
downloadice-7274ebf13c7a1ff3b587598335201c3a4e848c90.tar.bz2
ice-7274ebf13c7a1ff3b587598335201c3a4e848c90.tar.xz
ice-7274ebf13c7a1ff3b587598335201c3a4e848c90.zip
Rework warning suppression to use global meta data
Diffstat (limited to 'cpp/src/slice2objc/ObjCUtil.cpp')
-rw-r--r--cpp/src/slice2objc/ObjCUtil.cpp16
1 files changed, 6 insertions, 10 deletions
diff --git a/cpp/src/slice2objc/ObjCUtil.cpp b/cpp/src/slice2objc/ObjCUtil.cpp
index ad2787308bc..e86290b8db3 100644
--- a/cpp/src/slice2objc/ObjCUtil.cpp
+++ b/cpp/src/slice2objc/ObjCUtil.cpp
@@ -1043,20 +1043,15 @@ Slice::ObjCGenerator::writeOptParamMarshalUnmarshalCode(Output &out, const TypeP
}
void
-Slice::ObjCGenerator::validateMetaData(const UnitPtr& u, int warningLevel)
+Slice::ObjCGenerator::validateMetaData(const UnitPtr& u)
{
- MetaDataVisitor visitor(warningLevel);
+ MetaDataVisitor visitor;
u->visit(&visitor, true);
}
const string Slice::ObjCGenerator::MetaDataVisitor::_objcPrefix = "objc:";
const string Slice::ObjCGenerator::MetaDataVisitor::_msg = "ignoring invalid metadata";
-Slice::ObjCGenerator::MetaDataVisitor::MetaDataVisitor(int warningLevel) :
- ParserVisitor(warningLevel)
-{
-}
-
bool
Slice::ObjCGenerator::MetaDataVisitor::visitUnitStart(const UnitPtr& p)
{
@@ -1071,6 +1066,7 @@ Slice::ObjCGenerator::MetaDataVisitor::visitUnitStart(const UnitPtr& p)
DefinitionContextPtr dc = p->findDefinitionContext(file);
assert(dc);
StringList globalMetaData = dc->getMetaData();
+ bool emitWarnings = dc->suppressWarning("invalid-metadata");
int headerDir = 0;
int dllExport = 0;
for(StringList::const_iterator r = globalMetaData.begin(); r != globalMetaData.end();)
@@ -1086,7 +1082,7 @@ Slice::ObjCGenerator::MetaDataVisitor::visitUnitStart(const UnitPtr& p)
headerDir++;
if(headerDir > 1)
{
- if(warningLevel() > 0)
+ if(emitWarnings)
{
ostringstream ostr;
ostr << "ignoring invalid global metadata `" << s
@@ -1102,7 +1098,7 @@ Slice::ObjCGenerator::MetaDataVisitor::visitUnitStart(const UnitPtr& p)
dllExport++;
if(dllExport > 1)
{
- if(warningLevel() > 0)
+ if(emitWarnings)
{
ostringstream ostr;
ostr << "ignoring invalid global metadata `" << s
@@ -1113,7 +1109,7 @@ Slice::ObjCGenerator::MetaDataVisitor::visitUnitStart(const UnitPtr& p)
}
continue;
}
- if(warningLevel() > 0)
+ if(emitWarnings)
{
ostringstream ostr;
ostr << "ignoring invalid global metadata `" << s << "'";