aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/google/protobuf/compiler/javanano/javanano_params.h
diff options
context:
space:
mode:
authorGravatar Max Cai <maxtroy@google.com>2013-09-18 17:10:31 +0100
committerGravatar Max Cai <maxtroy@google.com>2013-09-18 17:11:28 +0100
commit71766127eb51a89fd0b2aee24d76dccf0da7e2eb (patch)
tree7bee878a5be15fffefa38b1657622aa316a60fb3 /src/google/protobuf/compiler/javanano/javanano_params.h
parente43344398f43a69cda71e9ff725efd4b3cd82723 (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.h19
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