Skip to content

Commit 5941bd1

Browse files
authored
Merge pull request #8422 from haberman/sync-stage
Integrate from Piper for C++, Java, and Python
2 parents 617e255 + 9daba36 commit 5941bd1

File tree

101 files changed

+1256
-739
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+1256
-739
lines changed

CHANGES.txt

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,32 @@ Unreleased Changes (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
99
* For iterator-pair function parameter types, take both iterators by value.
1010
* Code-space savings and perhaps some modest performance improvements in
1111
RepeatedPtrField.
12+
* Eliminate nullptr check from every tag parse.
13+
* Remove unused _$name$_cached_byte_size_ fields.
14+
* Serialize extension ranges together when not broken by a proto field in the
15+
middle.
16+
* Do out-of-line allocation and deallocation of string object in ArenaString.
17+
* Streamline ParseContext::ParseMessage<T> to avoid code bloat and improve
18+
performance.
19+
* New member functions RepeatedField::Assign, RepeatedPtrField::{Add, Assign}.
20+
* Fix undefined behavior warning due to innocuous uninitialization of value
21+
on an error path.
22+
* Avoid expensive inlined code space for encoding message length for messages
23+
>= 128 bytes and instead do a procedure call to a shared out-of-line routine.
1224

1325
Java:
14-
* Exceptions thrown while reading from an InputStream in parseFrom are now included as causes.
26+
* Exceptions thrown while reading from an InputStream in parseFrom are now
27+
included as causes.
28+
* Support potentially more efficient proto parsing from RopeByteStrings.
29+
* Clarify runtime of ByteString.Output.toStringBuffer().
30+
31+
Python
32+
* Fixed a bug in text format where a trailing colon was printed for repeated field.
33+
* When TextFormat encounters a duplicate message map key, replace the current
34+
one instead of merging.
35+
36+
JavaScript
37+
* Make Any.pack() chainable.
1538

1639
2021-03-10 version 3.15.6 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1740

Makefile.am

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -529,7 +529,6 @@ java_EXTRA_DIST=
529529
java/core/src/test/proto/com/google/protobuf/test_check_utf8.proto \
530530
java/core/src/test/proto/com/google/protobuf/test_check_utf8_size.proto \
531531
java/core/src/test/proto/com/google/protobuf/test_custom_options.proto \
532-
java/core/src/test/proto/com/google/protobuf/test_extra_interfaces.proto \
533532
java/core/src/test/proto/com/google/protobuf/wrappers_test.proto \
534533
java/lite.md \
535534
java/lite/BUILD \

conformance/text_format_conformance_suite.cc

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -451,6 +451,27 @@ void TextFormatConformanceTestSuite::RunSuiteImpl() {
451451
}
452452
)",
453453
prototype);
454+
455+
prototype.Clear();
456+
ConformanceRequestSetting setting_map(
457+
REQUIRED, conformance::TEXT_FORMAT, conformance::PROTOBUF,
458+
conformance::TEXT_FORMAT_TEST, prototype, "DuplicateMapKey", R"(
459+
map_string_nested_message {
460+
key: "duplicate"
461+
value: { a: 123 }
462+
}
463+
map_string_nested_message {
464+
key: "duplicate"
465+
value: { corecursive: {} }
466+
}
467+
)");
468+
// The last-specified value will be retained in a parsed map
469+
RunValidInputTest(setting_map, R"(
470+
map_string_nested_message {
471+
key: "duplicate"
472+
value: { corecursive: {} }
473+
}
474+
)");
454475
}
455476

456477
} // namespace protobuf
163 Bytes
Binary file not shown.

csharp/src/Google.Protobuf/Reflection/Descriptor.cs

