aboutsummaryrefslogtreecommitdiffstats
path: root/src/google/protobuf/unittest_extension_nano.proto
diff options
context:
space:
mode:
authorMax Cai <maxtroy@google.com>2013-11-20 18:59:01 +0000
committerMax Cai <maxtroy@google.com>2014-01-10 11:50:32 +0000
commit382ddccb550e1c822ef26a0e65988998f7446624 (patch)
tree5159c510e6a895f4ce56310b8f23b7bb4aafc2f0 /src/google/protobuf/unittest_extension_nano.proto
parente7741c064ee4cdc5fa41e6444ed45131672fed97 (diff)
downloadexternal_protobuf-382ddccb550e1c822ef26a0e65988998f7446624.zip
external_protobuf-382ddccb550e1c822ef26a0e65988998f7446624.tar.gz
external_protobuf-382ddccb550e1c822ef26a0e65988998f7446624.tar.bz2
Extension overhaul.
- Get rid of TypeLiteral<T>. It was introduced to read the component type of a List<T> at runtime. But we use arrays everywhere else, and we can always read the component type of an array type at runtime. - Properly read/write "minor" types (e.g. sint32, sfixed32). The old implementation could only read/write data as the "typical" types (one per Java type), e.g. java.lang.Integer -> int32, java.lang.Long -> int64. So if e.g. an extension specifies sfixed32 as the type, it would be read/written in the totally incompatible int32 format. - Properly serialize repeated packed fields. The old implementation doesn't do packed serialization. As an added bonus, and to be more aligned with the rest of protobuf nano / main, repeated packable extensions can deserialize both packed and non-packed data. - Split Extension class into a hierarchy so under typical usage a large chunk of code dealing with primitive type extensions can be removed by ProGuard. Bug: https://code.google.com/p/android/issues/detail?id=62586 Change-Id: I0d692f35cc2a8ad3a5a1cb3ce001282b2356b041
Diffstat (limited to 'src/google/protobuf/unittest_extension_nano.proto')
-rw-r--r--src/google/protobuf/unittest_extension_nano.proto21
1 files changed, 2 insertions, 19 deletions
diff --git a/src/google/protobuf/unittest_extension_nano.proto b/src/google/protobuf/unittest_extension_nano.proto
index 104cfa7..0a775f4 100644
--- a/src/google/protobuf/unittest_extension_nano.proto
+++ b/src/google/protobuf/unittest_extension_nano.proto
@@ -18,31 +18,14 @@ message AnotherMessage {
optional bool value = 2;
}
-extend ExtendableMessage {
- optional string some_string = 10;
- optional int32 some_int = 11;
- optional int64 some_long = 12;
- optional float some_float = 13;
- optional double some_double = 14;
- optional bool some_bool = 15;
- optional AnEnum some_enum = 16;
- optional AnotherMessage some_message = 17;
- repeated string some_repeated_string = 18;
- repeated int32 some_repeated_int = 19;
- repeated int64 some_repeated_long = 20;
- repeated float some_repeated_float = 21;
- repeated double some_repeated_double = 22;
- repeated bool some_repeated_bool = 23;
- repeated AnEnum some_repeated_enum = 24;
- repeated AnotherMessage some_repeated_message = 25;
-}
-
message ContainerMessage {
extend ExtendableMessage {
optional bool another_thing = 100;
}
}
+// For testNanoOptionalGroupWithUnknownFieldsEnabled;
+// not part of the extensions tests.
message MessageWithGroup {
optional group Group = 1 {
optional int32 a = 2;