summaryrefslogtreecommitdiff
path: root/cpp/src/slice2confluence
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/slice2confluence')
-rw-r--r--cpp/src/slice2confluence/Gen.cpp31
-rw-r--r--cpp/src/slice2confluence/Gen.h10
-rw-r--r--cpp/src/slice2confluence/Main.cpp6
3 files changed, 28 insertions, 19 deletions
diff --git a/cpp/src/slice2confluence/Gen.cpp b/cpp/src/slice2confluence/Gen.cpp
index 00bd746812d..77624f6cdfa 100644
--- a/cpp/src/slice2confluence/Gen.cpp
+++ b/cpp/src/slice2confluence/Gen.cpp
@@ -39,7 +39,8 @@ namespace Slice
void
generate(const UnitPtr& unit, const string& dir, const string& header, const string& footer,
const string& indexHeader, const string& indexFooter, const string& imageDir, const string& logoURL,
- const string& searchAction, unsigned indexCount, unsigned warnSummary, const vector<string>& sortOrder)
+ const string& searchAction, unsigned indexCount, unsigned warnSummary, const vector<string>& sortOrder,
+ int warningLevel)
{
unit->mergeModules();
@@ -68,19 +69,19 @@ generate(const UnitPtr& unit, const string& dir, const string& header, const str
// to the symbol; if the latter, we cannot.
//
Files files;
- FileVisitor tv(files);
+ FileVisitor tv(files, warningLevel);
unit->visit(&tv, false);
//
// Generate the start page.
//
- StartPageVisitor spv(files);
+ StartPageVisitor spv(files, warningLevel);
unit->visit(&spv, false);
//
// Generate the table of contents.
//
- TOCVisitor tocv(files, indexHeader, indexFooter);
+ TOCVisitor tocv(files, indexHeader, indexFooter, warningLevel);
unit->visit(&tocv, false);
tocv.generate();
@@ -88,7 +89,7 @@ generate(const UnitPtr& unit, const string& dir, const string& header, const str
// Generate the individual HTML pages.
//
GeneratorBase::setSymbols(tocv.symbols());
- PageVisitor v(files);
+ PageVisitor v(files, warningLevel);
unit->visit(&v, false);
}
@@ -1953,8 +1954,9 @@ Slice::StartPageGenerator::printHeaderFooter()
// Do nothing
}
-Slice::FileVisitor::FileVisitor(Files& files)
- : _files(files)
+Slice::FileVisitor::FileVisitor(Files& files, int warningLevel) :
+ ParserVisitor(warningLevel),
+ _files(files)
{
}
@@ -2016,8 +2018,9 @@ Slice::FileVisitor::visitEnum(const EnumPtr& e)
_files.insert(e->file());
}
-Slice::StartPageVisitor::StartPageVisitor(const Files& files)
- : _spg(files)
+Slice::StartPageVisitor::StartPageVisitor(const Files& files, int warningLevel) :
+ ParserVisitor(warningLevel),
+ _spg(files)
{
}
@@ -2173,8 +2176,9 @@ TOCGenerator::writeEntry(const ContainedPtr& c)
end();
}
-TOCVisitor::TOCVisitor(const Files& files, const string& header, const string& footer)
- : _tg(files, header, footer)
+TOCVisitor::TOCVisitor(const Files& files, const string& header, const string& footer, int warningLevel) :
+ ParserVisitor(warningLevel),
+ _tg(files, header, footer)
{
}
@@ -3263,8 +3267,9 @@ Slice::EnumGenerator::generate(const EnumPtr& e)
assert(_out.currIndent() == indent);
}
-Slice::PageVisitor::PageVisitor(const Files& files)
- : _files(files)
+Slice::PageVisitor::PageVisitor(const Files& files, int warningLevel) :
+ ParserVisitor(warningLevel),
+ _files(files)
{
}
diff --git a/cpp/src/slice2confluence/Gen.h b/cpp/src/slice2confluence/Gen.h
index bc10790604b..587e28c7d1e 100644
--- a/cpp/src/slice2confluence/Gen.h
+++ b/cpp/src/slice2confluence/Gen.h
@@ -21,7 +21,7 @@ namespace Slice
void generate(const UnitPtr&, const ::std::string&, const ::std::string&, const ::std::string&, const std::string&,
const ::std::string&, const ::std::string&, const ::std::string&, const ::std::string&,
- unsigned, unsigned, const ::std::vector<std::string>& = ::std::vector<std::string>());
+ unsigned, unsigned, const ::std::vector<std::string>& = ::std::vector<std::string>(), int = 1);
typedef ::std::set< ::std::string> Files;
@@ -165,7 +165,7 @@ class FileVisitor : private ::IceUtil::noncopyable, public ParserVisitor
{
public:
- FileVisitor(Files&);
+ FileVisitor(Files&, int);
virtual bool visitUnitStart(const UnitPtr&);
virtual bool visitModuleStart(const ModulePtr&);
@@ -186,7 +186,7 @@ class StartPageVisitor : private ::IceUtil::noncopyable, public ParserVisitor
{
public:
- StartPageVisitor(const Files&);
+ StartPageVisitor(const Files&, int);
virtual bool visitUnitStart(const UnitPtr&);
virtual bool visitModuleStart(const ModulePtr&);
@@ -219,7 +219,7 @@ class TOCVisitor : private ::IceUtil::noncopyable, public ParserVisitor
{
public:
- TOCVisitor(const Files&, const ::std::string&, const ::std::string&);
+ TOCVisitor(const Files&, const ::std::string&, const ::std::string&, int);
virtual bool visitUnitStart(const UnitPtr&);
virtual bool visitModuleStart(const ModulePtr&);
@@ -279,7 +279,7 @@ class PageVisitor : private ::IceUtil::noncopyable, public ParserVisitor
{
public:
- PageVisitor(const Files&);
+ PageVisitor(const Files&, int);
virtual bool visitUnitStart(const UnitPtr&);
virtual bool visitModuleStart(const ModulePtr&);
diff --git a/cpp/src/slice2confluence/Main.cpp b/cpp/src/slice2confluence/Main.cpp
index 8eeca1c303b..38c7d5e2319 100644
--- a/cpp/src/slice2confluence/Main.cpp
+++ b/cpp/src/slice2confluence/Main.cpp
@@ -108,6 +108,7 @@ 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"
;
}
@@ -136,6 +137,7 @@ compile(const vector<string>& argv)
opts.addOpt("d", "debug");
opts.addOpt("", "ice");
opts.addOpt("", "underscore");
+ opts.addOpt("", "no-warn");
bool validate = find(argv.begin(), argv.end(), "--validate") != argv.end();
vector<string> args;
@@ -248,6 +250,8 @@ compile(const vector<string>& argv)
bool underscore = opts.isSet("underscore");
+ int warningLevel = opts.isSet("no-warn") ? 0 : 1;
+
if(args.empty())
{
consoleErr << argv[0] << ": error: no input file" << endl;
@@ -318,7 +322,7 @@ compile(const vector<string>& argv)
try
{
Slice::generate(p, output, header, footer, indexHeader, indexFooter, imageDir, logoURL,
- searchAction, indexCount, summaryCount, sort_order);
+ searchAction, indexCount, summaryCount, sort_order, warningLevel);
}
catch(const Slice::FileException& ex)
{