Commit 19eb6da1 authored by Ulas Kirazci's avatar Ulas Kirazci Committed by Android Git Automerger

am 9e6afdf9: Merge "Add two codegen parameters to nano."

* commit '9e6afdf96f98259f89aad66367954a247b3e7817':
  Add two codegen parameters to nano.
parents 1c546a53 698f28af
...@@ -119,12 +119,23 @@ bool JavaNanoGenerator::Generate(const FileDescriptor* file, ...@@ -119,12 +119,23 @@ bool JavaNanoGenerator::Generate(const FileDescriptor* file,
} else if (options[i].first == "java_multiple_files") { } else if (options[i].first == "java_multiple_files") {
params.set_override_java_multiple_files(options[i].second == "true"); params.set_override_java_multiple_files(options[i].second == "true");
} else if (options[i].first == "java_nano_generate_has") { } else if (options[i].first == "java_nano_generate_has") {
params.set_generate_has(options[i].second == "true"); params.set_generate_has(options[i].second == "true");
} else if (options[i].first == "enum_style") {
params.set_java_enum_style(options[i].second == "java");
} else if (options[i].first == "optional_field_style") {
params.set_optional_field_accessors(options[i].second == "accessors");
} else { } else {
*error = "Ignore unknown javanano generator option: " + options[i].first; *error = "Ignore unknown javanano generator option: " + options[i].first;
} }
} }
// Check illegal parameter combinations
if (params.generate_has() && params.optional_field_accessors()) {
error->assign("java_nano_generate_has=true cannot be used in conjunction"
" with optional_field_style=accessors");
return false;
}
// ----------------------------------------------------------------- // -----------------------------------------------------------------
FileGenerator file_generator(file, params); FileGenerator file_generator(file, params);
......
...@@ -58,6 +58,8 @@ class Params { ...@@ -58,6 +58,8 @@ class Params {
NameMap java_outer_classnames_; NameMap java_outer_classnames_;
NameSet java_multiple_files_; NameSet java_multiple_files_;
bool generate_has_; bool generate_has_;
bool java_enum_style_;
bool optional_field_accessors_;
public: public:
Params(const string & base_name) : Params(const string & base_name) :
...@@ -65,7 +67,9 @@ class Params { ...@@ -65,7 +67,9 @@ class Params {
base_name_(base_name), base_name_(base_name),
override_java_multiple_files_(JAVANANO_MUL_UNSET), override_java_multiple_files_(JAVANANO_MUL_UNSET),
store_unknown_fields_(false), store_unknown_fields_(false),
generate_has_(false) { generate_has_(false),
java_enum_style_(false),
optional_field_accessors_(false) {
} }
const string& base_name() const { const string& base_name() const {
...@@ -160,6 +164,19 @@ class Params { ...@@ -160,6 +164,19 @@ class Params {
return generate_has_; return generate_has_;
} }
void set_java_enum_style(bool value) {
java_enum_style_ = value;
}
bool java_enum_style() const {
return java_enum_style_;
}
void set_optional_field_accessors(bool value) {
optional_field_accessors_ = value;
}
bool optional_field_accessors() const {
return optional_field_accessors_;
}
}; };
} // namespace javanano } // namespace javanano
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment