diff options
author | Jose <jose@zeroc.com> | 2017-02-03 18:10:20 +0100 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2017-02-03 18:10:20 +0100 |
commit | 7274ebf13c7a1ff3b587598335201c3a4e848c90 (patch) | |
tree | ad673e775b6ab68d511bcc86cf420c519b65948d /cpp/src/Slice | |
parent | Connection::close fixes for C#/Java/JS (diff) | |
download | ice-7274ebf13c7a1ff3b587598335201c3a4e848c90.tar.bz2 ice-7274ebf13c7a1ff3b587598335201c3a4e848c90.tar.xz ice-7274ebf13c7a1ff3b587598335201c3a4e848c90.zip |
Rework warning suppression to use global meta data
Diffstat (limited to 'cpp/src/Slice')
-rw-r--r-- | cpp/src/Slice/Checksum.cpp | 9 | ||||
-rw-r--r-- | cpp/src/Slice/Checksum.h | 2 | ||||
-rw-r--r-- | cpp/src/Slice/JavaUtil.cpp | 58 | ||||
-rw-r--r-- | cpp/src/Slice/JavaUtil.h | 4 | ||||
-rw-r--r-- | cpp/src/Slice/Parser.cpp | 18 | ||||
-rw-r--r-- | cpp/src/Slice/Parser.h | 14 | ||||
-rw-r--r-- | cpp/src/Slice/Python.cpp | 19 | ||||
-rw-r--r-- | cpp/src/Slice/PythonUtil.cpp | 56 | ||||
-rw-r--r-- | cpp/src/Slice/PythonUtil.h | 2 | ||||
-rw-r--r-- | cpp/src/Slice/Ruby.cpp | 6 | ||||
-rw-r--r-- | cpp/src/Slice/RubyUtil.cpp | 12 | ||||
-rw-r--r-- | cpp/src/Slice/RubyUtil.h | 2 |
12 files changed, 107 insertions, 95 deletions
diff --git a/cpp/src/Slice/Checksum.cpp b/cpp/src/Slice/Checksum.cpp index 1dd25cef5c8..1c8a21511e8 100644 --- a/cpp/src/Slice/Checksum.cpp +++ b/cpp/src/Slice/Checksum.cpp @@ -21,7 +21,7 @@ class ChecksumVisitor : public ParserVisitor { public: - ChecksumVisitor(ChecksumMap&, int); + ChecksumVisitor(ChecksumMap&); virtual bool visitClassDefStart(const ClassDefPtr&); virtual bool visitExceptionStart(const ExceptionPtr&); @@ -41,8 +41,7 @@ private: } -Slice::ChecksumVisitor::ChecksumVisitor(ChecksumMap& m, int warningLevel) : - ParserVisitor(warningLevel), +Slice::ChecksumVisitor::ChecksumVisitor(ChecksumMap& m) : _map(m) { } @@ -442,11 +441,11 @@ Slice::ChecksumVisitor::updateMap(const string& scoped, const string& data) } Slice::ChecksumMap -Slice::createChecksums(const UnitPtr& u, int warningLevel) +Slice::createChecksums(const UnitPtr& u) { ChecksumMap result; - ChecksumVisitor visitor(result, warningLevel); + ChecksumVisitor visitor(result); u->visit(&visitor, false); return result; diff --git a/cpp/src/Slice/Checksum.h b/cpp/src/Slice/Checksum.h index 158ac182f77..3744d8a6ad4 100644 --- a/cpp/src/Slice/Checksum.h +++ b/cpp/src/Slice/Checksum.h @@ -19,7 +19,7 @@ namespace Slice typedef std::map<std::string, std::vector<unsigned char> > ChecksumMap; -ChecksumMap createChecksums(const UnitPtr&, int); +ChecksumMap createChecksums(const UnitPtr&); } diff --git a/cpp/src/Slice/JavaUtil.cpp b/cpp/src/Slice/JavaUtil.cpp index 7c2f83fb20e..461f9b7c09e 100644 --- a/cpp/src/Slice/JavaUtil.cpp +++ b/cpp/src/Slice/JavaUtil.cpp @@ -139,10 +139,6 @@ class MetaDataVisitor : public ParserVisitor { public: - MetaDataVisitor(int warningLevel) : ParserVisitor(warningLevel) - { - } - virtual bool visitUnitStart(const UnitPtr& p) { static const string prefix = "java:"; @@ -157,6 +153,7 @@ public: string file = *q; DefinitionContextPtr dc = p->findDefinitionContext(file); assert(dc); + bool emitWarnings = !dc->suppressWarning("invalid-metadata"); StringList globalMetaData = dc->getMetaData(); for(StringList::const_iterator r = globalMetaData.begin(); r != globalMetaData.end();) { @@ -175,7 +172,7 @@ public: } else { - if(warningLevel() > 0) + if(emitWarnings) { emitWarning(file, "", "ignoring invalid global metadata `" + s + "'"); } @@ -238,6 +235,11 @@ public: TypePtr returnType = p->returnType(); StringList metaData = getMetaData(p); + UnitPtr unit = p->unit(); + string file = p->file(); + DefinitionContextPtr dc = unit->findDefinitionContext(p->file()); + bool emitWarnings = !dc->suppressWarning("invalid-metadata"); + if(!returnType) { for(StringList::const_iterator q = metaData.begin(); q != metaData.end();) @@ -245,7 +247,7 @@ public: string s = *q++; if(s.find("java:type:", 0) == 0) { - if(warningLevel() > 0) + if(emitWarnings) { emitWarning(p->file(), p->line(), "ignoring invalid metadata `" + s + "' for operation with void return type"); @@ -290,6 +292,10 @@ public: const string file = p->file(); const string line = p->line(); + const UnitPtr unit = p->unit(); + const DefinitionContextPtr dc = unit->findDefinitionContext(file); + bool emitWarnings = !dc->suppressWarning("invalid-metadata"); + for(StringList::const_iterator q = metaData.begin(); q != metaData.end(); ) { string s = *q++; @@ -303,7 +309,7 @@ public: BuiltinPtr builtin = BuiltinPtr::dynamicCast(p->type()); if(!builtin || builtin->kind() != Builtin::KindByte) { - if(warningLevel() > 0) + if(emitWarnings) { emitWarning(file, line, "ignoring invalid metadata `" + s + "': " + "this metadata can only be used with a byte sequence"); @@ -322,7 +328,7 @@ public: builtin->kind() != Builtin::KindInt && builtin->kind() != Builtin::KindLong && builtin->kind() != Builtin::KindFloat && builtin->kind() != Builtin::KindDouble)) { - if(warningLevel() > 0) + if(emitWarnings) { emitWarning(file, line, "ignoring invalid metadata `" + s + "': " + "this metadata can not be used with this type"); @@ -372,6 +378,12 @@ private: StringList metaData = cont->getMetaData(); StringList result; + UnitPtr unit = cont->container()->unit(); + string file = cont->file(); + DefinitionContextPtr dc = unit->findDefinitionContext(file); + assert(dc); + bool emitWarnings = !dc->suppressWarning("invalid-metadata"); + for(StringList::const_iterator p = metaData.begin(); p != metaData.end(); ++p) { string s = *p; @@ -431,7 +443,7 @@ private: continue; } - if(warningLevel() > 0) + if(emitWarnings) { emitWarning(cont->file(), cont->line(), "ignoring invalid metadata `" + s + "'"); } @@ -448,6 +460,10 @@ private: StringList validateType(const SyntaxTreeBasePtr& p, const StringList& metaData, const string& file, const string& line) { + const UnitPtr unit = p->unit(); + const DefinitionContextPtr dc = unit->findDefinitionContext(file); + assert(dc); + bool emitWarnings = !dc->suppressWarning("invalid-metadata"); StringList newMetaData; for(StringList::const_iterator i = metaData.begin(); i != metaData.end(); ++i) { @@ -468,7 +484,7 @@ private: assert(b); str = b->typeId(); } - if(warningLevel() > 0) + if(emitWarnings) { emitWarning(file, line, "invalid metadata for " + str); } @@ -490,7 +506,7 @@ private: } - if(warningLevel() > 0) + if(emitWarnings) { emitWarning(file, line, "ignoring invalid metadata `" + *i + "'"); } @@ -500,7 +516,7 @@ private: // // Only valid in sequence definition which is checked in visitSequence // - if(warningLevel() > 0) + if(emitWarnings) { emitWarning(file, line, "ignoring invalid metadata `" + *i + "'"); } @@ -512,7 +528,7 @@ private: { newMetaData.push_back(*i); } - else if(warningLevel() > 0) + else if(emitWarnings) { emitWarning(file, line, "ignoring invalid metadata `" + *i + "'"); } @@ -523,7 +539,7 @@ private: { newMetaData.push_back(*i); } - else if(warningLevel() > 0) + else if(emitWarnings) { emitWarning(file, line, "ignoring invalid metadata `" + *i + "'"); } @@ -538,6 +554,10 @@ private: StringList validateGetSet(const SyntaxTreeBasePtr& p, const StringList& metaData, const string& file, const string& line) { + const UnitPtr unit = p->unit(); + const DefinitionContextPtr dc= unit->findDefinitionContext(file); + assert(dc); + bool emitWarnings = !dc->suppressWarning("invalid-metadata"); StringList newMetaData; for(StringList::const_iterator i = metaData.begin(); i != metaData.end(); ++i) { @@ -560,7 +580,7 @@ private: assert(b); str = b->typeId(); } - if(warningLevel() > 0) + if(emitWarnings) { emitWarning(file, line, "invalid metadata for " + str); } @@ -3219,9 +3239,9 @@ Slice::JavaCompatGenerator::createOutput() } void -Slice::JavaCompatGenerator::validateMetaData(const UnitPtr& u, int warningLevel) +Slice::JavaCompatGenerator::validateMetaData(const UnitPtr& u) { - MetaDataVisitor visitor(warningLevel); + MetaDataVisitor visitor; u->visit(&visitor, true); } @@ -5530,8 +5550,8 @@ Slice::JavaGenerator::createOutput() } void -Slice::JavaGenerator::validateMetaData(const UnitPtr& u, int warningLevel) +Slice::JavaGenerator::validateMetaData(const UnitPtr& u) { - MetaDataVisitor visitor(warningLevel); + MetaDataVisitor visitor; u->visit(&visitor, true); } diff --git a/cpp/src/Slice/JavaUtil.h b/cpp/src/Slice/JavaUtil.h index c16f78a3247..fcc77d30f63 100644 --- a/cpp/src/Slice/JavaUtil.h +++ b/cpp/src/Slice/JavaUtil.h @@ -68,7 +68,7 @@ public: // // Validate all metadata in the unit with a "java:" prefix. // - static void validateMetaData(const UnitPtr&, int); + static void validateMetaData(const UnitPtr&); void close(); @@ -235,7 +235,7 @@ public: // // Validate all metadata in the unit with a "java:" prefix. // - static void validateMetaData(const UnitPtr&, int); + static void validateMetaData(const UnitPtr&); void close(); diff --git a/cpp/src/Slice/Parser.cpp b/cpp/src/Slice/Parser.cpp index 5db58db7ef9..9b95062c035 100644 --- a/cpp/src/Slice/Parser.cpp +++ b/cpp/src/Slice/Parser.cpp @@ -122,17 +122,6 @@ Unit* unit; } -Slice::ParserVisitor::ParserVisitor(int warningLevel) : - _warningLevel(warningLevel) -{ -} - -int -Slice::ParserVisitor::warningLevel() -{ - return _warningLevel; -} - // ---------------------------------------------------------------------- // DefinitionContext // ---------------------------------------------------------------------- @@ -204,6 +193,13 @@ Slice::DefinitionContext::getMetaData() const return _metaData; } +bool +Slice::DefinitionContext::suppressWarning(const string& name) const +{ + string q = findMetaData("suppress-warning"); + return q == "suppress-warning" || q == "supress-warning:all" || q == ("suppress-warning:" + name); +} + // ---------------------------------------------------------------------- // SyntaxTreeBase // ---------------------------------------------------------------------- diff --git a/cpp/src/Slice/Parser.h b/cpp/src/Slice/Parser.h index 3f969dbf330..9363105a066 100644 --- a/cpp/src/Slice/Parser.h +++ b/cpp/src/Slice/Parser.h @@ -191,8 +191,6 @@ class ParserVisitor { public: - ParserVisitor(int warningLevel = 1); - virtual ~ParserVisitor() { } virtual bool visitUnitStart(const UnitPtr&) { return true; } virtual void visitUnitEnd(const UnitPtr&) { } @@ -212,12 +210,6 @@ public: virtual void visitDictionary(const DictionaryPtr&) { } virtual void visitEnum(const EnumPtr&) { } virtual void visitConst(const ConstPtr&) { } - - int warningLevel(); - -private: - - int _warningLevel; }; // ---------------------------------------------------------------------- @@ -242,6 +234,12 @@ public: std::string findMetaData(const std::string&) const; StringList getMetaData() const; + // + // Check if we need to suppress the given warnings based + // on the [["supress-warning"]] global meta-data + // + bool suppressWarning(const std::string& = "") const; + private: int _includeLevel; diff --git a/cpp/src/Slice/Python.cpp b/cpp/src/Slice/Python.cpp index 057fb22cca4..bc1da962d70 100644 --- a/cpp/src/Slice/Python.cpp +++ b/cpp/src/Slice/Python.cpp @@ -101,13 +101,13 @@ class PackageVisitor : public ParserVisitor { public: - static void createModules(const UnitPtr&, const string&, const string&, int); + static void createModules(const UnitPtr&, const string&, const string&); virtual void visitModuleEnd(const ModulePtr&); private: - PackageVisitor(StringList&, int); + PackageVisitor(StringList&); enum ReadState { PreModules, InModules, InSubmodules }; @@ -128,17 +128,16 @@ private: const char* PackageVisitor::_moduleTag = "# Modules:"; const char* PackageVisitor::_submoduleTag = "# Submodules:"; -PackageVisitor::PackageVisitor(StringList& modules, int warningLevel) : - ParserVisitor(warningLevel), +PackageVisitor::PackageVisitor(StringList& modules) : _modules(modules) { } void -PackageVisitor::createModules(const UnitPtr& unit, const string& module, const string& dir, int warningLevel) +PackageVisitor::createModules(const UnitPtr& unit, const string& module, const string& dir) { StringList modules; - PackageVisitor v(modules, warningLevel); + PackageVisitor v(modules); unit->visit(&v, false); for(StringList::iterator p = modules.begin(); p != modules.end(); ++p) @@ -404,7 +403,6 @@ usage(const string& n) "--all Generate code for Slice definitions in included files.\n" "--checksum Generate checksums for Slice definitions.\n" "--prefix PREFIX Prepend filenames of Python modules with PREFIX.\n" - "--no-warn Disable all warnings.\n" ; } @@ -432,7 +430,6 @@ Slice::Python::compile(const vector<string>& argv) opts.addOpt("", "build-package"); opts.addOpt("", "checksum"); opts.addOpt("", "prefix", IceUtilInternal::Options::NeedArg); - opts.addOpt("", "no-warn"); vector<string> args; try @@ -503,8 +500,6 @@ Slice::Python::compile(const vector<string>& argv) string prefix = opts.optArg("prefix"); - int warningLevel = opts.isSet("no-warn") ? 0 : 1; - if(args.empty()) { consoleErr << argv[0] << ": error: no input file" << endl; @@ -670,7 +665,7 @@ Slice::Python::compile(const vector<string>& argv) // // Generate Python code. // - generate(u, all, checksum, includePaths, out, warningLevel); + generate(u, all, checksum, includePaths, out); out.close(); } @@ -680,7 +675,7 @@ Slice::Python::compile(const vector<string>& argv) // if(!noPackage) { - PackageVisitor::createModules(u, prefix + base + "_ice", output, warningLevel); + PackageVisitor::createModules(u, prefix + base + "_ice", output); } } catch(const Slice::FileException& ex) diff --git a/cpp/src/Slice/PythonUtil.cpp b/cpp/src/Slice/PythonUtil.cpp index 4d5a23caf9d..9f09a765ed4 100644 --- a/cpp/src/Slice/PythonUtil.cpp +++ b/cpp/src/Slice/PythonUtil.cpp @@ -50,8 +50,6 @@ class MetaDataVisitor : public ParserVisitor { public: - MetaDataVisitor(int); - virtual bool visitUnitStart(const UnitPtr&); virtual bool visitModuleStart(const ModulePtr&); virtual void visitClassDecl(const ClassDeclPtr&); @@ -93,7 +91,7 @@ class ModuleVisitor : public ParserVisitor { public: - ModuleVisitor(Output&, set<string>&, int); + ModuleVisitor(Output&, set<string>&); virtual bool visitModuleStart(const ModulePtr&); @@ -110,7 +108,7 @@ class CodeVisitor : public ParserVisitor { public: - CodeVisitor(IceUtilInternal::Output&, set<string>&, int); + CodeVisitor(IceUtilInternal::Output&, set<string>&); virtual bool visitModuleStart(const ModulePtr&); virtual void visitModuleEnd(const ModulePtr&); @@ -293,8 +291,7 @@ getDictLookup(const ContainedPtr& cont, const string& suffix = "", const string& // // ModuleVisitor implementation. // -Slice::Python::ModuleVisitor::ModuleVisitor(Output& out, set<string>& history, int warningLevel) : - ParserVisitor(warningLevel), +Slice::Python::ModuleVisitor::ModuleVisitor(Output& out, set<string>& history) : _out(out), _history(history) { } @@ -344,8 +341,7 @@ Slice::Python::ModuleVisitor::visitModuleStart(const ModulePtr& p) // // CodeVisitor implementation. // -Slice::Python::CodeVisitor::CodeVisitor(Output& out, set<string>& moduleHistory, int warningLevel) : - ParserVisitor(warningLevel), +Slice::Python::CodeVisitor::CodeVisitor(Output& out, set<string>& moduleHistory) : _out(out), _moduleHistory(moduleHistory) { @@ -2835,9 +2831,9 @@ Slice::Python::CodeVisitor::writeDocstring(const OperationPtr& op, DocstringMode void Slice::Python::generate(const UnitPtr& un, bool all, bool checksum, const vector<string>& includePaths, - Output& out, int warningLevel) + Output& out) { - Slice::Python::MetaDataVisitor visitor(warningLevel); + Slice::Python::MetaDataVisitor visitor; un->visit(&visitor, false); out << nl << "from sys import version_info as _version_info_"; @@ -2862,15 +2858,15 @@ Slice::Python::generate(const UnitPtr& un, bool all, bool checksum, const vector set<string> moduleHistory; - ModuleVisitor moduleVisitor(out, moduleHistory, warningLevel); + ModuleVisitor moduleVisitor(out, moduleHistory); un->visit(&moduleVisitor, true); - CodeVisitor codeVisitor(out, moduleHistory, warningLevel); + CodeVisitor codeVisitor(out, moduleHistory); un->visit(&codeVisitor, false); if(checksum) { - ChecksumMap checksums = createChecksums(un, warningLevel); + ChecksumMap checksums = createChecksums(un); if(!checksums.empty()) { out << sp; @@ -2986,11 +2982,6 @@ Slice::Python::printHeader(IceUtilInternal::Output& out) out << "#\n"; } -Slice::Python::MetaDataVisitor::MetaDataVisitor(int warningLevel) : - ParserVisitor(warningLevel) -{ -} - bool Slice::Python::MetaDataVisitor::visitUnitStart(const UnitPtr& p) { @@ -3000,12 +2991,12 @@ Slice::Python::MetaDataVisitor::visitUnitStart(const UnitPtr& p) // Validate global metadata in the top-level file and all included files. // StringList files = p->allFiles(); - for(StringList::iterator q = files.begin(); q != files.end(); ++q) { string file = *q; DefinitionContextPtr dc = p->findDefinitionContext(file); assert(dc); + bool emitWarnings = !dc->suppressWarning("invalid-metadata"); StringList globalMetaData = dc->getMetaData(); for(StringList::const_iterator r = globalMetaData.begin(); r != globalMetaData.end();) { @@ -3018,7 +3009,7 @@ Slice::Python::MetaDataVisitor::visitUnitStart(const UnitPtr& p) continue; } - if(warningLevel() > 0) + if(emitWarnings) { emitWarning(file, "", "ignoring invalid global metadata `" + s + "'"); } @@ -3094,6 +3085,11 @@ Slice::Python::MetaDataVisitor::visitSequence(const SequencePtr& p) const string file = p->file(); const string line = p->line(); StringList protobufMetaData; + const UnitPtr unit = p->unit(); + const DefinitionContextPtr dc = unit->findDefinitionContext(file); + assert(dc); + bool emitWarnings = !dc->suppressWarning("invalid-metadata"); + for(StringList::const_iterator q = metaData.begin(); q != metaData.end(); ) { string s = *q++; @@ -3106,7 +3102,7 @@ Slice::Python::MetaDataVisitor::visitSequence(const SequencePtr& p) BuiltinPtr builtin = BuiltinPtr::dynamicCast(p->type()); if(!builtin || builtin->kind() != Builtin::KindByte) { - if(warningLevel() > 0) + if(emitWarnings) { emitWarning(file, line, "ignoring invalid metadata `" + s + ": " + "`protobuf' encoding must be a byte sequence"); @@ -3146,6 +3142,11 @@ StringList Slice::Python::MetaDataVisitor::validateSequence(const string& file, const string& line, const TypePtr& type, const StringList& metaData) { + const UnitPtr unit = type->unit(); + const DefinitionContextPtr dc = unit->findDefinitionContext(file); + assert(dc); + bool emitWarnings = !dc->suppressWarning("invalid-metadata"); + static const string prefix = "python:"; StringList newMetaData = metaData; for(StringList::const_iterator p = newMetaData.begin(); p != newMetaData.end();) @@ -3166,7 +3167,7 @@ Slice::Python::MetaDataVisitor::validateSequence(const string& file, const strin } } } - if(warningLevel() > 0) + if(emitWarnings) { emitWarning(file, line, "ignoring invalid metadata `" + s + "'"); } @@ -3181,12 +3182,21 @@ Slice::Python::MetaDataVisitor::reject(const ContainedPtr& cont) { StringList localMetaData = cont->getMetaData(); static const string prefix = "python:"; + + const UnitPtr unit = cont->unit(); + const DefinitionContextPtr dc = unit->findDefinitionContext(cont->file()); + assert(dc); + bool emitWarnings = !dc->suppressWarning("invalid-metadata"); + for(StringList::const_iterator p = localMetaData.begin(); p != localMetaData.end();) { string s = *p++; if(s.find(prefix) == 0) { - emitWarning(cont->file(), cont->line(), "ignoring invalid metadata `" + s + "'"); + if(emitWarnings) + { + emitWarning(cont->file(), cont->line(), "ignoring invalid metadata `" + s + "'"); + } localMetaData.remove(s); } } diff --git a/cpp/src/Slice/PythonUtil.h b/cpp/src/Slice/PythonUtil.h index 161d3bdb148..9d48b3d3871 100644 --- a/cpp/src/Slice/PythonUtil.h +++ b/cpp/src/Slice/PythonUtil.h @@ -21,7 +21,7 @@ namespace Python // // Generate Python code for a translation unit. // -void generate(const Slice::UnitPtr&, bool, bool, const std::vector<std::string>&, IceUtilInternal::Output&, int); +void generate(const Slice::UnitPtr&, bool, bool, const std::vector<std::string>&, IceUtilInternal::Output&); // // Convert a scoped name into a Python name. diff --git a/cpp/src/Slice/Ruby.cpp b/cpp/src/Slice/Ruby.cpp index 7bd4dd07d17..7861bcb8c0b 100644 --- a/cpp/src/Slice/Ruby.cpp +++ b/cpp/src/Slice/Ruby.cpp @@ -81,7 +81,6 @@ usage(const string& n) " deprecated: use instead [[\"ice-prefix\"]] metadata.\n" "--underscore Allow underscores in Slice identifiers\n" " deprecated: use instead [[\"underscore\"]] metadata.\n" - "--no-warn Disable all warnings.\n" ; } @@ -106,7 +105,6 @@ Slice::Ruby::compile(const vector<string>& argv) opts.addOpt("", "underscore"); opts.addOpt("", "all"); opts.addOpt("", "checksum"); - opts.addOpt("", "no-warn"); vector<string> args; try @@ -171,8 +169,6 @@ Slice::Ruby::compile(const vector<string>& argv) bool checksum = opts.isSet("checksum"); - int warningLevel = opts.isSet("no-warn") ? 0 : 1; - if(args.empty()) { consoleErr << argv[0] << ": error: no input file" << endl; @@ -315,7 +311,7 @@ Slice::Ruby::compile(const vector<string>& argv) // // Generate the Ruby mapping. // - generate(u, all, checksum, includePaths, out, warningLevel); + generate(u, all, checksum, includePaths, out); out.close(); } diff --git a/cpp/src/Slice/RubyUtil.cpp b/cpp/src/Slice/RubyUtil.cpp index 574a7cf2644..9c1a32d8e77 100644 --- a/cpp/src/Slice/RubyUtil.cpp +++ b/cpp/src/Slice/RubyUtil.cpp @@ -52,7 +52,7 @@ class CodeVisitor : public ParserVisitor { public: - CodeVisitor(IceUtilInternal::Output&, int); + CodeVisitor(IceUtilInternal::Output&); virtual bool visitModuleStart(const ModulePtr&); virtual void visitModuleEnd(const ModulePtr&); @@ -184,8 +184,7 @@ splitScopedName(const string& scoped) // // CodeVisitor implementation. // -Slice::Ruby::CodeVisitor::CodeVisitor(Output& out, int warningLevel) : - ParserVisitor(warningLevel), +Slice::Ruby::CodeVisitor::CodeVisitor(Output& out) : _out(out) { } @@ -1446,8 +1445,7 @@ Slice::Ruby::CodeVisitor::collectExceptionMembers(const ExceptionPtr& p, MemberI } void -Slice::Ruby::generate(const UnitPtr& un, bool all, bool checksum, const vector<string>& includePaths, Output& out, - int warningLevel) +Slice::Ruby::generate(const UnitPtr& un, bool all, bool checksum, const vector<string>& includePaths, Output& out) { out << nl << "require 'Ice'"; @@ -1467,12 +1465,12 @@ Slice::Ruby::generate(const UnitPtr& un, bool all, bool checksum, const vector<s } } - CodeVisitor codeVisitor(out, warningLevel); + CodeVisitor codeVisitor(out); un->visit(&codeVisitor, false); if(checksum) { - ChecksumMap checksums = createChecksums(un, warningLevel); + ChecksumMap checksums = createChecksums(un); if(!checksums.empty()) { out << sp; diff --git a/cpp/src/Slice/RubyUtil.h b/cpp/src/Slice/RubyUtil.h index 387cbc67073..e67ecd1b623 100644 --- a/cpp/src/Slice/RubyUtil.h +++ b/cpp/src/Slice/RubyUtil.h @@ -21,7 +21,7 @@ namespace Ruby // // Generate Ruby code for a translation unit. // -void generate(const Slice::UnitPtr&, bool, bool, const std::vector<std::string>&, IceUtilInternal::Output&, int); +void generate(const Slice::UnitPtr&, bool, bool, const std::vector<std::string>&, IceUtilInternal::Output&); // // Check the given identifier against Ruby's list of reserved words. If it matches |