summaryrefslogtreecommitdiff
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
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
-rw-r--r--compiler/cpp/src/generate/t_as3_generator.cc10
-rw-r--r--compiler/cpp/src/generate/t_c_glib_generator.cc8
-rw-r--r--compiler/cpp/src/generate/t_cocoa_generator.cc42
-rw-r--r--compiler/cpp/src/generate/t_cpp_generator.cc49
-rw-r--r--compiler/cpp/src/generate/t_csharp_generator.cc47
-rw-r--r--compiler/cpp/src/generate/t_d_generator.cc8
-rw-r--r--compiler/cpp/src/generate/t_dart_generator.cc36
-rw-r--r--compiler/cpp/src/generate/t_delphi_generator.cc30
-rw-r--r--compiler/cpp/src/generate/t_erl_generator.cc23
-rw-r--r--compiler/cpp/src/generate/t_go_generator.cc46
-rw-r--r--compiler/cpp/src/generate/t_gv_generator.cc16
-rw-r--r--compiler/cpp/src/generate/t_haxe_generator.cc22
-rw-r--r--compiler/cpp/src/generate/t_hs_generator.cc8
-rw-r--r--compiler/cpp/src/generate/t_html_generator.cc23
-rw-r--r--compiler/cpp/src/generate/t_java_generator.cc82
-rw-r--r--compiler/cpp/src/generate/t_javame_generator.cc6
-rw-r--r--compiler/cpp/src/generate/t_js_generator.cc27
-rw-r--r--compiler/cpp/src/generate/t_json_generator.cc16
-rw-r--r--compiler/cpp/src/generate/t_lua_generator.cc15
-rw-r--r--compiler/cpp/src/generate/t_ocaml_generator.cc8
-rw-r--r--compiler/cpp/src/generate/t_perl_generator.cc8
-rw-r--r--compiler/cpp/src/generate/t_php_generator.cc48
-rw-r--r--compiler/cpp/src/generate/t_py_generator.cc129
-rw-r--r--compiler/cpp/src/generate/t_rb_generator.cc17
-rw-r--r--compiler/cpp/src/generate/t_st_generator.cc8
-rw-r--r--compiler/cpp/src/generate/t_swift_generator.cc31
-rw-r--r--compiler/cpp/src/generate/t_xml_generator.cc24
-rw-r--r--compiler/cpp/src/generate/t_xsd_generator.cc8
-rw-r--r--contrib/thrift-maven-plugin/src/main/java/org/apache/thrift/maven/AbstractThriftMojo.java2
-rw-r--r--contrib/thrift-maven-plugin/src/test/java/org/apache/thrift/maven/TestThrift.java2
-rwxr-xr-xlib/java/build.xml10
31 files changed, 481 insertions, 328 deletions
diff --git a/compiler/cpp/src/generate/t_as3_generator.cc b/compiler/cpp/src/generate/t_as3_generator.cc
index 0364ec1a9..c0a03dce2 100644
--- a/compiler/cpp/src/generate/t_as3_generator.cc
+++ b/compiler/cpp/src/generate/t_as3_generator.cc
@@ -52,8 +52,14 @@ public:
(void)option_string;
std::map<std::string, std::string>::const_iterator iter;
- iter = parsed_options.find("bindable");
- bindable_ = (iter != parsed_options.end());
+ bindable_ = false;
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ if( iter->first.compare("bindable") == 0) {
+ bindable_ = true;
+ } else {
+ throw "unknown option as3:" + iter->first;
+ }
+ }
out_dir_base_ = "gen-as3";
}
diff --git a/compiler/cpp/src/generate/t_c_glib_generator.cc b/compiler/cpp/src/generate/t_c_glib_generator.cc
index affaafa8e..6a349c4d2 100644
--- a/compiler/cpp/src/generate/t_c_glib_generator.cc
+++ b/compiler/cpp/src/generate/t_c_glib_generator.cc
@@ -57,11 +57,17 @@ public:
const map<string, string>& parsed_options,
const string& option_string)
: t_oop_generator(program) {
- (void)parsed_options;
(void)option_string;
+ std::map<std::string, std::string>::const_iterator iter;
+
/* set the output directory */
this->out_dir_base_ = "gen-c_glib";
+ /* no options yet */
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ throw "unknown option c_glib:" + iter->first;
+ }
+
/* set the namespace */
this->nspace = program_->get_namespace("c_glib");
diff --git a/compiler/cpp/src/generate/t_cocoa_generator.cc b/compiler/cpp/src/generate/t_cocoa_generator.cc
index 085e0b9b4..4f135f44d 100644
--- a/compiler/cpp/src/generate/t_cocoa_generator.cc
+++ b/compiler/cpp/src/generate/t_cocoa_generator.cc
@@ -52,24 +52,30 @@ public:
(void)option_string;
std::map<std::string, std::string>::const_iterator iter;
- iter = parsed_options.find("log_unexpected");
- log_unexpected_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("validate_required");
- validate_required_ = (iter != parsed_options.end());
+ log_unexpected_ = false;
+ validate_required_ = false;
+ async_clients_ = false;
+ promise_kit_ = false;
+ debug_descriptions_ = false;
+ pods_ = false;
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ if( iter->first.compare("log_unexpected") == 0) {
+ log_unexpected_ = true;
+ } else if( iter->first.compare("validate_required") == 0) {
+ validate_required_ = true;
+ } else if( iter->first.compare("async_clients") == 0) {
+ async_clients_ = true;
+ } else if( iter->first.compare("promise_kit") == 0) {
+ promise_kit_ = true;
+ } else if( iter->first.compare("debug_descriptions") == 0) {
+ debug_descriptions_ = true;
+ } else if( iter->first.compare("pods") == 0) {
+ pods_ = true;
+ } else {
+ throw "unknown option cocoa:" + iter->first;
+ }
+ }
- iter = parsed_options.find("async_clients");
- async_clients_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("promise_kit");
- promise_kit_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("debug_descriptions");
- debug_descriptions_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("pods");
- pods_ = (iter != parsed_options.end());
-
out_dir_base_ = "gen-cocoa";
}
@@ -3282,6 +3288,8 @@ THRIFT_REGISTER_GENERATOR(
cocoa,
"Cocoa",
" log_unexpected: Log every time an unexpected field ID or type is encountered.\n"
+ " debug_descriptions:\n"
+ " Allow use of debugDescription so the app can add description via a cateogory/extension\n"
" validate_required:\n"
" Throws exception if any required field is not set.\n"
" async_clients: Generate clients which invoke asynchronously via block syntax.\n"
diff --git a/compiler/cpp/src/generate/t_cpp_generator.cc b/compiler/cpp/src/generate/t_cpp_generator.cc
index 5056d875c..6c0489902 100644
--- a/compiler/cpp/src/generate/t_cpp_generator.cc
+++ b/compiler/cpp/src/generate/t_cpp_generator.cc
@@ -55,28 +55,35 @@ public:
(void)option_string;
std::map<std::string, std::string>::const_iterator iter;
- iter = parsed_options.find("pure_enums");
- gen_pure_enums_ = (iter != parsed_options.end());
- iter = parsed_options.find("include_prefix");
- use_include_prefix_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("cob_style");
- gen_cob_style_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("no_client_completion");
- gen_no_client_completion_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("no_default_operators");
- gen_no_default_operators_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("templates");
- gen_templates_ = (iter != parsed_options.end());
-
- gen_templates_only_ = (iter != parsed_options.end() && iter->second == "only");
-
- iter = parsed_options.find("moveable_types");
- gen_moveable_ = (iter != parsed_options.end());
+ gen_pure_enums_ = false;
+ use_include_prefix_ = false;
+ gen_cob_style_ = false;
+ gen_no_client_completion_ = false;
+ gen_no_default_operators_ = false;
+ gen_templates_ = false;
+ gen_templates_only_ = false;
+ gen_moveable_ = false;
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ if( iter->first.compare("pure_enums") == 0) {
+ gen_pure_enums_ = true;
+ } else if( iter->first.compare("include_prefix") == 0) {
+ use_include_prefix_ = true;
+ } else if( iter->first.compare("cob_style") == 0) {
+ gen_cob_style_ = true;
+ } else if( iter->first.compare("no_client_completion") == 0) {
+ gen_no_client_completion_ = true;
+ } else if( iter->first.compare("no_default_operators") == 0) {
+ gen_no_default_operators_ = true;
+ } else if( iter->first.compare("templates") == 0) {
+ gen_templates_ = true;
+ gen_templates_only_ = (iter->second == "only");
+ } else if( iter->first.compare("moveable_types") == 0) {
+ gen_moveable_ = true;
+ } else {
+ throw "unknown option cpp:" + iter->first;
+ }
+ }
out_dir_base_ = "gen-cpp";
}
diff --git a/compiler/cpp/src/generate/t_csharp_generator.cc b/compiler/cpp/src/generate/t_csharp_generator.cc
index 9b865f567..d356f2616 100644
--- a/compiler/cpp/src/generate/t_csharp_generator.cc
+++ b/compiler/cpp/src/generate/t_csharp_generator.cc
@@ -60,28 +60,31 @@ public:
std::map<std::string, std::string>::const_iterator iter;
- iter = parsed_options.find("async");
- async_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("nullable");
- nullable_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("hashcode");
- hashcode_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("union");
- union_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("serial");
- serialize_ = (iter != parsed_options.end());
- if (serialize_) {
- wcf_namespace_ = iter->second; // since there can be only one namespace
- }
-
- iter = parsed_options.find("wcf");
- wcf_ = (iter != parsed_options.end());
- if (wcf_) {
- wcf_namespace_ = iter->second;
+ async_ = false;
+ nullable_ = false;
+ hashcode_ = false;
+ union_ = false;
+ serialize_ = false;
+ wcf_ = false;
+ wcf_namespace_.clear();
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ if( iter->first.compare("async") == 0) {
+ async_ = true;
+ } else if( iter->first.compare("nullable") == 0) {
+ nullable_ = true;
+ } else if( iter->first.compare("hashcode") == 0) {
+ hashcode_ = true;
+ } else if( iter->first.compare("union") == 0) {
+ union_ = true;
+ } else if( iter->first.compare("serial") == 0) {
+ serialize_ = true;
+ wcf_namespace_ = iter->second; // since there can be only one namespace
+ } else if( iter->first.compare("wcf") == 0) {
+ wcf_ = true;
+ wcf_namespace_ = iter->second;
+ } else {
+ throw "unknown option csharp:" + iter->first;
+ }
}
out_dir_base_ = "gen-csharp";
diff --git a/compiler/cpp/src/generate/t_d_generator.cc b/compiler/cpp/src/generate/t_d_generator.cc
index 629e71bd5..1e0af7d51 100644
--- a/compiler/cpp/src/generate/t_d_generator.cc
+++ b/compiler/cpp/src/generate/t_d_generator.cc
@@ -59,8 +59,14 @@ public:
const std::map<string, string>& parsed_options,
const string& option_string)
: t_oop_generator(program) {
- (void)parsed_options;
(void)option_string;
+ std::map<std::string, std::string>::const_iterator iter;
+
+ /* no options yet */
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ throw "unknown option d:" + iter->first;
+ }
+
out_dir_base_ = "gen-d";
}
diff --git a/compiler/cpp/src/generate/t_dart_generator.cc b/compiler/cpp/src/generate/t_dart_generator.cc
index 4faea1952..3333d1658 100644
--- a/compiler/cpp/src/generate/t_dart_generator.cc
+++ b/compiler/cpp/src/generate/t_dart_generator.cc
@@ -68,27 +68,21 @@ public:
(void)option_string;
std::map<std::string, std::string>::const_iterator iter;
- iter = parsed_options.find("library_name");
- if (iter != parsed_options.end()) {
- library_name_ = (iter->second);
- } else {
- library_name_ = "";
- }
-
- iter = parsed_options.find("library_prefix");
- if (iter != parsed_options.end()) {
- library_prefix_ = (iter->second) + ".";
- package_prefix_ = replace_all(library_prefix_, ".", "/");
- } else {
- library_prefix_ = "";
- package_prefix_ = "";
- }
-
- iter = parsed_options.find("pubspec_lib");
- if (iter != parsed_options.end()) {
- pubspec_lib_ = (iter->second);
- } else {
- pubspec_lib_ = "";
+ library_name_ = "";
+ library_prefix_ = "";
+ package_prefix_ = "";
+ pubspec_lib_ = "";
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ if( iter->first.compare("library_name") == 0) {
+ library_name_ = (iter->second);
+ } else if( iter->first.compare("library_prefix") == 0) {
+ library_prefix_ = (iter->second) + ".";
+ package_prefix_ = replace_all(library_prefix_, ".", "/");
+ } else if( iter->first.compare("pubspec_lib") == 0) {
+ pubspec_lib_ = (iter->second);
+ } else {
+ throw "unknown option dart:" + iter->first;
+ }
}
out_dir_base_ = "gen-dart";
diff --git a/compiler/cpp/src/generate/t_delphi_generator.cc b/compiler/cpp/src/generate/t_delphi_generator.cc
index 2b86d9d39..575225b89 100644
--- a/compiler/cpp/src/generate/t_delphi_generator.cc
+++ b/compiler/cpp/src/generate/t_delphi_generator.cc
@@ -60,16 +60,26 @@ public:
has_const = false;
std::map<std::string, std::string>::const_iterator iter;
- iter = parsed_options.find("ansistr_binary");
- ansistr_binary_ = (iter != parsed_options.end());
- iter = parsed_options.find("register_types");
- register_types_ = (iter != parsed_options.end());
- iter = parsed_options.find("constprefix");
- constprefix_ = (iter != parsed_options.end());
- iter = parsed_options.find("events");
- events_ = (iter != parsed_options.end());
- iter = parsed_options.find("xmldoc");
- xmldoc_ = (iter != parsed_options.end());
+ ansistr_binary_ = false;
+ register_types_ = false;
+ constprefix_ = false;
+ events_ = false;
+ xmldoc_ = false;
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ if( iter->first.compare("ansistr_binary") == 0) {
+ ansistr_binary_ = true;
+ } else if( iter->first.compare("register_types") == 0) {
+ register_types_ = true;
+ } else if( iter->first.compare("constprefix") == 0) {
+ constprefix_ = true;
+ } else if( iter->first.compare("events") == 0) {
+ events_ = true;
+ } else if( iter->first.compare("xmldoc") == 0) {
+ xmldoc_ = true;
+ } else {
+ throw "unknown option delphi:" + iter->first;
+ }
+ }
out_dir_base_ = "gen-delphi";
escape_.clear();
diff --git a/compiler/cpp/src/generate/t_erl_generator.cc b/compiler/cpp/src/generate/t_erl_generator.cc
index 78d757e87..0e7f7f11b 100644
--- a/compiler/cpp/src/generate/t_erl_generator.cc
+++ b/compiler/cpp/src/generate/t_erl_generator.cc
@@ -50,16 +50,29 @@ 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-erl";
+ std::map<std::string, std::string>::const_iterator iter;
+
+ legacy_names_ = false;
+ maps_ = false;
+ otp16_ = false;
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ if( iter->first.compare("legacynames") == 0) {
+ legacy_names_ = true;
+ } else if( iter->first.compare("maps") == 0) {
+ maps_ = true;
+ } else if( iter->first.compare("otp16") == 0) {
+ otp16_ = true;
+ } else {
+ throw "unknown option erl:" + iter->first;
+ }
+ }
- legacy_names_ = (parsed_options.find("legacynames") != parsed_options.end());
- maps_ = (parsed_options.find("maps") != parsed_options.end());
- otp16_ = (parsed_options.find("otp16") != parsed_options.end());
if (maps_ && otp16_) {
throw "argument error: Cannot specify both maps and otp16; maps are not available for Erlang/OTP R16 or older";
}
+
+ out_dir_base_ = "gen-erl";
}
/**
diff --git a/compiler/cpp/src/generate/t_go_generator.cc b/compiler/cpp/src/generate/t_go_generator.cc
index 09ab53009..b48dc4713 100644
--- a/compiler/cpp/src/generate/t_go_generator.cc
+++ b/compiler/cpp/src/generate/t_go_generator.cc
@@ -60,7 +60,7 @@ static const string endl = "\n"; // avoid ostream << std::endl flushes
*/
bool format_go_output(const string& file_path);
-const string default_thrift_import = "git.apache.org/thrift.git/lib/go/thrift";
+const string DEFAULT_THRIFT_IMPORT = "git.apache.org/thrift.git/lib/go/thrift";
static std::string package_flag;
/**
@@ -74,32 +74,30 @@ public:
: t_generator(program) {
(void)option_string;
std::map<std::string, std::string>::const_iterator iter;
- out_dir_base_ = "gen-go";
- gen_thrift_import_ = default_thrift_import;
-
- iter = parsed_options.find("package_prefix");
-
- if (iter != parsed_options.end()) {
- gen_package_prefix_ = (iter->second);
- }
-
- iter = parsed_options.find("thrift_import");
- if (iter != parsed_options.end()) {
- gen_thrift_import_ = (iter->second);
- }
- iter = parsed_options.find("package");
-
- if (iter != parsed_options.end()) {
- package_flag = (iter->second);
+ gen_thrift_import_ = DEFAULT_THRIFT_IMPORT;
+ gen_package_prefix_ = "";
+ package_flag = "";
+ read_write_private_ = false;
+ ignore_initialisms_ = false;
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ if( iter->first.compare("package_prefix") == 0) {
+ gen_package_prefix_ = (iter->second);
+ } else if( iter->first.compare("thrift_import") == 0) {
+ gen_thrift_import_ = (iter->second);
+ } else if( iter->first.compare("package") == 0) {
+ package_flag = (iter->second);
+ } else if( iter->first.compare("read_write_private") == 0) {
+ read_write_private_ = true;
+ } else if( iter->first.compare("ignore_initialisms") == 0) {
+ ignore_initialisms_ = true;
+ } else {
+ throw "unknown option go:" + iter->first;
+ }
}
- iter = parsed_options.find("read_write_private");
- read_write_private_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("ignore_initialisms");
- ignore_initialisms_ = (iter != parsed_options.end());
+ out_dir_base_ = "gen-go";
}
/**
@@ -3654,7 +3652,7 @@ bool format_go_output(const string& file_path) {
THRIFT_REGISTER_GENERATOR(go, "Go",
" package_prefix= Package prefix for generated files.\n" \
- " thrift_import= Override thrift package import path (default:" + default_thrift_import + ")\n" \
+ " thrift_import= Override thrift package import path (default:" + DEFAULT_THRIFT_IMPORT + ")\n" \
" package= Package name (default: inferred from thrift file name)\n" \
" ignore_initialisms\n"
" Disable automatic spelling correction of initialisms (e.g. \"URL\")\n" \
diff --git a/compiler/cpp/src/generate/t_gv_generator.cc b/compiler/cpp/src/generate/t_gv_generator.cc
index b70f2cad3..61be8e686 100644
--- a/compiler/cpp/src/generate/t_gv_generator.cc
+++ b/compiler/cpp/src/generate/t_gv_generator.cc
@@ -49,13 +49,19 @@ 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-gv";
-
std::map<std::string, std::string>::const_iterator iter;
- iter = parsed_options.find("exceptions");
- exception_arrows = (iter != parsed_options.end());
+
+ exception_arrows = false;
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ if( iter->first.compare("exceptions") == 0) {
+ exception_arrows = true;
+ } else {
+ throw "unknown option gv:" + iter->first;
+ }
+ }
+
+ out_dir_base_ = "gen-gv";
}
/**
diff --git a/compiler/cpp/src/generate/t_haxe_generator.cc b/compiler/cpp/src/generate/t_haxe_generator.cc
index ebaa193e4..f34a4066f 100644
--- a/compiler/cpp/src/generate/t_haxe_generator.cc
+++ b/compiler/cpp/src/generate/t_haxe_generator.cc
@@ -52,14 +52,20 @@ public:
(void)option_string;
std::map<std::string, std::string>::const_iterator iter;
- iter = parsed_options.find("callbacks");
- callbacks_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("rtti");
- rtti_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("buildmacro");
- buildmacro_ = (iter != parsed_options.end()) ? (iter->second) : "";
+ callbacks_ = false;
+ rtti_ = false;
+ buildmacro_ = "";
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ if( iter->first.compare("callbacks") == 0) {
+ callbacks_ = true;
+ } else if( iter->first.compare("rtti") == 0) {
+ rtti_ = true;
+ } else if( iter->first.compare("buildmacro") == 0) {
+ buildmacro_ = (iter->second);
+ } else {
+ throw "unknown option haxe:" + iter->first;
+ }
+ }
out_dir_base_ = "gen-haxe";
}
diff --git a/compiler/cpp/src/generate/t_hs_generator.cc b/compiler/cpp/src/generate/t_hs_generator.cc
index 247c9a888..cef8cd010 100644
--- a/compiler/cpp/src/generate/t_hs_generator.cc
+++ b/compiler/cpp/src/generate/t_hs_generator.cc
@@ -51,8 +51,14 @@ public:
const map<string, string>& parsed_options,
const string& option_string)
: t_oop_generator(program) {
- (void)parsed_options;
(void)option_string;
+ std::map<std::string, std::string>::const_iterator iter;
+
+ /* no options yet */
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ throw "unknown option hs:" + iter->first;
+ }
+
out_dir_base_ = "gen-hs";
}
diff --git a/compiler/cpp/src/generate/t_html_generator.cc b/compiler/cpp/src/generate/t_html_generator.cc
index dc407f3a9..9594d390f 100644
--- a/compiler/cpp/src/generate/t_html_generator.cc
+++ b/compiler/cpp/src/generate/t_html_generator.cc
@@ -53,17 +53,24 @@ 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-html";
- input_type_ = INPUT_UNKNOWN;
-
std::map<std::string, std::string>::const_iterator iter;
- iter = parsed_options.find("standalone");
- standalone_ = (iter != parsed_options.end());
- iter = parsed_options.find("noescape");
- unsafe_ = (iter != parsed_options.end());
+ standalone_ = false;
+ unsafe_ = false;
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ if( iter->first.compare("standalone") == 0) {
+ standalone_ = true;
+ } else if( iter->first.compare("noescape") == 0) {
+ unsafe_ = true;
+ } else {
+ throw "unknown option html:" + iter->first;
+ }
+ }
+
+
+ out_dir_base_ = "gen-html";
+ input_type_ = INPUT_UNKNOWN;
escape_.clear();
escape_['&'] = "&amp;";
diff --git a/compiler/cpp/src/generate/t_java_generator.cc b/compiler/cpp/src/generate/t_java_generator.cc
index 7c610fb8f..419a461d6 100644
--- a/compiler/cpp/src/generate/t_java_generator.cc
+++ b/compiler/cpp/src/generate/t_java_generator.cc
@@ -58,48 +58,56 @@ public:
(void)option_string;
std::map<std::string, std::string>::const_iterator iter;
- iter = parsed_options.find("beans");
- bean_style_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("android");
- android_style_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("private-members");
- private_members_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("nocamel");
- nocamel_style_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("fullcamel");
- fullcamel_style_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("android_legacy");
- android_legacy_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("sorted_containers");
- sorted_containers_ = (iter != parsed_options.end());
+ bean_style_ = false;
+ android_style_ = false;
+ private_members_ = false;
+ nocamel_style_ = false;
+ fullcamel_style_ = false;
+ android_legacy_ = false;
+ sorted_containers_ = false;
+ java5_ = false;
+ reuse_objects_ = false;
+ use_option_type_ = false;
+ undated_generated_annotations_ = false;
+ suppress_generated_annotations_ = false;
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ if( iter->first.compare("beans") == 0) {
+ bean_style_ = true;
+ } else if( iter->first.compare("android") == 0) {
+ android_style_ = true;
+ } else if( iter->first.compare("private-members") == 0) {
+ private_members_ = true;
+ } else if( iter->first.compare("nocamel") == 0) {
+ nocamel_style_ = true;
+ } else if( iter->first.compare("fullcamel") == 0) {
+ fullcamel_style_ = true;
+ } else if( iter->first.compare("android_legacy") == 0) {
+ android_legacy_ = true;
+ } else if( iter->first.compare("sorted_containers") == 0) {
+ sorted_containers_ = true;
+ } else if( iter->first.compare("java5") == 0) {
+ java5_ = true;
+ } else if( iter->first.compare("reuse-objects") == 0) {
+ reuse_objects_ = true;
+ } else if( iter->first.compare("option_type") == 0) {
+ use_option_type_ = true;
+ } else if( iter->first.compare("generated_annotations") == 0) {
+ if( iter->second.compare("undated") == 0) {
+ undated_generated_annotations_ = true;
+ } else if(iter->second.compare("suppress") == 0) {
+ suppress_generated_annotations_ = true;
+ } else {
+ throw "unknown option java:" + iter->first + "=" + iter->second;
+ }
+ } else {
+ throw "unknown option java:" + iter->first;
+ }
+ }
- iter = parsed_options.find("java5");
- java5_ = (iter != parsed_options.end());
if (java5_) {
android_legacy_ = true;
}
- iter = parsed_options.find("reuse-objects");
- reuse_objects_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("option_type");
- use_option_type_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("generated_annotations");
- if (iter != parsed_options.end()) {
- undated_generated_annotations_ = (iter->second.compare("undated") == 0);
- suppress_generated_annotations_ = (iter->second.compare("suppress") == 0);
- } else {
- undated_generated_annotations_ = false;
- suppress_generated_annotations_ = false;
- }
-
out_dir_base_ = (bean_style_ ? "gen-javabean" : "gen-java");
}
diff --git a/compiler/cpp/src/generate/t_javame_generator.cc b/compiler/cpp/src/generate/t_javame_generator.cc
index 219d24cd1..e9a206b39 100644
--- a/compiler/cpp/src/generate/t_javame_generator.cc
+++ b/compiler/cpp/src/generate/t_javame_generator.cc
@@ -52,6 +52,12 @@ public:
(void)parsed_options;
(void)option_string;
std::map<std::string, std::string>::const_iterator iter;
+
+ /* no options yet */
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ throw "unknown option javame:" + iter->first;
+ }
+
out_dir_base_ = "gen-javame";
}
diff --git a/compiler/cpp/src/generate/t_js_generator.cc b/compiler/cpp/src/generate/t_js_generator.cc
index cb0e181ba..af0f28426 100644
--- a/compiler/cpp/src/generate/t_js_generator.cc
+++ b/compiler/cpp/src/generate/t_js_generator.cc
@@ -53,20 +53,25 @@ public:
const std::string& option_string)
: t_oop_generator(program) {
(void)option_string;
-
std::map<std::string, std::string>::const_iterator iter;
- iter = parsed_options.find("node");
- gen_node_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("jquery");
- gen_jquery_ = (iter != parsed_options.end());
+ gen_node_ = false;
+ gen_jquery_ = false;
+ gen_ts_ = false;
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ if( iter->first.compare("node") == 0) {
+ gen_node_ = true;
+ } else if( iter->first.compare("jquery") == 0) {
+ gen_jquery_ = true;
+ } else if( iter->first.compare("ts") == 0) {
+ gen_ts_ = true;
+ } else {
+ throw "unknown option js:" + iter->first;
+ }
+ }
- if (!gen_node_) {
- iter = parsed_options.find("ts");
- gen_ts_ = (iter != parsed_options.end());
- } else {
- gen_ts_ = false;
+ if (gen_node_ && gen_ts_) {
+ throw "Invalid switch: [-gen js:node,ts] options not compatible";
}
if (gen_node_ && gen_jquery_) {
diff --git a/compiler/cpp/src/generate/t_json_generator.cc b/compiler/cpp/src/generate/t_json_generator.cc
index 10aaa64f1..447bc6d00 100644
--- a/compiler/cpp/src/generate/t_json_generator.cc
+++ b/compiler/cpp/src/generate/t_json_generator.cc
@@ -53,13 +53,19 @@ 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-json";
-
std::map<std::string, std::string>::const_iterator iter;
- iter = parsed_options.find("merge");
- should_merge_includes_ = (iter != parsed_options.end());
+
+ should_merge_includes_ = false;
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ if( iter->first.compare("merge") == 0) {
+ should_merge_includes_ = true;
+ } else {
+ throw "unknown option json:" + iter->first;
+ }
+ }
+
+ out_dir_base_ = "gen-json";
}
virtual ~t_json_generator() {}
diff --git a/compiler/cpp/src/generate/t_lua_generator.cc b/compiler/cpp/src/generate/t_lua_generator.cc
index 5a674e419..c6fb4934e 100644
--- a/compiler/cpp/src/generate/t_lua_generator.cc
+++ b/compiler/cpp/src/generate/t_lua_generator.cc
@@ -41,8 +41,14 @@ public:
(void)option_string;
std::map<std::string, std::string>::const_iterator iter;
- iter = parsed_options.find("omit_requires");
- gen_requires_ = (iter == parsed_options.end());
+ gen_requires_ = true;
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ if( iter->first.compare("omit_requires") == 0) {
+ gen_requires_ = false;
+ } else {
+ throw "unknown option lua:" + iter->first;
+ }
+ }
out_dir_base_ = "gen-lua";
}
@@ -1126,4 +1132,7 @@ string t_lua_generator::type_to_enum(t_type* type) {
throw "INVALID TYPE IN type_to_enum: " + type->get_name();
}
-THRIFT_REGISTER_GENERATOR(lua, "Lua", "")
+THRIFT_REGISTER_GENERATOR(
+ lua,
+ "Lua",
+ " omit_requires: Suppress generation of require 'somefile'.\n")
diff --git a/compiler/cpp/src/generate/t_ocaml_generator.cc b/compiler/cpp/src/generate/t_ocaml_generator.cc
index 64e89e796..fc82ebca4 100644
--- a/compiler/cpp/src/generate/t_ocaml_generator.cc
+++ b/compiler/cpp/src/generate/t_ocaml_generator.cc
@@ -50,8 +50,14 @@ public:
const std::map<std::string, std::string>& parsed_options,
const std::string& option_string)
: t_oop_generator(program) {
- (void)parsed_options;
(void)option_string;
+ std::map<std::string, std::string>::const_iterator iter;
+
+ /* no options yet */
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ throw "unknown option ocaml:" + iter->first;
+ }
+
out_dir_base_ = "gen-ocaml";
}
diff --git a/compiler/cpp/src/generate/t_perl_generator.cc b/compiler/cpp/src/generate/t_perl_generator.cc
index 3f247e01d..45cfe4bec 100644
--- a/compiler/cpp/src/generate/t_perl_generator.cc
+++ b/compiler/cpp/src/generate/t_perl_generator.cc
@@ -49,8 +49,14 @@ public:
const std::map<std::string, std::string>& parsed_options,
const std::string& option_string)
: t_oop_generator(program) {
- (void)parsed_options;
(void)option_string;
+ std::map<std::string, std::string>::const_iterator iter;
+
+ /* no options yet */
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ throw "unknown option perl:" + iter->first;
+ }
+
out_dir_base_ = "gen-perl";
escape_['$'] = "\\$";
escape_['@'] = "\\@";
diff --git a/compiler/cpp/src/generate/t_php_generator.cc b/compiler/cpp/src/generate/t_php_generator.cc
index 0c255ec42..9f79337bd 100644
--- a/compiler/cpp/src/generate/t_php_generator.cc
+++ b/compiler/cpp/src/generate/t_php_generator.cc
@@ -55,29 +55,31 @@ public:
(void)option_string;
std::map<std::string, std::string>::const_iterator iter;
- iter = parsed_options.find("inlined");
- binary_inline_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("rest");
- rest_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("server");
- phps_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("oop");
- oop_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("validate");
- validate_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("json");
- json_serializable_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("nsglobal");
- if (iter != parsed_options.end()) {
- nsglobal_ = iter->second;
- } else {
- nsglobal_ = ""; // by default global namespace is empty
+ binary_inline_ = false;
+ rest_ = false;
+ phps_ = false;
+ oop_ = false;
+ validate_ = false;
+ json_serializable_ = false;
+ nsglobal_ = ""; // by default global namespace is empty
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ if( iter->first.compare("inlined") == 0) {
+ binary_inline_ = true;
+ } else if( iter->first.compare("rest") == 0) {
+ rest_ = true;
+ } else if( iter->first.compare("server") == 0) {
+ phps_ = true;
+ } else if( iter->first.compare("oop") == 0) {
+ oop_ = true;
+ } else if( iter->first.compare("validate") == 0) {
+ validate_ = true;
+ } else if( iter->first.compare("json") == 0) {
+ json_serializable_ = true;
+ } else if( iter->first.compare("nsglobal") == 0) {
+ nsglobal_ = iter->second;
+ } else {
+ throw "unknown option php:" + iter->first;
+ }
}
if (oop_ && binary_inline_) {
diff --git a/compiler/cpp/src/generate/t_py_generator.cc b/compiler/cpp/src/generate/t_py_generator.cc
index d1e2fa39e..4ebbe8941 100644
--- a/compiler/cpp/src/generate/t_py_generator.cc
+++ b/compiler/cpp/src/generate/t_py_generator.cc
@@ -50,85 +50,76 @@ public:
const std::map<std::string, std::string>& parsed_options,
const std::string& option_string)
: t_generator(program) {
- (void)option_string;
std::map<std::string, std::string>::const_iterator iter;
- iter = parsed_options.find("new_style");
- if (iter != parsed_options.end()) {
- pwarning(0, "new_style is enabled by default, so the option will be removed in the near future.\n");
- }
- iter = parsed_options.find("utf8strings");
- if (iter != parsed_options.end()) {
- pwarning(0, "utf8strings is enabled by default, so the option will be removed in the near future.\n");
- }
gen_newstyle_ = true;
- iter = parsed_options.find("old_style");
- if (iter != parsed_options.end()) {
- gen_newstyle_ = false;
- pwarning(0, "old_style is deprecated and may be removed in the future.\n");
- }
-
- iter = parsed_options.find("slots");
- gen_slots_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("package_prefix");
- if (iter != parsed_options.end()) {
- package_prefix_ = iter->second;
- }
-
-
- iter = parsed_options.find("dynamic");
- gen_dynamic_ = (iter != parsed_options.end());
-
- if (gen_dynamic_) {
- gen_newstyle_ = false; // dynamic is newstyle
- gen_dynbaseclass_ = "TBase";
- gen_dynbaseclass_frozen_ = "TFrozenBase";
- gen_dynbaseclass_exc_ = "TExceptionBase";
- import_dynbase_ = "from thrift.protocol.TBase import TBase, TFrozenBase, TExceptionBase\n";
- }
-
- iter = parsed_options.find("dynbase");
- if (iter != parsed_options.end()) {
- gen_dynbase_ = true;
- gen_dynbaseclass_ = (iter->second);
- }
-
- iter = parsed_options.find("dynfrozen");
- if (iter != parsed_options.end()) {
- gen_dynbaseclass_frozen_ = (iter->second);
- }
-
- iter = parsed_options.find("dynexc");
- if (iter != parsed_options.end()) {
- gen_dynbaseclass_exc_ = (iter->second);
- }
-
- iter = parsed_options.find("dynimport");
- if (iter != parsed_options.end()) {
- gen_dynbase_ = true;
- import_dynbase_ = (iter->second);
+ gen_utf8strings_ = true;
+ gen_dynbase_ = false;
+ gen_slots_ = false;
+ gen_tornado_ = false;
+ gen_twisted_ = false;
+ gen_dynamic_ = false;
+ coding_ = "";
+ gen_dynbaseclass_ = "";
+ gen_dynbaseclass_exc_ = "";
+ gen_dynbaseclass_frozen_ = "";
+ import_dynbase_ = "";
+ package_prefix_ = "";
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ if( iter->first.compare("new_style") == 0) {
+ pwarning(0, "new_style is enabled by default, so the option will be removed in the near future.\n");
+ } else if( iter->first.compare("old_style") == 0) {
+ gen_newstyle_ = false;
+ pwarning(0, "old_style is deprecated and may be removed in the future.\n");
+ } else if( iter->first.compare("utf8strings") == 0) {
+ pwarning(0, "utf8strings is enabled by default, so the option will be removed in the near future.\n");
+ } else if( iter->first.compare("no_utf8strings") == 0) {
+ gen_utf8strings_ = false;
+ } else if( iter->first.compare("slots") == 0) {
+ gen_slots_ = true;
+ } else if( iter->first.compare("package_prefix") == 0) {
+ package_prefix_ = iter->second;
+ } else if( iter->first.compare("dynamic") == 0) {
+ gen_dynamic_ = true;
+ gen_newstyle_ = false; // dynamic is newstyle
+ if( gen_dynbaseclass_.empty()) {
+ gen_dynbaseclass_ = "TBase";
+ }
+ if( gen_dynbaseclass_frozen_.empty()) {
+ gen_dynbaseclass_frozen_ = "TFrozenBase";
+ }
+ if( gen_dynbaseclass_exc_.empty()) {
+ gen_dynbaseclass_exc_ = "TExceptionBase";
+ }
+ if( import_dynbase_.empty()) {
+ import_dynbase_ = "from thrift.protocol.TBase import TBase, TFrozenBase, TExceptionBase, TTransport\n";
+ }
+ } else if( iter->first.compare("dynbase") == 0) {
+ gen_dynbase_ = true;
+ gen_dynbaseclass_ = (iter->second);
+ } else if( iter->first.compare("dynfrozen") == 0) {
+ gen_dynbaseclass_frozen_ = (iter->second);
+ } else if( iter->first.compare("dynexc") == 0) {
+ gen_dynbaseclass_exc_ = (iter->second);
+ } else if( iter->first.compare("dynimport") == 0) {
+ gen_dynbase_ = true;
+ import_dynbase_ = (iter->second);
+ } else if( iter->first.compare("twisted") == 0) {
+ gen_twisted_ = true;
+ } else if( iter->first.compare("tornado") == 0) {
+ gen_tornado_ = true;
+ } else if( iter->first.compare("coding") == 0) {
+ coding_ = iter->second;
+ } else {
+ throw "unknown option py:" + iter->first;
+ }
}
- iter = parsed_options.find("twisted");
- gen_twisted_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("tornado");
- gen_tornado_ = (iter != parsed_options.end());
-
if (gen_twisted_ && gen_tornado_) {
throw "at most one of 'twisted' and 'tornado' are allowed";
}
- iter = parsed_options.find("no_utf8strings");
- gen_utf8strings_ = (iter == parsed_options.end());
-
- iter = parsed_options.find("coding");
- if (iter != parsed_options.end()) {
- coding_ = iter->second;
- }
-
copy_options_ = option_string;
if (gen_twisted_) {
diff --git a/compiler/cpp/src/generate/t_rb_generator.cc b/compiler/cpp/src/generate/t_rb_generator.cc
index 91bb4a9e8..49bf7e184 100644
--- a/compiler/cpp/src/generate/t_rb_generator.cc
+++ b/compiler/cpp/src/generate/t_rb_generator.cc
@@ -81,10 +81,21 @@ public:
const std::string& option_string)
: t_oop_generator(program) {
(void)option_string;
- out_dir_base_ = "gen-rb";
+ std::map<std::string, std::string>::const_iterator iter;
+
+ require_rubygems_ = false;
+ namespaced_ = false;
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ if( iter->first.compare("rubygems") == 0) {
+ require_rubygems_ = true;
+ } else if( iter->first.compare("namespaced") == 0) {
+ namespaced_ = true;
+ } else {
+ throw "unknown option ruby:" + iter->first;
+ }
+ }
- require_rubygems_ = (parsed_options.find("rubygems") != parsed_options.end());
- namespaced_ = (parsed_options.find("namespaced") != parsed_options.end());
+ out_dir_base_ = "gen-rb";
}
/**
diff --git a/compiler/cpp/src/generate/t_st_generator.cc b/compiler/cpp/src/generate/t_st_generator.cc
index 7df80a2ae..bc15d24f3 100644
--- a/compiler/cpp/src/generate/t_st_generator.cc
+++ b/compiler/cpp/src/generate/t_st_generator.cc
@@ -55,8 +55,14 @@ public:
const std::map<std::string, std::string>& parsed_options,
const std::string& option_string)
: t_oop_generator(program) {
- (void)parsed_options;
(void)option_string;
+ std::map<std::string, std::string>::const_iterator iter;
+
+ /* no options yet */
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ throw "unknown option st:" + iter->first;
+ }
+
out_dir_base_ = "gen-st";
}
diff --git a/compiler/cpp/src/generate/t_swift_generator.cc b/compiler/cpp/src/generate/t_swift_generator.cc
index c3cacd58b..4b339933e 100644
--- a/compiler/cpp/src/generate/t_swift_generator.cc
+++ b/compiler/cpp/src/generate/t_swift_generator.cc
@@ -52,18 +52,25 @@ public:
(void)option_string;
map<string, string>::const_iterator iter;
- iter = parsed_options.find("log_unexpected");
- log_unexpected_ = (iter != parsed_options.end());
+ log_unexpected_ = false;
+ async_clients_ = false;
+ promise_kit_ = false;
+ debug_descriptions_ = false;
+
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ if( iter->first.compare("log_unexpected") == 0) {
+ log_unexpected_ = true;
+ } else if( iter->first.compare("async_clients") == 0) {
+ async_clients_ = true;
+ } else if( iter->first.compare("promise_kit") == 0) {
+ promise_kit_ = true;
+ } else if( iter->first.compare("debug_descriptions") == 0) {
+ debug_descriptions_ = true;
+ } else {
+ throw "unknown option swift:" + iter->first;
+ }
+ }
- iter = parsed_options.find("async_clients");
- async_clients_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("promise_kit");
- promise_kit_ = (iter != parsed_options.end());
-
- iter = parsed_options.find("debug_descriptions");
- debug_descriptions_ = (iter != parsed_options.end());
-
out_dir_base_ = "gen-swift";
}
@@ -2141,5 +2148,7 @@ THRIFT_REGISTER_GENERATOR(
swift,
"Swift",
" log_unexpected: Log every time an unexpected field ID or type is encountered.\n"
+ " debug_descriptions:\n"
+ " Allow use of debugDescription so the app can add description via a cateogory/extension\n"
" async_clients: Generate clients which invoke asynchronously via block syntax.\n"
" promise_kit: Generate clients which invoke asynchronously via promises.\n")
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() {}
diff --git a/compiler/cpp/src/generate/t_xsd_generator.cc b/compiler/cpp/src/generate/t_xsd_generator.cc
index cf7937a9e..2de860a39 100644
--- a/compiler/cpp/src/generate/t_xsd_generator.cc
+++ b/compiler/cpp/src/generate/t_xsd_generator.cc
@@ -48,8 +48,14 @@ public:
const std::map<std::string, std::string>& parsed_options,
const std::string& option_string)
: t_generator(program) {
- (void)parsed_options;
(void)option_string;
+ std::map<std::string, std::string>::const_iterator iter;
+
+ /* no options yet */
+ for( iter = parsed_options.begin(); iter != parsed_options.end(); ++iter) {
+ throw "unknown option xsd:" + iter->first;
+ }
+
out_dir_base_ = "gen-xsd";
}
diff --git a/contrib/thrift-maven-plugin/src/main/java/org/apache/thrift/maven/AbstractThriftMojo.java b/contrib/thrift-maven-plugin/src/main/java/org/apache/thrift/maven/AbstractThriftMojo.java
index cc319bae5..0913c77cd 100644
--- a/contrib/thrift-maven-plugin/src/main/java/org/apache/thrift/maven/AbstractThriftMojo.java
+++ b/contrib/thrift-maven-plugin/src/main/java/org/apache/thrift/maven/AbstractThriftMojo.java
@@ -93,7 +93,7 @@ abstract class AbstractThriftMojo extends AbstractMojo {
* it will generate Java output. The main reason for this option is to be able to add options
* to the Java generator - if you generate something else, you're on your own.
*
- * @parameter default-value="java:hashcode"
+ * @parameter default-value="java"
*/
private String generator;
diff --git a/contrib/thrift-maven-plugin/src/test/java/org/apache/thrift/maven/TestThrift.java b/contrib/thrift-maven-plugin/src/test/java/org/apache/thrift/maven/TestThrift.java
index 3ecd094ea..7c7891edf 100644
--- a/contrib/thrift-maven-plugin/src/test/java/org/apache/thrift/maven/TestThrift.java
+++ b/contrib/thrift-maven-plugin/src/test/java/org/apache/thrift/maven/TestThrift.java
@@ -73,7 +73,7 @@ public class TestThrift {
@Test
public void testThriftCompileWithGeneratorOption() throws Exception {
- builder.setGenerator("java:private-members,hashcode");
+ builder.setGenerator("java:private-members");
executeThriftCompile();
}
diff --git a/lib/java/build.xml b/lib/java/build.xml
index 2dc7ebe11..62680b79c 100755
--- a/lib/java/build.xml
+++ b/lib/java/build.xml
@@ -261,25 +261,25 @@
<target name="generate">
<!-- Generate the thrift gen-java source -->
<exec executable="../../compiler/cpp/thrift" failonerror="true">
- <arg line="--gen java:hashcode ${test.thrift.home}/ThriftTest.thrift"/>
+ <arg line="--gen java ${test.thrift.home}/ThriftTest.thrift"/>
</exec>
<exec executable="../../compiler/cpp/thrift" failonerror="true">
- <arg line="--gen java:hashcode ${test.thrift.home}/DebugProtoTest.thrift"/>
+ <arg line="--gen java ${test.thrift.home}/DebugProtoTest.thrift"/>
</exec>
<exec executable="../../compiler/cpp/thrift" failonerror="true">
- <arg line="--gen java:hashcode ${test.thrift.home}/OptionalRequiredTest.thrift"/>
+ <arg line="--gen java ${test.thrift.home}/OptionalRequiredTest.thrift"/>
</exec>
<exec executable="../../compiler/cpp/thrift" failonerror="true">
<arg line="--gen java:beans,nocamel ${test.thrift.home}/JavaBeansTest.thrift"/>
</exec>
<exec executable="../../compiler/cpp/thrift" failonerror="true">
- <arg line="--gen java:hashcode ${test.thrift.home}/ManyOptionals.thrift"/>
+ <arg line="--gen java ${test.thrift.home}/ManyOptionals.thrift"/>
</exec>
<exec executable="mkdir" failonerror="true">
<arg line="-p ${genfullcamel}"/>
</exec>
<exec executable="../../compiler/cpp/thrift" failonerror="true">
- <arg line="--gen java:hashcode,fullcamel -out ${genfullcamel} ${test.thrift.home}/FullCamelTest.thrift"/>
+ <arg line="--gen java:fullcamel -out ${genfullcamel} ${test.thrift.home}/FullCamelTest.thrift"/>
</exec>
<exec executable="mkdir" failonerror="true">
<arg line="-p ${genreuse}"/>