diff options
author | Max Cai <maxtroy@google.com> | 2013-11-20 18:59:01 +0000 |
---|---|---|
committer | Max Cai <maxtroy@google.com> | 2014-01-10 11:50:32 +0000 |
commit | 382ddccb550e1c822ef26a0e65988998f7446624 (patch) | |
tree | 5159c510e6a895f4ce56310b8f23b7bb4aafc2f0 /src/google/protobuf/compiler/javanano/javanano_primitive_field.cc | |
parent | e7741c064ee4cdc5fa41e6444ed45131672fed97 (diff) | |
download | external_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/compiler/javanano/javanano_primitive_field.cc')
-rw-r--r-- | src/google/protobuf/compiler/javanano/javanano_primitive_field.cc | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/src/google/protobuf/compiler/javanano/javanano_primitive_field.cc b/src/google/protobuf/compiler/javanano/javanano_primitive_field.cc index 3428f69..06c0b8b 100644 --- a/src/google/protobuf/compiler/javanano/javanano_primitive_field.cc +++ b/src/google/protobuf/compiler/javanano/javanano_primitive_field.cc @@ -54,26 +54,6 @@ using internal::WireFormatLite; namespace { -const char* PrimitiveTypeName(JavaType type) { - switch (type) { - case JAVATYPE_INT : return "int"; - case JAVATYPE_LONG : return "long"; - case JAVATYPE_FLOAT : return "float"; - case JAVATYPE_DOUBLE : return "double"; - case JAVATYPE_BOOLEAN: return "boolean"; - case JAVATYPE_STRING : return "java.lang.String"; - case JAVATYPE_BYTES : return "byte[]"; - case JAVATYPE_ENUM : return NULL; - case JAVATYPE_MESSAGE: return NULL; - - // No default because we want the compiler to complain if any new - // JavaTypes are added. - } - - GOOGLE_LOG(FATAL) << "Can't get here."; - return NULL; -} - bool IsReferenceType(JavaType type) { switch (type) { case JAVATYPE_INT : return false; |