summaryrefslogtreecommitdiffstats
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
commit5ae438cf71487d5bc8cb5c0d0e637f976734d110 (patch)
tree688c10f285f9594d56d791d1757fc81f6c4d70ec
parentcbb08132821cb56f4e6c5e5f8a0b32f51879782a (diff)
downloadexternal_protobuf-5ae438cf71487d5bc8cb5c0d0e637f976734d110.zip
external_protobuf-5ae438cf71487d5bc8cb5c0d0e637f976734d110.tar.gz
external_protobuf-5ae438cf71487d5bc8cb5c0d0e637f976734d110.tar.bz2
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
-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 acb8dc2..420d3c2 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 c9ea654..420405d 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 02dbdb1..277eb4e 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 d71b30b..f5e27d6 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) {