diff options
author | Jose <jose@zeroc.com> | 2017-02-01 23:16:30 +0100 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2017-02-01 23:16:30 +0100 |
commit | ca131951f8d81ea3da13277172a24234b5c848ea (patch) | |
tree | 28b8d9ad6a09f550ef43f3b24df8048da8e70d7d /cpp/src/Slice/Python.cpp | |
parent | Added entries for support of try-with-resources/with statement in Java/Python (diff) | |
download | ice-ca131951f8d81ea3da13277172a24234b5c848ea.tar.bz2 ice-ca131951f8d81ea3da13277172a24234b5c848ea.tar.xz ice-ca131951f8d81ea3da13277172a24234b5c848ea.zip |
Add --no-warn option to Slice compilers
Diffstat (limited to 'cpp/src/Slice/Python.cpp')
-rw-r--r-- | cpp/src/Slice/Python.cpp | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/cpp/src/Slice/Python.cpp b/cpp/src/Slice/Python.cpp index bc1da962d70..057fb22cca4 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&); + static void createModules(const UnitPtr&, const string&, const string&, int); virtual void visitModuleEnd(const ModulePtr&); private: - PackageVisitor(StringList&); + PackageVisitor(StringList&, int); enum ReadState { PreModules, InModules, InSubmodules }; @@ -128,16 +128,17 @@ private: const char* PackageVisitor::_moduleTag = "# Modules:"; const char* PackageVisitor::_submoduleTag = "# Submodules:"; -PackageVisitor::PackageVisitor(StringList& modules) : +PackageVisitor::PackageVisitor(StringList& modules, int warningLevel) : + ParserVisitor(warningLevel), _modules(modules) { } void -PackageVisitor::createModules(const UnitPtr& unit, const string& module, const string& dir) +PackageVisitor::createModules(const UnitPtr& unit, const string& module, const string& dir, int warningLevel) { StringList modules; - PackageVisitor v(modules); + PackageVisitor v(modules, warningLevel); unit->visit(&v, false); for(StringList::iterator p = modules.begin(); p != modules.end(); ++p) @@ -403,6 +404,7 @@ 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" ; } @@ -430,6 +432,7 @@ 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 @@ -500,6 +503,8 @@ 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; @@ -665,7 +670,7 @@ Slice::Python::compile(const vector<string>& argv) // // Generate Python code. // - generate(u, all, checksum, includePaths, out); + generate(u, all, checksum, includePaths, out, warningLevel); out.close(); } @@ -675,7 +680,7 @@ Slice::Python::compile(const vector<string>& argv) // if(!noPackage) { - PackageVisitor::createModules(u, prefix + base + "_ice", output); + PackageVisitor::createModules(u, prefix + base + "_ice", output, warningLevel); } } catch(const Slice::FileException& ex) |