aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorWink Saville <wink@google.com>2014-05-07 15:50:12 -0700
committerWink Saville <wink@google.com>2014-05-07 15:50:12 -0700
commit291f0484a489990b7d59a78b91792fa3d935eb5c (patch)
tree7662b57fbd0ef4ea2b6fb64444ea27e78bae9522 /java
parentde6420aa3fef9f6f85e88fd8e0c7667230d81753 (diff)
parentf65ee55561e2a5f53be6db2ce03e518e249c9e80 (diff)
downloadexternal_protobuf-291f0484a489990b7d59a78b91792fa3d935eb5c.zip
external_protobuf-291f0484a489990b7d59a78b91792fa3d935eb5c.tar.gz
external_protobuf-291f0484a489990b7d59a78b91792fa3d935eb5c.tar.bz2
Merge commit 'f65ee555' into fix-merge-conflict
* commit 'f65ee555': Change-Id: Ic1216c50b608f1609fd8a1a1a50209c4486f30a4
Diffstat (limited to 'java')
-rw-r--r--java/src/main/java/com/google/protobuf/nano/MessageNano.java17
-rw-r--r--java/src/test/java/com/google/protobuf/NanoTest.java26
2 files changed, 4 insertions, 39 deletions
diff --git a/java/src/main/java/com/google/protobuf/nano/MessageNano.java b/java/src/main/java/com/google/protobuf/nano/MessageNano.java
index d6288c9..82dc6cc 100644
--- a/java/src/main/java/com/google/protobuf/nano/MessageNano.java
+++ b/java/src/main/java/com/google/protobuf/nano/MessageNano.java
@@ -38,7 +38,7 @@ import java.io.IOException;
* @author wink@google.com Wink Saville
*/
public abstract class MessageNano {
- protected volatile int cachedSize = -1;
+ protected int cachedSize = -1;
/**
* Get the number of bytes required to encode this message.
@@ -61,18 +61,9 @@ public abstract class MessageNano {
* using getCachedSize().
*/
public int getSerializedSize() {
- int size = computeSerializedSize();
- cachedSize = size;
- return size;
- }
-
- /**
- * Computes the number of bytes required to encode this message. This does not update the
- * cached size.
- */
- protected int computeSerializedSize() {
- // This is overridden if the generated message has serialized fields.
- return 0;
+ // This is overridden if the generated message has serialized fields.
+ cachedSize = 0;
+ return 0;
}
/**
diff --git a/java/src/test/java/com/google/protobuf/NanoTest.java b/java/src/test/java/com/google/protobuf/NanoTest.java
index 00e2597..9987cac 100644
--- a/java/src/test/java/com/google/protobuf/NanoTest.java
+++ b/java/src/test/java/com/google/protobuf/NanoTest.java
@@ -105,12 +105,6 @@ public class NanoTest extends TestCase {
assertEquals(456, newMsg.d);
assertEquals(2, msg.nestedMsg.bb);
assertEquals(SimpleMessageNano.BAR, msg.defaultNestedEnum);
-
- msg.nestedMsg = null;
- assertTrue(msgSerializedSize != msg.getSerializedSize());
-
- msg.clear();
- assertEquals(0, msg.getSerializedSize());
}
public void testRecursiveMessageNano() throws Exception {
@@ -149,12 +143,6 @@ public class NanoTest extends TestCase {
assertEquals(3, newMsg.repeatedRecursiveMessageNano[0].id);
}
- public void testMessageNoFields() {
- SingleMessageNano msg = new SingleMessageNano();
- assertEquals(0, msg.getSerializedSize());
- assertEquals(0, MessageNano.toByteArray(msg).length);
- }
-
public void testNanoRequiredInt32() throws Exception {
TestAllTypesNano msg = new TestAllTypesNano();
msg.id = 123;
@@ -2910,20 +2898,6 @@ public class NanoTest extends TestCase {
assertTrue(Arrays.equals(enums, message.getExtension(RepeatedExtensions.repeatedEnum)));
}
- public void testNullExtensions() throws Exception {
- // Check that clearing the extension on an empty message is a no-op.
- Extensions.ExtendableMessage message = new Extensions.ExtendableMessage();
- message.setExtension(SingularExtensions.someMessage, null);
- assertEquals(0, MessageNano.toByteArray(message).length);
-
- // Check that the message is empty after setting and clearing an extension.
- AnotherMessage another = new AnotherMessage();
- message.setExtension(SingularExtensions.someMessage, another);
- assertTrue(MessageNano.toByteArray(message).length > 0);
- message.setExtension(SingularExtensions.someMessage, null);
- assertEquals(0, MessageNano.toByteArray(message).length);
- }
-
public void testUnknownFields() throws Exception {
// Check that we roundtrip (serialize and deserialize) unrecognized fields.
AnotherMessage message = new AnotherMessage();