aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMax Cai <maxtroy@google.com>2013-10-11 16:41:41 +0100
committerMax Cai <maxtroy@google.com>2013-10-11 16:44:40 +0100
commit0652d7017400e5a09fa3d6702de7e5b8980843a4 (patch)
tree11115e24bff2bc7d93f8eb7908b299044fd0bf10 /src
parent3289fe1a86f311756923afeda88db0108228927a (diff)
downloadprotobuf-0652d7017400e5a09fa3d6702de7e5b8980843a4.tar.gz
protobuf-0652d7017400e5a09fa3d6702de7e5b8980843a4.tar.bz2
protobuf-0652d7017400e5a09fa3d6702de7e5b8980843a4.zip
Remove all field initializers and let ctor call clear().
The field initializers have basically caused the compiled <init> method to inline the whole clear() method, which means if ProGuard is not used or failed to inline or remove clear(), there are two big chunks of code that do the same thing. So why not just call clear() from the ctor. Change-Id: Ief71e2b03db2e059b3bfa98309649368089ffab0
Diffstat (limited to 'src')
-rw-r--r--src/google/protobuf/compiler/javanano/javanano_enum_field.cc8
-rw-r--r--src/google/protobuf/compiler/javanano/javanano_message.cc6
-rw-r--r--src/google/protobuf/compiler/javanano/javanano_message_field.cc9
-rw-r--r--src/google/protobuf/compiler/javanano/javanano_primitive_field.cc9
4 files changed, 18 insertions, 14 deletions
diff --git a/src/google/protobuf/compiler/javanano/javanano_enum_field.cc b/src/google/protobuf/compiler/javanano/javanano_enum_field.cc
index acb8dc2d..420d3c2d 100644
--- a/src/google/protobuf/compiler/javanano/javanano_enum_field.cc
+++ b/src/google/protobuf/compiler/javanano/javanano_enum_field.cc
@@ -89,11 +89,11 @@ EnumFieldGenerator::~EnumFieldGenerator() {}
void EnumFieldGenerator::
GenerateMembers(io::Printer* printer) const {
printer->Print(variables_,
- "public $type$ $name$ = $default$;\n");
+ "public $type$ $name$;\n");
if (params_.generate_has()) {
printer->Print(variables_,
- "public boolean has$capitalized_name$ = false;\n");
+ "public boolean has$capitalized_name$;\n");
}
}
@@ -178,7 +178,7 @@ AccessorEnumFieldGenerator::~AccessorEnumFieldGenerator() {}
void AccessorEnumFieldGenerator::
GenerateMembers(io::Printer* printer) const {
printer->Print(variables_,
- "private int $name$_ = $default$;\n"
+ "private int $name$_;\n"
"public int get$capitalized_name$() {\n"
" return $name$_;\n"
"}\n"
@@ -241,7 +241,7 @@ RepeatedEnumFieldGenerator::~RepeatedEnumFieldGenerator() {}
void RepeatedEnumFieldGenerator::
GenerateMembers(io::Printer* printer) const {
printer->Print(variables_,
- "public $type$[] $name$ = $repeated_default$;\n");
+ "public $type$[] $name$;\n");
if (descriptor_->options().packed()) {
printer->Print(variables_,
"private int $name$MemoizedSerializedSize;\n");
diff --git a/src/google/protobuf/compiler/javanano/javanano_message.cc b/src/google/protobuf/compiler/javanano/javanano_message.cc
index c9ea654e..420405d2 100644
--- a/src/google/protobuf/compiler/javanano/javanano_message.cc
+++ b/src/google/protobuf/compiler/javanano/javanano_message.cc
@@ -144,7 +144,9 @@ void MessageGenerator::Generate(io::Printer* printer) {
printer->Indent();
printer->Print(
"public static final $classname$ EMPTY_ARRAY[] = {};\n"
- "public $classname$() {}\n"
+ "public $classname$() {\n"
+ " clear();\n"
+ "}\n"
"\n",
"classname", descriptor_->name());
@@ -244,7 +246,7 @@ GenerateMessageSerializationMethods(io::Printer* printer) {
printer->Print(
"}\n"
"\n"
- "private int cachedSize = -1;\n"
+ "private int cachedSize;\n"
"@Override\n"
"public int getCachedSize() {\n"
" if (cachedSize < 0) {\n"
diff --git a/src/google/protobuf/compiler/javanano/javanano_message_field.cc b/src/google/protobuf/compiler/javanano/javanano_message_field.cc
index 02dbdb17..277eb4e1 100644
--- a/src/google/protobuf/compiler/javanano/javanano_message_field.cc
+++ b/src/google/protobuf/compiler/javanano/javanano_message_field.cc
@@ -84,7 +84,7 @@ MessageFieldGenerator::~MessageFieldGenerator() {}
void MessageFieldGenerator::
GenerateMembers(io::Printer* printer) const {
printer->Print(variables_,
- "public $type$ $name$ = null;\n");
+ "public $type$ $name$;\n");
}
void MessageFieldGenerator::
@@ -144,7 +144,7 @@ AccessorMessageFieldGenerator::~AccessorMessageFieldGenerator() {}
void AccessorMessageFieldGenerator::
GenerateMembers(io::Printer* printer) const {
printer->Print(variables_,
- "private $type$ $name$_ = null;\n"
+ "private $type$ $name$_;\n"
"public $type$ get$capitalized_name$() {\n"
" return $name$_;\n"
"}\n"
@@ -218,7 +218,7 @@ RepeatedMessageFieldGenerator::~RepeatedMessageFieldGenerator() {}
void RepeatedMessageFieldGenerator::
GenerateMembers(io::Printer* printer) const {
printer->Print(variables_,
- "public $type$[] $name$ = $type$.EMPTY_ARRAY;\n");
+ "public $type$[] $name$;\n");
}
void RepeatedMessageFieldGenerator::
@@ -231,7 +231,8 @@ void RepeatedMessageFieldGenerator::
GenerateMergingCode(io::Printer* printer) const {
// First, figure out the length of the array, then parse.
printer->Print(variables_,
- "int arrayLength = com.google.protobuf.nano.WireFormatNano.getRepeatedFieldArrayLength(input, $tag$);\n"
+ "int arrayLength = com.google.protobuf.nano.WireFormatNano"
+ " .getRepeatedFieldArrayLength(input, $tag$);\n"
"int i = this.$name$.length;\n"
"$type$[] newArray = new $type$[i + arrayLength];\n"
"System.arraycopy(this.$name$, 0, newArray, 0, i);\n"
diff --git a/src/google/protobuf/compiler/javanano/javanano_primitive_field.cc b/src/google/protobuf/compiler/javanano/javanano_primitive_field.cc
index d71b30b2..f5e27d60 100644
--- a/src/google/protobuf/compiler/javanano/javanano_primitive_field.cc
+++ b/src/google/protobuf/compiler/javanano/javanano_primitive_field.cc
@@ -315,7 +315,7 @@ GenerateMembers(io::Printer* printer) const {
}
printer->Print(variables_,
- "public $type$ $name$ = $default_copy_if_needed$;\n");
+ "public $type$ $name$;\n");
if (params_.generate_has()) {
printer->Print(variables_,
@@ -427,7 +427,7 @@ GenerateMembers(io::Printer* printer) const {
"private static final $type$ $default_constant$ = $default_constant_value$;\n");
}
printer->Print(variables_,
- "private $type$ $name$_ = $default_copy_if_needed$;\n"
+ "private $type$ $name$_;\n"
"public $type$ get$capitalized_name$() {\n"
" return $name$_;\n"
"}\n"
@@ -495,7 +495,7 @@ RepeatedPrimitiveFieldGenerator::~RepeatedPrimitiveFieldGenerator() {}
void RepeatedPrimitiveFieldGenerator::
GenerateMembers(io::Printer* printer) const {
printer->Print(variables_,
- "public $type$[] $name$ = $default$;\n");
+ "public $type$[] $name$;\n");
}
void RepeatedPrimitiveFieldGenerator::
@@ -526,7 +526,8 @@ GenerateMergingCode(io::Printer* printer) const {
"input.popLimit(limit);\n");
} else {
printer->Print(variables_,
- "int arrayLength = com.google.protobuf.nano.WireFormatNano.getRepeatedFieldArrayLength(input, $tag$);\n"
+ "int arrayLength = com.google.protobuf.nano.WireFormatNano\n"
+ " .getRepeatedFieldArrayLength(input, $tag$);\n"
"int i = this.$name$.length;\n");
if (GetJavaType(descriptor_) == JAVATYPE_BYTES) {