summaryrefslogtreecommitdiff
path: root/compiler/cpp/src/generate/t_xml_generator.cc
diff options
context:
space:
mode:
authorJens Geyer <jensg@apache.org>2016-02-13 23:48:20 +0100
committerJens Geyer <jensg@apache.org>2016-02-14 11:10:42 +0100
commit4733c4c53520259a002b9b173a7f5407499311c7 (patch)
tree08202927a4d99675be25ff0840eaf6c46037d417 /compiler/cpp/src/generate/t_xml_generator.cc
parent833236fc52294b4f4a9cf6a75118da3ae71ac006 (diff)
downloadthrift-4733c4c53520259a002b9b173a7f5407499311c7.tar.gz
THRIFT-3605 Have the compiler complain about invalid arguments and options
Client: Compiler (general) Patch: Jens Geyer This closes #862
Diffstat (limited to 'compiler/cpp/src/generate/t_xml_generator.cc')
-rw-r--r--compiler/cpp/src/generate/t_xml_generator.cc24
1 files changed, 15 insertions, 9 deletions
diff --git a/compiler/cpp/src/generate/t_xml_generator.cc b/compiler/cpp/src/generate/t_xml_generator.cc
index 0b0eb05f1..4a166c8db 100644
--- a/compiler/cpp/src/generate/t_xml_generator.cc
+++ b/compiler/cpp/src/generate/t_xml_generator.cc
@@ -58,19 +58,25 @@ public:
const std::map<std::string, std::string>& parsed_options,
const std::string& option_string)
: t_generator(program) {
- (void)parsed_options;
(void)option_string;
- out_dir_base_ = "gen-xml";
-
std::map<std::string, std::string>::const_iterator iter;
- iter = parsed_options.find("merge");
- should_merge_includes_ = (iter != parsed_options.end());
- iter = parsed_options.find("no_default_ns");
- should_use_default_ns_ = (iter == parsed_options.end());
+ should_merge_includes_ = false;
+ should_use_default_ns_ = true;
+ should_use_namespaces_ = true;
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ if( iter->first.compare("merge") == 0) {
+ should_merge_includes_ = true;
+ } else if( iter->first.compare("no_default_ns") == 0) {
+ should_use_default_ns_ = false;
+ } else if( iter->first.compare("no_namespaces") == 0) {
+ should_use_namespaces_ = false;
+ } else {
+ throw "unknown option xml:" + iter->first;
+ }
+ }
- iter = parsed_options.find("no_namespaces");
- should_use_namespaces_ = (iter == parsed_options.end());
+ out_dir_base_ = "gen-xml";
}
virtual ~t_xml_generator() {}