Lines changed: 48 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -107,57 +107,58 @@ static DescriptorReflection() {
107107
"eV9wYWNrYWdlGC0gASgJEkMKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMo",
108108
"CzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uIjoKDE9w",
109109
"dGltaXplTW9kZRIJCgVTUEVFRBABEg0KCUNPREVfU0laRRACEhAKDExJVEVf",
110-
"UlVOVElNRRADKgkI6AcQgICAgAJKBAgmECci8gEKDk1lc3NhZ2VPcHRpb25z",
110+
"UlVOVElNRRADKgkI6AcQgICAgAJKBAgmECcihAIKDk1lc3NhZ2VPcHRpb25z",
111111
"EiYKF21lc3NhZ2Vfc2V0X3dpcmVfZm9ybWF0GAEgASgIOgVmYWxzZRIuCh9u",
112112
"b19zdGFuZGFyZF9kZXNjcmlwdG9yX2FjY2Vzc29yGAIgASgIOgVmYWxzZRIZ",
113113
"CgpkZXByZWNhdGVkGAMgASgIOgVmYWxzZRIRCgltYXBfZW50cnkYByABKAgS",
114114
"QwoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3Rv",
115-
"YnVmLlVuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAkoECAgQCUoECAkQ",
116-
"CiKeAwoMRmllbGRPcHRpb25zEjoKBWN0eXBlGAEgASgOMiMuZ29vZ2xlLnBy",
117-
"b3RvYnVmLkZpZWxkT3B0aW9ucy5DVHlwZToGU1RSSU5HEg4KBnBhY2tlZBgC",
118-
"IAEoCBI/CgZqc3R5cGUYBiABKA4yJC5nb29nbGUucHJvdG9idWYuRmllbGRP",
119-
"cHRpb25zLkpTVHlwZToJSlNfTk9STUFMEhMKBGxhenkYBSABKAg6BWZhbHNl",
120-
"EhkKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlEhMKBHdlYWsYCiABKAg6BWZh",
121-
"bHNlEkMKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5w",
122-
"cm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uIi8KBUNUeXBlEgoKBlNUUklO",
123-
"RxAAEggKBENPUkQQARIQCgxTVFJJTkdfUElFQ0UQAiI1CgZKU1R5cGUSDQoJ",
124-
"SlNfTk9STUFMEAASDQoJSlNfU1RSSU5HEAESDQoJSlNfTlVNQkVSEAIqCQjo",
125-
"BxCAgICAAkoECAQQBSJeCgxPbmVvZk9wdGlvbnMSQwoUdW5pbnRlcnByZXRl",
126-
"ZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0",
127-
"ZWRPcHRpb24qCQjoBxCAgICAAiKTAQoLRW51bU9wdGlvbnMSEwoLYWxsb3df",
128-
"YWxpYXMYAiABKAgSGQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2USQwoUdW5p",
129-
"bnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVu",
130-
"aW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAkoECAUQBiJ9ChBFbnVtVmFs",
131-
"dWVPcHRpb25zEhkKCmRlcHJlY2F0ZWQYASABKAg6BWZhbHNlEkMKFHVuaW50",
132-
"ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5Vbmlu",
133-
"dGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIiewoOU2VydmljZU9wdGlvbnMS",
134-
"GQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2USQwoUdW5pbnRlcnByZXRlZF9v",
135-
"cHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRP",
136-
"cHRpb24qCQjoBxCAgICAAiKtAgoNTWV0aG9kT3B0aW9ucxIZCgpkZXByZWNh",
137-
"dGVkGCEgASgIOgVmYWxzZRJfChFpZGVtcG90ZW5jeV9sZXZlbBgiIAEoDjIv",
138-
"Lmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zLklkZW1wb3RlbmN5TGV2",
139-
"ZWw6E0lERU1QT1RFTkNZX1VOS05PV04SQwoUdW5pbnRlcnByZXRlZF9vcHRp",
140-
"b24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRp",
141-
"b24iUAoQSWRlbXBvdGVuY3lMZXZlbBIXChNJREVNUE9URU5DWV9VTktOT1dO",
142-
"EAASEwoPTk9fU0lERV9FRkZFQ1RTEAESDgoKSURFTVBPVEVOVBACKgkI6AcQ",
143-
"gICAgAIingIKE1VuaW50ZXJwcmV0ZWRPcHRpb24SOwoEbmFtZRgCIAMoCzIt",
144-
"Lmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uLk5hbWVQYXJ0",
145-
"EhgKEGlkZW50aWZpZXJfdmFsdWUYAyABKAkSGgoScG9zaXRpdmVfaW50X3Zh",
146-
"bHVlGAQgASgEEhoKEm5lZ2F0aXZlX2ludF92YWx1ZRgFIAEoAxIUCgxkb3Vi",
147-
"bGVfdmFsdWUYBiABKAESFAoMc3RyaW5nX3ZhbHVlGAcgASgMEhcKD2FnZ3Jl",
148-
"Z2F0ZV92YWx1ZRgIIAEoCRozCghOYW1lUGFydBIRCgluYW1lX3BhcnQYASAC",
149-
"KAkSFAoMaXNfZXh0ZW5zaW9uGAIgAigIItUBCg5Tb3VyY2VDb2RlSW5mbxI6",
150-
"Cghsb2NhdGlvbhgBIAMoCzIoLmdvb2dsZS5wcm90b2J1Zi5Tb3VyY2VDb2Rl",
151-
"SW5mby5Mb2NhdGlvbhqGAQoITG9jYXRpb24SEAoEcGF0aBgBIAMoBUICEAES",
152-
"EAoEc3BhbhgCIAMoBUICEAESGAoQbGVhZGluZ19jb21tZW50cxgDIAEoCRIZ",
153-
"ChF0cmFpbGluZ19jb21tZW50cxgEIAEoCRIhChlsZWFkaW5nX2RldGFjaGVk",
154-
"X2NvbW1lbnRzGAYgAygJIqcBChFHZW5lcmF0ZWRDb2RlSW5mbxJBCgphbm5v",
155-
"dGF0aW9uGAEgAygLMi0uZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENvZGVJ",
156-
"bmZvLkFubm90YXRpb24aTwoKQW5ub3RhdGlvbhIQCgRwYXRoGAEgAygFQgIQ",
157-
"ARITCgtzb3VyY2VfZmlsZRgCIAEoCRINCgViZWdpbhgDIAEoBRILCgNlbmQY",
158-
"BCABKAVCfgoTY29tLmdvb2dsZS5wcm90b2J1ZkIQRGVzY3JpcHRvclByb3Rv",
159-
"c0gBWi1nb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9kZXNjcmlw",
160-
"dG9ycGL4AQGiAgNHUEKqAhpHb29nbGUuUHJvdG9idWYuUmVmbGVjdGlvbg=="));
115+
"YnVmLlVuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAkoECAQQBUoECAUQ",
116+
"BkoECAYQB0oECAgQCUoECAkQCiKeAwoMRmllbGRPcHRpb25zEjoKBWN0eXBl",
117+
"GAEgASgOMiMuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5DVHlwZToG",
118+
"U1RSSU5HEg4KBnBhY2tlZBgCIAEoCBI/CgZqc3R5cGUYBiABKA4yJC5nb29n",
119+
"bGUucHJvdG9idWYuRmllbGRPcHRpb25zLkpTVHlwZToJSlNfTk9STUFMEhMK",
120+
"BGxhenkYBSABKAg6BWZhbHNlEhkKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNl",
121+
"EhMKBHdlYWsYCiABKAg6BWZhbHNlEkMKFHVuaW50ZXJwcmV0ZWRfb3B0aW9u",
122+
"GOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9u",
123+
"Ii8KBUNUeXBlEgoKBlNUUklORxAAEggKBENPUkQQARIQCgxTVFJJTkdfUElF",
124+
"Q0UQAiI1CgZKU1R5cGUSDQoJSlNfTk9STUFMEAASDQoJSlNfU1RSSU5HEAES",
125+
"DQoJSlNfTlVNQkVSEAIqCQjoBxCAgICAAkoECAQQBSJeCgxPbmVvZk9wdGlv",
126+
"bnMSQwoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnBy",
127+
"b3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiKTAQoLRW51",
128+
"bU9wdGlvbnMSEwoLYWxsb3dfYWxpYXMYAiABKAgSGQoKZGVwcmVjYXRlZBgD",
129+
"IAEoCDoFZmFsc2USQwoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQu",
130+
"Z29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICA",
131+
"AkoECAUQBiJ9ChBFbnVtVmFsdWVPcHRpb25zEhkKCmRlcHJlY2F0ZWQYASAB",
132+
"KAg6BWZhbHNlEkMKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdv",
133+
"b2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIi",
134+
"ewoOU2VydmljZU9wdGlvbnMSGQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2US",
135+
"QwoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3Rv",
136+
"YnVmLlVuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiKtAgoNTWV0aG9k",
137+
"T3B0aW9ucxIZCgpkZXByZWNhdGVkGCEgASgIOgVmYWxzZRJfChFpZGVtcG90",
138+
"ZW5jeV9sZXZlbBgiIAEoDjIvLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRp",
139+
"b25zLklkZW1wb3RlbmN5TGV2ZWw6E0lERU1QT1RFTkNZX1VOS05PV04SQwoU",
140+
"dW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVm",
141+
"LlVuaW50ZXJwcmV0ZWRPcHRpb24iUAoQSWRlbXBvdGVuY3lMZXZlbBIXChNJ",
142+
"REVNUE9URU5DWV9VTktOT1dOEAASEwoPTk9fU0lERV9FRkZFQ1RTEAESDgoK",
143+
"SURFTVBPVEVOVBACKgkI6AcQgICAgAIingIKE1VuaW50ZXJwcmV0ZWRPcHRp",
144+
"b24SOwoEbmFtZRgCIAMoCzItLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJl",
145+
"dGVkT3B0aW9uLk5hbWVQYXJ0EhgKEGlkZW50aWZpZXJfdmFsdWUYAyABKAkS",
146+
"GgoScG9zaXRpdmVfaW50X3ZhbHVlGAQgASgEEhoKEm5lZ2F0aXZlX2ludF92",
147+
"YWx1ZRgFIAEoAxIUCgxkb3VibGVfdmFsdWUYBiABKAESFAoMc3RyaW5nX3Zh",
148+
"bHVlGAcgASgMEhcKD2FnZ3JlZ2F0ZV92YWx1ZRgIIAEoCRozCghOYW1lUGFy",
149+
"dBIRCgluYW1lX3BhcnQYASACKAkSFAoMaXNfZXh0ZW5zaW9uGAIgAigIItUB",
150+
"Cg5Tb3VyY2VDb2RlSW5mbxI6Cghsb2NhdGlvbhgBIAMoCzIoLmdvb2dsZS5w",
151+
"cm90b2J1Zi5Tb3VyY2VDb2RlSW5mby5Mb2NhdGlvbhqGAQoITG9jYXRpb24S",
152+
"EAoEcGF0aBgBIAMoBUICEAESEAoEc3BhbhgCIAMoBUICEAESGAoQbGVhZGlu",
153+
"Z19jb21tZW50cxgDIAEoCRIZChF0cmFpbGluZ19jb21tZW50cxgEIAEoCRIh",
154+
"ChlsZWFkaW5nX2RldGFjaGVkX2NvbW1lbnRzGAYgAygJIqcBChFHZW5lcmF0",
155+
"ZWRDb2RlSW5mbxJBCgphbm5vdGF0aW9uGAEgAygLMi0uZ29vZ2xlLnByb3Rv",
156+
"YnVmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90YXRpb24aTwoKQW5ub3RhdGlv",
157+
"bhIQCgRwYXRoGAEgAygFQgIQARITCgtzb3VyY2VfZmlsZRgCIAEoCRINCgVi",
158+
"ZWdpbhgDIAEoBRILCgNlbmQYBCABKAVCfgoTY29tLmdvb2dsZS5wcm90b2J1",
159+
"ZkIQRGVzY3JpcHRvclByb3Rvc0gBWi1nb29nbGUuZ29sYW5nLm9yZy9wcm90",
160+
"b2J1Zi90eXBlcy9kZXNjcmlwdG9ycGL4AQGiAgNHUEKqAhpHb29nbGUuUHJv",
161+
"dG9idWYuUmVmbGVjdGlvbg=="));
161162
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
162163
new pbr::FileDescriptor[] { },
163164
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {

java/core/src/main/java/com/google/protobuf/ByteString.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1043,8 +1043,10 @@ public synchronized void write(byte[] b, int offset, int length) {
10431043
}
10441044

10451045
/**
1046-
* Creates a byte string. Its size is the current size of this output stream and its output has
1047-
* been copied to it.
1046+
* Creates a byte string with the size and contents of this output stream. This does not create
1047+
* a new copy of the underlying bytes. If the stream size grows dynamically, the runtime is
1048+
* O(log n) in respect to the number of bytes written to the {@link Output}. If the stream size
1049+
* stays within the initial capacity, the runtime is O(1).
10481050
*
10491051
* @return the current contents of this output stream, as a byte string.
10501052
*/

java/core/src/main/java/com/google/protobuf/RopeByteString.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -603,7 +603,12 @@ protected int partialHash(int h, int offset, int length) {
603603

604604
@Override
605605
public CodedInputStream newCodedInput() {
606-
return CodedInputStream.newInstance(new RopeInputStream());
606+
// Passing along direct references to internal ByteBuffers can support more efficient parsing
607+
// via aliasing in CodedInputStream for users who wish to use it.
608+
//
609+
// Otherwise we force data copies, both in copying as an input stream and in buffering in the
610+
// CodedInputSteam.
611+
return CodedInputStream.newInstance(asReadOnlyByteBufferList(), /* bufferIsImmutable= */ true);
607612
}
608613

609614
@Override

java/core/src/test/java/com/google/protobuf/AbstractMessageTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ public void testParsingUninitialized() throws Exception {
283283
Message.Builder abstractMessageBuilder =
284284
new AbstractMessageWrapper.Builder(TestRequiredForeign.newBuilder());
285285
// mergeFrom() should not throw initialization error.
286-
abstractMessageBuilder.mergeFrom(bytes).buildPartial();
286+
Message unused1 = abstractMessageBuilder.mergeFrom(bytes).buildPartial();
287287
try {
288288
abstractMessageBuilder.mergeFrom(bytes).build();
289289
fail();
@@ -295,7 +295,7 @@ public void testParsingUninitialized() throws Exception {
295295
Message.Builder dynamicMessageBuilder =
296296
DynamicMessage.newBuilder(TestRequiredForeign.getDescriptor());
297297
// mergeFrom() should not throw initialization error.
298-
dynamicMessageBuilder.mergeFrom(bytes).buildPartial();
298+
Message unused2 = dynamicMessageBuilder.mergeFrom(bytes).buildPartial();
299299
try {
300300
dynamicMessageBuilder.mergeFrom(bytes).build();
301301
fail();

java/core/src/test/java/com/google/protobuf/DynamicMessageTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public void testSettersAfterBuild() throws Exception {
6969
Message.Builder builder = DynamicMessage.newBuilder(TestAllTypes.getDescriptor());
7070
Message firstMessage = builder.build();
7171
// double build()
72-
builder.build();
72+
Message unused = builder.build();
7373
// clear() after build()
7474
builder.clear();
7575
// setters after build()

java/core/src/test/java/com/google/protobuf/GeneratedMessageTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@
7676
*
7777
* @author [email protected] Kenton Varda
7878
*/
79+
@SuppressWarnings({"ProtoBuilderReturnValueIgnored", "ReturnValueIgnored"})
7980
public class GeneratedMessageTest extends TestCase {
8081
TestUtil.ReflectionTester reflectionTester =
8182
new TestUtil.ReflectionTester(TestAllTypes.getDescriptor(), null);

java/core/src/test/java/com/google/protobuf/MapForProto2Test.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1163,8 +1163,8 @@ public void testMapInitializationOrder() throws Exception {
11631163
}
11641164

11651165
public void testReservedWordsFieldNames() {
1166-
ReservedAsMapField.newBuilder().build();
1167-
ReservedAsMapFieldWithEnumValue.newBuilder().build();
1166+
ReservedAsMapField unused1 = ReservedAsMapField.newBuilder().build();
1167+
ReservedAsMapFieldWithEnumValue unused2 = ReservedAsMapFieldWithEnumValue.newBuilder().build();
11681168
}
11691169

11701170
public void testGetMap() {

java/core/src/test/java/com/google/protobuf/MapTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1294,8 +1294,8 @@ public void testRemove() {
12941294
}
12951295

12961296
public void testReservedWordsFieldNames() {
1297-
ReservedAsMapField.newBuilder().build();
1298-
ReservedAsMapFieldWithEnumValue.newBuilder().build();
1297+
ReservedAsMapField unused1 = ReservedAsMapField.newBuilder().build();
1298+
ReservedAsMapFieldWithEnumValue unused2 = ReservedAsMapFieldWithEnumValue.newBuilder().build();
12991299
}
13001300

13011301
public void testDeterministicSerialziation() throws Exception {

java/core/src/test/java/com/google/protobuf/TestBadIdentifiers.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,10 @@ public class TestBadIdentifiers extends TestCase {
4343

4444
public void testCompilation() {
4545
// If this compiles, it means the generation was correct.
46-
TestBadIdentifiersProto.Deprecated.newBuilder();
47-
TestBadIdentifiersProto.Override.newBuilder();
46+
TestBadIdentifiersProto.Deprecated unused1 =
47+
TestBadIdentifiersProto.Deprecated.newBuilder().build();
48+
TestBadIdentifiersProto.Override unused2 =
49+
TestBadIdentifiersProto.Override.getDefaultInstance();
4850
}
4951

5052
public void testGetDescriptor() {

java/core/src/test/java/com/google/protobuf/TestBadIdentifiersLite.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,10 @@ public final class TestBadIdentifiersLite extends TestCase {
4545

4646
public void testCompilation() {
4747
// If this compiles, it means the generation was correct.
48-
TestBadIdentifiersProto.Deprecated.newBuilder();
49-
TestBadIdentifiersProto.Override.newBuilder();
48+
TestBadIdentifiersProto.Deprecated.Builder builder1 =
49+
TestBadIdentifiersProto.Deprecated.newBuilder();
50+
TestBadIdentifiersProto.Override.Builder builder2 =
51+
TestBadIdentifiersProto.Override.newBuilder();
5052
}
5153

5254
public void testConflictingFieldNames() throws Exception {

java/core/src/test/proto/com/google/protobuf/test_extra_interfaces.proto

Lines changed: 0 additions & 56 deletions
This file was deleted.

0 commit comments

Comments
 (0)