diff options
author | Max Cai <maxtroy@google.com> | 2013-09-18 17:10:31 +0100 |
---|---|---|
committer | Max Cai <maxtroy@google.com> | 2013-09-18 17:11:28 +0100 |
commit | 71766127eb51a89fd0b2aee24d76dccf0da7e2eb (patch) | |
tree | 7bee878a5be15fffefa38b1657622aa316a60fb3 /src/google/protobuf/compiler/javanano/javanano_params.h | |
parent | e43344398f43a69cda71e9ff725efd4b3cd82723 (diff) |
Add two codegen parameters to nano.
enum_style = c | java: 'c' to put the enum member int constants
at the parent scope; 'java' to create uninstantiatable shell
classes at the parent scope and put the int constants inside.
optional_field_style = default | accessors: 'default' to create
one public mutable field per optional proto field; 'accessors'
to encapsulate the generated fields behind get, set, has and
clear accessors.
This CL only contains parsing code for these two parameters.
Change-Id: Iec0c3b0f30af8eb7db328e790664306bc90be089
Diffstat (limited to 'src/google/protobuf/compiler/javanano/javanano_params.h')
-rw-r--r-- | src/google/protobuf/compiler/javanano/javanano_params.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/google/protobuf/compiler/javanano/javanano_params.h b/src/google/protobuf/compiler/javanano/javanano_params.h index 51686da5..5be5ff96 100644 --- a/src/google/protobuf/compiler/javanano/javanano_params.h +++ b/src/google/protobuf/compiler/javanano/javanano_params.h @@ -58,6 +58,8 @@ class Params { NameMap java_outer_classnames_; NameSet java_multiple_files_; bool generate_has_; + bool java_enum_style_; + bool optional_field_accessors_; public: Params(const string & base_name) : @@ -65,7 +67,9 @@ class Params { base_name_(base_name), override_java_multiple_files_(JAVANANO_MUL_UNSET), store_unknown_fields_(false), - generate_has_(false) { + generate_has_(false), + java_enum_style_(false), + optional_field_accessors_(false) { } const string& base_name() const { @@ -160,6 +164,19 @@ class Params { 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 |