Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(496)

Side by Side Diff: third_party/protobuf/java/core/src/main/java/com/google/protobuf/DynamicMessage.java

Issue 2599263002: third_party/protobuf: Update to HEAD (f52e188fe4) (Closed)
Patch Set: Address comments Created 3 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Protocol Buffers - Google's data interchange format 1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2008 Google Inc. All rights reserved. 2 // Copyright 2008 Google Inc. All rights reserved.
3 // https://developers.google.com/protocol-buffers/ 3 // https://developers.google.com/protocol-buffers/
4 // 4 //
5 // Redistribution and use in source and binary forms, with or without 5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are 6 // modification, are permitted provided that the following conditions are
7 // met: 7 // met:
8 // 8 //
9 // * Redistributions of source code must retain the above copyright 9 // * Redistributions of source code must retain the above copyright
10 // notice, this list of conditions and the following disclaimer. 10 // notice, this list of conditions and the following disclaimer.
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 @Override 290 @Override
291 public DynamicMessage parsePartialFrom( 291 public DynamicMessage parsePartialFrom(
292 CodedInputStream input, ExtensionRegistryLite extensionRegistry) 292 CodedInputStream input, ExtensionRegistryLite extensionRegistry)
293 throws InvalidProtocolBufferException { 293 throws InvalidProtocolBufferException {
294 Builder builder = newBuilder(type); 294 Builder builder = newBuilder(type);
295 try { 295 try {
296 builder.mergeFrom(input, extensionRegistry); 296 builder.mergeFrom(input, extensionRegistry);
297 } catch (InvalidProtocolBufferException e) { 297 } catch (InvalidProtocolBufferException e) {
298 throw e.setUnfinishedMessage(builder.buildPartial()); 298 throw e.setUnfinishedMessage(builder.buildPartial());
299 } catch (IOException e) { 299 } catch (IOException e) {
300 throw new InvalidProtocolBufferException(e.getMessage()) 300 throw new InvalidProtocolBufferException(e)
301 .setUnfinishedMessage(builder.buildPartial()); 301 .setUnfinishedMessage(builder.buildPartial());
302 } 302 }
303 return builder.buildPartial(); 303 return builder.buildPartial();
304 } 304 }
305 }; 305 };
306 } 306 }
307 307
308 /** Verifies that the field is a field of this message. */ 308 /** Verifies that the field is a field of this message. */
309 private void verifyContainingType(FieldDescriptor field) { 309 private void verifyContainingType(FieldDescriptor field) {
310 if (field.getContainingType() != type) { 310 if (field.getContainingType() != type) {
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
519 ensureEnumValueDescriptor(field, value); 519 ensureEnumValueDescriptor(field, value);
520 } 520 }
521 OneofDescriptor oneofDescriptor = field.getContainingOneof(); 521 OneofDescriptor oneofDescriptor = field.getContainingOneof();
522 if (oneofDescriptor != null) { 522 if (oneofDescriptor != null) {
523 int index = oneofDescriptor.getIndex(); 523 int index = oneofDescriptor.getIndex();
524 FieldDescriptor oldField = oneofCases[index]; 524 FieldDescriptor oldField = oneofCases[index];
525 if ((oldField != null) && (oldField != field)) { 525 if ((oldField != null) && (oldField != field)) {
526 fields.clearField(oldField); 526 fields.clearField(oldField);
527 } 527 }
528 oneofCases[index] = field; 528 oneofCases[index] = field;
529 } else if (field.getFile().getSyntax() == Descriptors.FileDescriptor.Synta x.PROTO3) {
530 if (!field.isRepeated()
531 && field.getJavaType() != FieldDescriptor.JavaType.MESSAGE
532 && value.equals(field.getDefaultValue())) {
533 // In proto3, setting a field to its default value is equivalent to cl earing the field.
534 fields.clearField(field);
535 return this;
536 }
529 } 537 }
530 fields.setField(field, value); 538 fields.setField(field, value);
531 return this; 539 return this;
532 } 540 }
533 541
534 @Override 542 @Override
535 public Builder clearField(FieldDescriptor field) { 543 public Builder clearField(FieldDescriptor field) {
536 verifyContainingType(field); 544 verifyContainingType(field);
537 ensureIsMutable(); 545 ensureIsMutable();
538 OneofDescriptor oneofDescriptor = field.getContainingOneof(); 546 OneofDescriptor oneofDescriptor = field.getContainingOneof();
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
667 } 675 }
668 676
669 @Override 677 @Override
670 public com.google.protobuf.Message.Builder getRepeatedFieldBuilder(FieldDesc riptor field, 678 public com.google.protobuf.Message.Builder getRepeatedFieldBuilder(FieldDesc riptor field,
671 int index) { 679 int index) {
672 throw new UnsupportedOperationException( 680 throw new UnsupportedOperationException(
673 "getRepeatedFieldBuilder() called on a dynamic message type."); 681 "getRepeatedFieldBuilder() called on a dynamic message type.");
674 } 682 }
675 } 683 }
676 } 684 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698