GeneratedMessageV3.java
Go to the documentation of this file.
1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2008 Google Inc. All rights reserved.
3 // https://developers.google.com/protocol-buffers/
4 //
5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are
7 // met:
8 //
9 // * Redistributions of source code must retain the above copyright
10 // notice, this list of conditions and the following disclaimer.
11 // * Redistributions in binary form must reproduce the above
12 // copyright notice, this list of conditions and the following disclaimer
13 // in the documentation and/or other materials provided with the
14 // distribution.
15 // * Neither the name of Google Inc. nor the names of its
16 // contributors may be used to endorse or promote products derived from
17 // this software without specific prior written permission.
18 //
19 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 
31 package com.google.protobuf;
32 
33 import static com.google.protobuf.Internal.checkNotNull;
34 
46 // In opensource protobuf, we have versioned this GeneratedMessageV3 class to GeneratedMessageV3V3 and
47 // in the future may have GeneratedMessageV3V4 etc. This allows us to change some aspects of this
48 // class without breaking binary compatibility with old generated code that still subclasses
49 // the old GeneratedMessageV3 class. To allow these different GeneratedMessageV3V? classes to
50 // interoperate (e.g., a GeneratedMessageV3V3 object has a message extension field whose class
51 // type is GeneratedMessageV3V4), these classes still share a common parent class AbstractMessage
52 // and are using the same GeneratedMessage.GeneratedExtension class for extension definitions.
53 // Since this class becomes GeneratedMessageV3V? in opensource, we have to add an import here
54 // to be able to use GeneratedMessage.GeneratedExtension. The GeneratedExtension definition in
55 // this file is also excluded from opensource to avoid conflict.
57 import java.io.IOException;
58 import java.io.InputStream;
59 import java.io.ObjectStreamException;
60 import java.io.Serializable;
61 import java.lang.reflect.InvocationTargetException;
62 import java.lang.reflect.Method;
63 import java.util.ArrayList;
64 import java.util.Arrays;
65 import java.util.Collections;
66 import java.util.Iterator;
67 import java.util.List;
68 import java.util.Map;
69 import java.util.TreeMap;
70 
79 public abstract class GeneratedMessageV3 extends AbstractMessage
80  implements Serializable {
81  private static final long serialVersionUID = 1L;
82 
88  protected static boolean alwaysUseFieldBuilders = false;
89 
92 
93  protected GeneratedMessageV3() {
95  }
96 
97  protected GeneratedMessageV3(Builder<?> builder) {
98  unknownFields = builder.getUnknownFields();
99  }
100 
101  @Override
103  throw new UnsupportedOperationException(
104  "This is supposed to be overridden by subclasses.");
105  }
106 
113  static void enableAlwaysUseFieldBuildersForTesting() {
114  alwaysUseFieldBuilders = true;
115  }
116 
122  protected abstract FieldAccessorTable internalGetFieldAccessorTable();
123 
124  @Override
127  }
128 
130  CodedInputStream input, ExtensionRegistryLite extensionRegistry)
132  Schema<GeneratedMessageV3> schema =
133  (Schema<GeneratedMessageV3>) Protobuf.getInstance().schemaFor(this);
134  try {
135  schema.mergeFrom(this, CodedInputStreamReader.forCodedInput(input), extensionRegistry);
136  } catch (InvalidProtocolBufferException e) {
137  throw e.setUnfinishedMessage(this);
138  } catch (IOException e) {
140  }
141  schema.makeImmutable(this);
142  }
143 
151  private Map<FieldDescriptor, Object> getAllFieldsMutable(
152  boolean getBytesForString) {
153  final TreeMap<FieldDescriptor, Object> result =
154  new TreeMap<FieldDescriptor, Object>();
156  final List<FieldDescriptor> fields = descriptor.getFields();
157 
158  for (int i = 0; i < fields.size(); i++) {
159  FieldDescriptor field = fields.get(i);
160  final OneofDescriptor oneofDescriptor = field.getContainingOneof();
161 
162  /*
163  * If the field is part of a Oneof, then at maximum one field in the Oneof is set
164  * and it is not repeated. There is no need to iterate through the others.
165  */
166  if (oneofDescriptor != null) {
167  // Skip other fields in the Oneof we know are not set
168  i += oneofDescriptor.getFieldCount() - 1;
169  if (!hasOneof(oneofDescriptor)) {
170  // If no field is set in the Oneof, skip all the fields in the Oneof
171  continue;
172  }
173  // Get the pointer to the only field which is set in the Oneof
174  field = getOneofFieldDescriptor(oneofDescriptor);
175  } else {
176  // If we are not in a Oneof, we need to check if the field is set and if it is repeated
177  if (field.isRepeated()) {
178  final List<?> value = (List<?>) getField(field);
179  if (!value.isEmpty()) {
180  result.put(field, value);
181  }
182  continue;
183  }
184  if (!hasField(field)) {
185  continue;
186  }
187  }
188  // Add the field to the map
189  if (getBytesForString && field.getJavaType() == FieldDescriptor.JavaType.STRING) {
190  result.put(field, getFieldRaw(field));
191  } else {
192  result.put(field, getField(field));
193  }
194  }
195  return result;
196  }
197 
198  @Override
199  public boolean isInitialized() {
200  for (final FieldDescriptor field : getDescriptorForType().getFields()) {
201  // Check that all required fields are present.
202  if (field.isRequired()) {
203  if (!hasField(field)) {
204  return false;
205  }
206  }
207  // Check that embedded messages are initialized.
208  if (field.getJavaType() == FieldDescriptor.JavaType.MESSAGE) {
209  if (field.isRepeated()) {
210  @SuppressWarnings("unchecked") final
211  List<Message> messageList = (List<Message>) getField(field);
212  for (final Message element : messageList) {
213  if (!element.isInitialized()) {
214  return false;
215  }
216  }
217  } else {
218  if (hasField(field) && !((Message) getField(field)).isInitialized()) {
219  return false;
220  }
221  }
222  }
223  }
224 
225  return true;
226  }
227 
228  @Override
229  public Map<FieldDescriptor, Object> getAllFields() {
230  return Collections.unmodifiableMap(
231  getAllFieldsMutable(/* getBytesForString = */ false));
232  }
233 
244  Map<FieldDescriptor, Object> getAllFieldsRaw() {
245  return Collections.unmodifiableMap(
246  getAllFieldsMutable(/* getBytesForString = */ true));
247  }
248 
249  @Override
250  public boolean hasOneof(final OneofDescriptor oneof) {
251  return internalGetFieldAccessorTable().getOneof(oneof).has(this);
252  }
253 
254  @Override
256  return internalGetFieldAccessorTable().getOneof(oneof).get(this);
257  }
258 
259  @Override
260  public boolean hasField(final FieldDescriptor field) {
262  }
263 
264  @Override
265  public Object getField(final FieldDescriptor field) {
267  }
268 
277  Object getFieldRaw(final FieldDescriptor field) {
279  }
280 
281  @Override
284  .getRepeatedCount(this);
285  }
286 
287  @Override
288  public Object getRepeatedField(final FieldDescriptor field, final int index) {
290  .getRepeated(this, index);
291  }
292 
293  @Override
295  throw new UnsupportedOperationException(
296  "This is supposed to be overridden by subclasses.");
297  }
298 
304  protected boolean parseUnknownField(
307  ExtensionRegistryLite extensionRegistry,
308  int tag)
309  throws IOException {
310  if (input.shouldDiscardUnknownFields()) {
311  return input.skipField(tag);
312  }
313  return unknownFields.mergeFieldFrom(tag, input);
314  }
315 
320  protected boolean parseUnknownFieldProto3(
323  ExtensionRegistryLite extensionRegistry,
324  int tag)
325  throws IOException {
326  return parseUnknownField(input, unknownFields, extensionRegistry, tag);
327  }
328 
329  protected static <M extends Message> M parseWithIOException(Parser<M> parser, InputStream input)
330  throws IOException {
331  try {
332  return parser.parseFrom(input);
333  } catch (InvalidProtocolBufferException e) {
334  throw e.unwrapIOException();
335  }
336  }
337 
338  protected static <M extends Message> M parseWithIOException(Parser<M> parser, InputStream input,
339  ExtensionRegistryLite extensions) throws IOException {
340  try {
341  return parser.parseFrom(input, extensions);
342  } catch (InvalidProtocolBufferException e) {
343  throw e.unwrapIOException();
344  }
345  }
346 
347  protected static <M extends Message> M parseWithIOException(Parser<M> parser,
348  CodedInputStream input) throws IOException {
349  try {
350  return parser.parseFrom(input);
351  } catch (InvalidProtocolBufferException e) {
352  throw e.unwrapIOException();
353  }
354  }
355 
356  protected static <M extends Message> M parseWithIOException(Parser<M> parser,
357  CodedInputStream input, ExtensionRegistryLite extensions) throws IOException {
358  try {
359  return parser.parseFrom(input, extensions);
360  } catch (InvalidProtocolBufferException e) {
361  throw e.unwrapIOException();
362  }
363  }
364 
365  protected static <M extends Message> M parseDelimitedWithIOException(Parser<M> parser,
366  InputStream input) throws IOException {
367  try {
368  return parser.parseDelimitedFrom(input);
369  } catch (InvalidProtocolBufferException e) {
370  throw e.unwrapIOException();
371  }
372  }
373 
374  protected static <M extends Message> M parseDelimitedWithIOException(Parser<M> parser,
375  InputStream input, ExtensionRegistryLite extensions) throws IOException {
376  try {
377  return parser.parseDelimitedFrom(input, extensions);
378  } catch (InvalidProtocolBufferException e) {
379  throw e.unwrapIOException();
380  }
381  }
382 
383  protected static boolean canUseUnsafe() {
384  return UnsafeUtil.hasUnsafeArrayOperations() && UnsafeUtil.hasUnsafeByteBufferOperations();
385  }
386 
387  protected static IntList emptyIntList() {
388  return IntArrayList.emptyList();
389  }
390 
391  protected static IntList newIntList() {
392  return new IntArrayList();
393  }
394 
395  protected static IntList mutableCopy(IntList list) {
396  int size = list.size();
397  return list.mutableCopyWithCapacity(
398  size == 0 ? AbstractProtobufList.DEFAULT_CAPACITY : size * 2);
399  }
400 
401  protected static LongList emptyLongList() {
402  return LongArrayList.emptyList();
403  }
404 
405  protected static LongList newLongList() {
406  return new LongArrayList();
407  }
408 
409  protected static LongList mutableCopy(LongList list) {
410  int size = list.size();
411  return list.mutableCopyWithCapacity(
412  size == 0 ? AbstractProtobufList.DEFAULT_CAPACITY : size * 2);
413  }
414 
415  protected static FloatList emptyFloatList() {
416  return FloatArrayList.emptyList();
417  }
418 
419  protected static FloatList newFloatList() {
420  return new FloatArrayList();
421  }
422 
423  protected static FloatList mutableCopy(FloatList list) {
424  int size = list.size();
425  return list.mutableCopyWithCapacity(
426  size == 0 ? AbstractProtobufList.DEFAULT_CAPACITY : size * 2);
427  }
428 
429  protected static DoubleList emptyDoubleList() {
430  return DoubleArrayList.emptyList();
431  }
432 
433  protected static DoubleList newDoubleList() {
434  return new DoubleArrayList();
435  }
436 
437  protected static DoubleList mutableCopy(DoubleList list) {
438  int size = list.size();
439  return list.mutableCopyWithCapacity(
440  size == 0 ? AbstractProtobufList.DEFAULT_CAPACITY : size * 2);
441  }
442 
443  protected static BooleanList emptyBooleanList() {
444  return BooleanArrayList.emptyList();
445  }
446 
447  protected static BooleanList newBooleanList() {
448  return new BooleanArrayList();
449  }
450 
451  protected static BooleanList mutableCopy(BooleanList list) {
452  int size = list.size();
453  return list.mutableCopyWithCapacity(
454  size == 0 ? AbstractProtobufList.DEFAULT_CAPACITY : size * 2);
455  }
456 
457 
458  @Override
459  public void writeTo(final CodedOutputStream output) throws IOException {
460  MessageReflection.writeMessageTo(this, getAllFieldsRaw(), output, false);
461  }
462 
463  @Override
464  public int getSerializedSize() {
465  int size = memoizedSize;
466  if (size != -1) {
467  return size;
468  }
469 
470  memoizedSize = MessageReflection.getSerializedSize(
471  this, getAllFieldsRaw());
472  return memoizedSize;
473  }
474 
475 
476 
485  protected static final class UnusedPrivateParameter {
486  static final UnusedPrivateParameter INSTANCE = new UnusedPrivateParameter();
487 
489  }
490  }
491 
495  @SuppressWarnings({"unused"})
496  protected Object newInstance(UnusedPrivateParameter unused) {
497  throw new UnsupportedOperationException("This method must be overridden by the subclass.");
498  }
499 
503  protected void makeExtensionsImmutable() {
504  // Noop for messages without extensions.
505  }
506 
513  protected interface BuilderParent extends AbstractMessage.BuilderParent {}
514 
518  protected abstract Message.Builder newBuilderForType(BuilderParent parent);
519 
520  @Override
522  return newBuilderForType(new BuilderParent() {
523  @Override
524  public void markDirty() {
525  parent.markDirty();
526  }
527  });
528  }
529 
530 
531  @SuppressWarnings("unchecked")
532  public abstract static class Builder <BuilderType extends Builder<BuilderType>>
533  extends AbstractMessage.Builder<BuilderType> {
534 
536 
537  private BuilderParentImpl meAsParent;
538 
539  // Indicates that we've built a message and so we are now obligated
540  // to dispatch dirty invalidations. See GeneratedMessageV3.BuilderListener.
541  private boolean isClean;
542 
545 
546  protected Builder() {
547  this(null);
548  }
549 
550  protected Builder(BuilderParent builderParent) {
551  this.builderParent = builderParent;
552  }
553 
554  @Override
555  void dispose() {
556  builderParent = null;
557  }
558 
562  protected void onBuilt() {
563  if (builderParent != null) {
564  markClean();
565  }
566  }
567 
572  @Override
573  protected void markClean() {
574  this.isClean = true;
575  }
576 
582  protected boolean isClean() {
583  return isClean;
584  }
585 
586  @Override
587  public BuilderType clone() {
588  BuilderType builder =
590  builder.mergeFrom(buildPartial());
591  return builder;
592  }
593 
598  @Override
599  public BuilderType clear() {
601  onChanged();
602  return (BuilderType) this;
603  }
604 
611 
612  @Override
615  }
616 
617  @Override
618  public Map<FieldDescriptor, Object> getAllFields() {
619  return Collections.unmodifiableMap(getAllFieldsMutable());
620  }
621 
623  private Map<FieldDescriptor, Object> getAllFieldsMutable() {
624  final TreeMap<FieldDescriptor, Object> result =
625  new TreeMap<FieldDescriptor, Object>();
627  final List<FieldDescriptor> fields = descriptor.getFields();
628 
629  for (int i = 0; i < fields.size(); i++) {
630  FieldDescriptor field = fields.get(i);
631  final OneofDescriptor oneofDescriptor = field.getContainingOneof();
632 
633  /*
634  * If the field is part of a Oneof, then at maximum one field in the Oneof is set
635  * and it is not repeated. There is no need to iterate through the others.
636  */
637  if (oneofDescriptor != null) {
638  // Skip other fields in the Oneof we know are not set
639  i += oneofDescriptor.getFieldCount() - 1;
640  if (!hasOneof(oneofDescriptor)) {
641  // If no field is set in the Oneof, skip all the fields in the Oneof
642  continue;
643  }
644  // Get the pointer to the only field which is set in the Oneof
645  field = getOneofFieldDescriptor(oneofDescriptor);
646  } else {
647  // If we are not in a Oneof, we need to check if the field is set and if it is repeated
648  if (field.isRepeated()) {
649  final List<?> value = (List<?>) getField(field);
650  if (!value.isEmpty()) {
651  result.put(field, value);
652  }
653  continue;
654  }
655  if (!hasField(field)) {
656  continue;
657  }
658  }
659  // Add the field to the map
660  result.put(field, getField(field));
661  }
662  return result;
663  }
664 
665  @Override
668  }
669 
670  @Override
673  }
674 
675  @Override
678  this, index);
679  }
680 
681  @Override
682  public boolean hasOneof(final OneofDescriptor oneof) {
683  return internalGetFieldAccessorTable().getOneof(oneof).has(this);
684  }
685 
686  @Override
688  return internalGetFieldAccessorTable().getOneof(oneof).get(this);
689  }
690 
691  @Override
692  public boolean hasField(final FieldDescriptor field) {
694  }
695 
696  @Override
697  public Object getField(final FieldDescriptor field) {
698  Object object = internalGetFieldAccessorTable().getField(field).get(this);
699  if (field.isRepeated()) {
700  // The underlying list object is still modifiable at this point.
701  // Make sure not to expose the modifiable list to the caller.
702  return Collections.unmodifiableList((List) object);
703  } else {
704  return object;
705  }
706  }
707 
708  @Override
709  public BuilderType setField(final FieldDescriptor field, final Object value) {
711  return (BuilderType) this;
712  }
713 
714  @Override
715  public BuilderType clearField(final FieldDescriptor field) {
717  return (BuilderType) this;
718  }
719 
720  @Override
721  public BuilderType clearOneof(final OneofDescriptor oneof) {
723  return (BuilderType) this;
724  }
725 
726  @Override
729  .getRepeatedCount(this);
730  }
731 
732  @Override
733  public Object getRepeatedField(final FieldDescriptor field, final int index) {
735  .getRepeated(this, index);
736  }
737 
738  @Override
739  public BuilderType setRepeatedField(
740  final FieldDescriptor field, final int index, final Object value) {
742  .setRepeated(this, index, value);
743  return (BuilderType) this;
744  }
745 
746  @Override
747  public BuilderType addRepeatedField(final FieldDescriptor field, final Object value) {
749  return (BuilderType) this;
750  }
751 
753  this.unknownFields = unknownFields;
754  onChanged();
755  return (BuilderType) this;
756  }
757 
758  @Override
759  public BuilderType setUnknownFields(final UnknownFieldSet unknownFields) {
760  return setUnknownFieldsInternal(unknownFields);
761  }
762 
767  protected BuilderType setUnknownFieldsProto3(final UnknownFieldSet unknownFields) {
768  return setUnknownFieldsInternal(unknownFields);
769  }
770 
771  @Override
772  public BuilderType mergeUnknownFields(
774  return setUnknownFields(
775  UnknownFieldSet.newBuilder(this.unknownFields)
777  .build());
778  }
779 
780 
781  @Override
782  public boolean isInitialized() {
783  for (final FieldDescriptor field : getDescriptorForType().getFields()) {
784  // Check that all required fields are present.
785  if (field.isRequired()) {
786  if (!hasField(field)) {
787  return false;
788  }
789  }
790  // Check that embedded messages are initialized.
791  if (field.getJavaType() == FieldDescriptor.JavaType.MESSAGE) {
792  if (field.isRepeated()) {
793  @SuppressWarnings("unchecked") final
794  List<Message> messageList = (List<Message>) getField(field);
795  for (final Message element : messageList) {
796  if (!element.isInitialized()) {
797  return false;
798  }
799  }
800  } else {
801  if (hasField(field) &&
803  return false;
804  }
805  }
806  }
807  }
808  return true;
809  }
810 
811  @Override
813  return unknownFields;
814  }
815 
821  private class BuilderParentImpl implements BuilderParent {
822 
823  @Override
824  public void markDirty() {
825  onChanged();
826  }
827  }
828 
834  if (meAsParent == null) {
835  meAsParent = new BuilderParentImpl();
836  }
837  return meAsParent;
838  }
839 
844  protected final void onChanged() {
845  if (isClean && builderParent != null) {
846  builderParent.markDirty();
847 
848  // Don't keep dispatching invalidations until build is called again.
849  isClean = false;
850  }
851  }
852 
864  @SuppressWarnings({"unused", "rawtypes"})
865  protected MapField internalGetMapField(int fieldNumber) {
866  // Note that we can't use descriptor names here because this method will
867  // be called when descriptor is being initialized.
868  throw new RuntimeException(
869  "No map fields found in " + getClass().getName());
870  }
871 
873  @SuppressWarnings({"unused", "rawtypes"})
874  protected MapField internalGetMutableMapField(int fieldNumber) {
875  // Note that we can't use descriptor names here because this method will
876  // be called when descriptor is being initialized.
877  throw new RuntimeException(
878  "No map fields found in " + getClass().getName());
879  }
880  }
881 
882  // =================================================================
883  // Extensions-related stuff
884 
885  public interface ExtendableMessageOrBuilder<
886  MessageType extends ExtendableMessage> extends MessageOrBuilder {
887  // Re-define for return type covariance.
888  @Override
890 
892  <Type> boolean hasExtension(
894 
896  <Type> int getExtensionCount(
897  ExtensionLite<MessageType, List<Type>> extension);
898 
902 
905  ExtensionLite<MessageType, List<Type>> extension,
906  int index);
907 
909  <Type> boolean hasExtension(
912  <Type> boolean hasExtension(
915  <Type> int getExtensionCount(
916  Extension<MessageType, List<Type>> extension);
918  <Type> int getExtensionCount(
919  GeneratedExtension<MessageType, List<Type>> extension);
928  Extension<MessageType, List<Type>> extension,
929  int index);
932  GeneratedExtension<MessageType, List<Type>> extension,
933  int index);
934  }
935 
971  public abstract static class ExtendableMessage<
972  MessageType extends ExtendableMessage>
973  extends GeneratedMessageV3
974  implements ExtendableMessageOrBuilder<MessageType> {
975 
976  private static final long serialVersionUID = 1L;
977 
978  private final FieldSet<FieldDescriptor> extensions;
979 
980  protected ExtendableMessage() {
981  this.extensions = FieldSet.newFieldSet();
982  }
983 
984  protected ExtendableMessage(
986  super(builder);
987  this.extensions = builder.buildExtensions();
988  }
989 
992  if (extension.getDescriptor().getContainingType() !=
994  // This can only happen if someone uses unchecked operations.
995  throw new IllegalArgumentException(
996  "Extension is for type \"" +
997  extension.getDescriptor().getContainingType().getFullName() +
998  "\" which does not match message type \"" +
999  getDescriptorForType().getFullName() + "\".");
1000  }
1001  }
1002 
1004  @Override
1005  @SuppressWarnings("unchecked")
1006  public final <Type> boolean hasExtension(final ExtensionLite<MessageType, Type> extensionLite) {
1008 
1010  return extensions.hasField(extension.getDescriptor());
1011  }
1012 
1014  @Override
1015  @SuppressWarnings("unchecked")
1016  public final <Type> int getExtensionCount(
1017  final ExtensionLite<MessageType, List<Type>> extensionLite) {
1019 
1021  final FieldDescriptor descriptor = extension.getDescriptor();
1022  return extensions.getRepeatedFieldCount(descriptor);
1023  }
1024 
1026  @Override
1027  @SuppressWarnings("unchecked")
1028  public final <Type> Type getExtension(final ExtensionLite<MessageType, Type> extensionLite) {
1030 
1032  FieldDescriptor descriptor = extension.getDescriptor();
1033  final Object value = extensions.getField(descriptor);
1034  if (value == null) {
1035  if (descriptor.isRepeated()) {
1036  return (Type) Collections.emptyList();
1037  } else if (descriptor.getJavaType() ==
1039  return (Type) extension.getMessageDefaultInstance();
1040  } else {
1041  return (Type) extension.fromReflectionType(
1042  descriptor.getDefaultValue());
1043  }
1044  } else {
1045  return (Type) extension.fromReflectionType(value);
1046  }
1047  }
1048 
1050  @Override
1051  @SuppressWarnings("unchecked")
1052  public final <Type> Type getExtension(
1053  final ExtensionLite<MessageType, List<Type>> extensionLite, final int index) {
1055 
1057  FieldDescriptor descriptor = extension.getDescriptor();
1058  return (Type) extension.singularFromReflectionType(
1059  extensions.getRepeatedField(descriptor, index));
1060  }
1061 
1063  @Override
1064  public final <Type> boolean hasExtension(final Extension<MessageType, Type> extension) {
1066  }
1068  @Override
1069  public final <Type> boolean hasExtension(
1072  }
1074  @Override
1075  public final <Type> int getExtensionCount(
1076  final Extension<MessageType, List<Type>> extension) {
1077  return getExtensionCount((ExtensionLite<MessageType, List<Type>>) extension);
1078  }
1080  @Override
1081  public final <Type> int getExtensionCount(
1082  final GeneratedExtension<MessageType, List<Type>> extension) {
1083  return getExtensionCount((ExtensionLite<MessageType, List<Type>>) extension);
1084  }
1086  @Override
1089  }
1091  @Override
1092  public final <Type> Type getExtension(
1095  }
1097  @Override
1098  public final <Type> Type getExtension(
1099  final Extension<MessageType, List<Type>> extension, final int index) {
1100  return getExtension((ExtensionLite<MessageType, List<Type>>) extension, index);
1101  }
1103  @Override
1104  public final <Type> Type getExtension(
1105  final GeneratedExtension<MessageType, List<Type>> extension, final int index) {
1106  return getExtension((ExtensionLite<MessageType, List<Type>>) extension, index);
1107  }
1108 
1110  protected boolean extensionsAreInitialized() {
1111  return extensions.isInitialized();
1112  }
1113 
1114  @Override
1115  public boolean isInitialized() {
1116  return super.isInitialized() && extensionsAreInitialized();
1117  }
1118 
1119  @Override
1120  protected boolean parseUnknownField(
1123  ExtensionRegistryLite extensionRegistry,
1124  int tag) throws IOException {
1125  return MessageReflection.mergeFieldFrom(
1126  input, input.shouldDiscardUnknownFields() ? null : unknownFields, extensionRegistry,
1127  getDescriptorForType(), new MessageReflection.ExtensionAdapter(extensions), tag);
1128  }
1129 
1134  @Override
1135  protected boolean parseUnknownFieldProto3(
1138  ExtensionRegistryLite extensionRegistry,
1139  int tag) throws IOException {
1140  return parseUnknownField(input, unknownFields, extensionRegistry, tag);
1141  }
1142 
1143 
1147  @Override
1148  protected void makeExtensionsImmutable() {
1149  extensions.makeImmutable();
1150  }
1151 
1158  protected class ExtensionWriter {
1159  // Imagine how much simpler this code would be if Java iterators had
1160  // a way to get the next element without advancing the iterator.
1161 
1162  private final Iterator<Map.Entry<FieldDescriptor, Object>> iter =
1163  extensions.iterator();
1164  private Map.Entry<FieldDescriptor, Object> next;
1165  private final boolean messageSetWireFormat;
1166 
1167  private ExtensionWriter(final boolean messageSetWireFormat) {
1168  if (iter.hasNext()) {
1169  next = iter.next();
1170  }
1171  this.messageSetWireFormat = messageSetWireFormat;
1172  }
1173 
1174  public void writeUntil(final int end, final CodedOutputStream output)
1175  throws IOException {
1176  while (next != null && next.getKey().getNumber() < end) {
1177  FieldDescriptor descriptor = next.getKey();
1178  if (messageSetWireFormat && descriptor.getLiteJavaType() ==
1180  !descriptor.isRepeated()) {
1181  if (next instanceof LazyField.LazyEntry<?>) {
1182  output.writeRawMessageSetExtension(descriptor.getNumber(),
1183  ((LazyField.LazyEntry<?>) next).getField().toByteString());
1184  } else {
1185  output.writeMessageSetExtension(descriptor.getNumber(),
1186  (Message) next.getValue());
1187  }
1188  } else {
1189  // TODO(xiangl): Taken care of following code, it may cause
1190  // problem when we use LazyField for normal fields/extensions.
1191  // Due to the optional field can be duplicated at the end of
1192  // serialized bytes, which will make the serialized size change
1193  // after lazy field parsed. So when we use LazyField globally,
1194  // we need to change the following write method to write cached
1195  // bytes directly rather than write the parsed message.
1196  FieldSet.writeField(descriptor, next.getValue(), output);
1197  }
1198  if (iter.hasNext()) {
1199  next = iter.next();
1200  } else {
1201  next = null;
1202  }
1203  }
1204  }
1205  }
1206 
1208  return new ExtensionWriter(false);
1209  }
1211  return new ExtensionWriter(true);
1212  }
1213 
1215  protected int extensionsSerializedSize() {
1216  return extensions.getSerializedSize();
1217  }
1219  return extensions.getMessageSetSerializedSize();
1220  }
1221 
1222  // ---------------------------------------------------------------
1223  // Reflection
1224 
1225  protected Map<FieldDescriptor, Object> getExtensionFields() {
1226  return extensions.getAllFields();
1227  }
1228 
1229  @Override
1230  public Map<FieldDescriptor, Object> getAllFields() {
1231  final Map<FieldDescriptor, Object> result =
1232  super.getAllFieldsMutable(/* getBytesForString = */ false);
1233  result.putAll(getExtensionFields());
1234  return Collections.unmodifiableMap(result);
1235  }
1236 
1237  @Override
1238  public Map<FieldDescriptor, Object> getAllFieldsRaw() {
1239  final Map<FieldDescriptor, Object> result =
1240  super.getAllFieldsMutable(/* getBytesForString = */ false);
1241  result.putAll(getExtensionFields());
1242  return Collections.unmodifiableMap(result);
1243  }
1244 
1245  @Override
1246  public boolean hasField(final FieldDescriptor field) {
1247  if (field.isExtension()) {
1249  return extensions.hasField(field);
1250  } else {
1251  return super.hasField(field);
1252  }
1253  }
1254 
1255  @Override
1256  public Object getField(final FieldDescriptor field) {
1257  if (field.isExtension()) {
1259  final Object value = extensions.getField(field);
1260  if (value == null) {
1261  if (field.isRepeated()) {
1262  return Collections.emptyList();
1263  } else if (field.getJavaType() == FieldDescriptor.JavaType.MESSAGE) {
1264  // Lacking an ExtensionRegistry, we have no way to determine the
1265  // extension's real type, so we return a DynamicMessage.
1266  return DynamicMessage.getDefaultInstance(field.getMessageType());
1267  } else {
1268  return field.getDefaultValue();
1269  }
1270  } else {
1271  return value;
1272  }
1273  } else {
1274  return super.getField(field);
1275  }
1276  }
1277 
1278  @Override
1280  if (field.isExtension()) {
1282  return extensions.getRepeatedFieldCount(field);
1283  } else {
1284  return super.getRepeatedFieldCount(field);
1285  }
1286  }
1287 
1288  @Override
1290  final int index) {
1291  if (field.isExtension()) {
1293  return extensions.getRepeatedField(field, index);
1294  } else {
1295  return super.getRepeatedField(field, index);
1296  }
1297  }
1298 
1300  if (field.getContainingType() != getDescriptorForType()) {
1301  throw new IllegalArgumentException(
1302  "FieldDescriptor does not match message type.");
1303  }
1304  }
1305  }
1306 
1344  @SuppressWarnings("unchecked")
1345  public abstract static class ExtendableBuilder<
1346  MessageType extends ExtendableMessage,
1347  BuilderType extends ExtendableBuilder<MessageType, BuilderType>>
1348  extends Builder<BuilderType>
1349  implements ExtendableMessageOrBuilder<MessageType> {
1350 
1351  private FieldSet<FieldDescriptor> extensions = FieldSet.emptySet();
1352 
1353  protected ExtendableBuilder() {}
1354 
1356  BuilderParent parent) {
1357  super(parent);
1358  }
1359 
1360  // For immutable message conversion.
1361  void internalSetExtensionSet(FieldSet<FieldDescriptor> extensions) {
1362  this.extensions = extensions;
1363  }
1364 
1365  @Override
1366  public BuilderType clear() {
1367  extensions = FieldSet.emptySet();
1368  return super.clear();
1369  }
1370 
1371  private void ensureExtensionsIsMutable() {
1372  if (extensions.isImmutable()) {
1373  extensions = extensions.clone();
1374  }
1375  }
1376 
1379  if (extension.getDescriptor().getContainingType() !=
1381  // This can only happen if someone uses unchecked operations.
1382  throw new IllegalArgumentException(
1383  "Extension is for type \"" +
1384  extension.getDescriptor().getContainingType().getFullName() +
1385  "\" which does not match message type \"" +
1386  getDescriptorForType().getFullName() + "\".");
1387  }
1388  }
1389 
1391  @Override
1392  public final <Type> boolean hasExtension(final ExtensionLite<MessageType, Type> extensionLite) {
1394 
1395  verifyExtensionContainingType(extension);
1396  return extensions.hasField(extension.getDescriptor());
1397  }
1398 
1400  @Override
1401  public final <Type> int getExtensionCount(
1402  final ExtensionLite<MessageType, List<Type>> extensionLite) {
1404 
1405  verifyExtensionContainingType(extension);
1406  final FieldDescriptor descriptor = extension.getDescriptor();
1407  return extensions.getRepeatedFieldCount(descriptor);
1408  }
1409 
1411  @Override
1412  public final <Type> Type getExtension(final ExtensionLite<MessageType, Type> extensionLite) {
1414 
1415  verifyExtensionContainingType(extension);
1416  FieldDescriptor descriptor = extension.getDescriptor();
1417  final Object value = extensions.getField(descriptor);
1418  if (value == null) {
1419  if (descriptor.isRepeated()) {
1420  return (Type) Collections.emptyList();
1421  } else if (descriptor.getJavaType() ==
1423  return (Type) extension.getMessageDefaultInstance();
1424  } else {
1425  return (Type) extension.fromReflectionType(
1426  descriptor.getDefaultValue());
1427  }
1428  } else {
1429  return (Type) extension.fromReflectionType(value);
1430  }
1431  }
1432 
1434  @Override
1435  public final <Type> Type getExtension(
1436  final ExtensionLite<MessageType, List<Type>> extensionLite, final int index) {
1438 
1439  verifyExtensionContainingType(extension);
1440  FieldDescriptor descriptor = extension.getDescriptor();
1441  return (Type) extension.singularFromReflectionType(
1442  extensions.getRepeatedField(descriptor, index));
1443  }
1444 
1446  public final <Type> BuilderType setExtension(
1447  final ExtensionLite<MessageType, Type> extensionLite,
1448  final Type value) {
1450 
1451  verifyExtensionContainingType(extension);
1452  ensureExtensionsIsMutable();
1453  final FieldDescriptor descriptor = extension.getDescriptor();
1454  extensions.setField(descriptor, extension.toReflectionType(value));
1455  onChanged();
1456  return (BuilderType) this;
1457  }
1458 
1460  public final <Type> BuilderType setExtension(
1461  final ExtensionLite<MessageType, List<Type>> extensionLite,
1462  final int index, final Type value) {
1464 
1465  verifyExtensionContainingType(extension);
1466  ensureExtensionsIsMutable();
1467  final FieldDescriptor descriptor = extension.getDescriptor();
1468  extensions.setRepeatedField(
1469  descriptor, index,
1470  extension.singularToReflectionType(value));
1471  onChanged();
1472  return (BuilderType) this;
1473  }
1474 
1476  public final <Type> BuilderType addExtension(
1477  final ExtensionLite<MessageType, List<Type>> extensionLite,
1478  final Type value) {
1480 
1481  verifyExtensionContainingType(extension);
1482  ensureExtensionsIsMutable();
1483  final FieldDescriptor descriptor = extension.getDescriptor();
1484  extensions.addRepeatedField(
1485  descriptor, extension.singularToReflectionType(value));
1486  onChanged();
1487  return (BuilderType) this;
1488  }
1489 
1491  public final <Type> BuilderType clearExtension(
1492  final ExtensionLite<MessageType, ?> extensionLite) {
1494 
1495  verifyExtensionContainingType(extension);
1496  ensureExtensionsIsMutable();
1497  extensions.clearField(extension.getDescriptor());
1498  onChanged();
1499  return (BuilderType) this;
1500  }
1501 
1503  @Override
1504  public final <Type> boolean hasExtension(final Extension<MessageType, Type> extension) {
1505  return hasExtension((ExtensionLite<MessageType, Type>) extension);
1506  }
1508  @Override
1509  public final <Type> boolean hasExtension(
1511  return hasExtension((ExtensionLite<MessageType, Type>) extension);
1512  }
1514  @Override
1515  public final <Type> int getExtensionCount(
1516  final Extension<MessageType, List<Type>> extension) {
1517  return getExtensionCount((ExtensionLite<MessageType, List<Type>>) extension);
1518  }
1520  @Override
1521  public final <Type> int getExtensionCount(
1522  final GeneratedExtension<MessageType, List<Type>> extension) {
1523  return getExtensionCount((ExtensionLite<MessageType, List<Type>>) extension);
1524  }
1526  @Override
1528  return getExtension((ExtensionLite<MessageType, Type>) extension);
1529  }
1531  @Override
1532  public final <Type> Type getExtension(
1534  return getExtension((ExtensionLite<MessageType, Type>) extension);
1535  }
1537  @Override
1538  public final <Type> Type getExtension(
1539  final Extension<MessageType, List<Type>> extension, final int index) {
1540  return getExtension((ExtensionLite<MessageType, List<Type>>) extension, index);
1541  }
1543  @Override
1544  public final <Type> Type getExtension(
1545  final GeneratedExtension<MessageType, List<Type>> extension, final int index) {
1546  return getExtension((ExtensionLite<MessageType, List<Type>>) extension, index);
1547  }
1549  public final <Type> BuilderType setExtension(
1551  return setExtension((ExtensionLite<MessageType, Type>) extension, value);
1552  }
1554  public <Type> BuilderType setExtension(
1556  return setExtension((ExtensionLite<MessageType, Type>) extension, value);
1557  }
1559  public final <Type> BuilderType setExtension(
1560  final Extension<MessageType, List<Type>> extension,
1561  final int index, final Type value) {
1562  return setExtension((ExtensionLite<MessageType, List<Type>>) extension, index, value);
1563  }
1565  public <Type> BuilderType setExtension(
1566  final GeneratedExtension<MessageType, List<Type>> extension,
1567  final int index, final Type value) {
1568  return setExtension((ExtensionLite<MessageType, List<Type>>) extension, index, value);
1569  }
1571  public final <Type> BuilderType addExtension(
1572  final Extension<MessageType, List<Type>> extension, final Type value) {
1573  return addExtension((ExtensionLite<MessageType, List<Type>>) extension, value);
1574  }
1576  public <Type> BuilderType addExtension(
1577  final GeneratedExtension<MessageType, List<Type>> extension, final Type value) {
1578  return addExtension((ExtensionLite<MessageType, List<Type>>) extension, value);
1579  }
1581  public final <Type> BuilderType clearExtension(
1583  return clearExtension((ExtensionLite<MessageType, ?>) extension);
1584  }
1586  public <Type> BuilderType clearExtension(
1588  return clearExtension((ExtensionLite<MessageType, ?>) extension);
1589  }
1590 
1592  protected boolean extensionsAreInitialized() {
1593  return extensions.isInitialized();
1594  }
1595 
1600  private FieldSet<FieldDescriptor> buildExtensions() {
1601  extensions.makeImmutable();
1602  return extensions;
1603  }
1604 
1605  @Override
1606  public boolean isInitialized() {
1607  return super.isInitialized() && extensionsAreInitialized();
1608  }
1609 
1610  // ---------------------------------------------------------------
1611  // Reflection
1612 
1613  @Override
1614  public Map<FieldDescriptor, Object> getAllFields() {
1615  final Map<FieldDescriptor, Object> result = super.getAllFieldsMutable();
1616  result.putAll(extensions.getAllFields());
1617  return Collections.unmodifiableMap(result);
1618  }
1619 
1620  @Override
1621  public Object getField(final FieldDescriptor field) {
1622  if (field.isExtension()) {
1623  verifyContainingType(field);
1624  final Object value = extensions.getField(field);
1625  if (value == null) {
1626  if (field.getJavaType() == FieldDescriptor.JavaType.MESSAGE) {
1627  // Lacking an ExtensionRegistry, we have no way to determine the
1628  // extension's real type, so we return a DynamicMessage.
1629  return DynamicMessage.getDefaultInstance(field.getMessageType());
1630  } else {
1631  return field.getDefaultValue();
1632  }
1633  } else {
1634  return value;
1635  }
1636  } else {
1637  return super.getField(field);
1638  }
1639  }
1640 
1641  @Override
1643  if (field.isExtension()) {
1644  verifyContainingType(field);
1645  return extensions.getRepeatedFieldCount(field);
1646  } else {
1647  return super.getRepeatedFieldCount(field);
1648  }
1649  }
1650 
1651  @Override
1653  final int index) {
1654  if (field.isExtension()) {
1655  verifyContainingType(field);
1656  return extensions.getRepeatedField(field, index);
1657  } else {
1658  return super.getRepeatedField(field, index);
1659  }
1660  }
1661 
1662  @Override
1663  public boolean hasField(final FieldDescriptor field) {
1664  if (field.isExtension()) {
1665  verifyContainingType(field);
1666  return extensions.hasField(field);
1667  } else {
1668  return super.hasField(field);
1669  }
1670  }
1671 
1672  @Override
1673  public BuilderType setField(final FieldDescriptor field,
1674  final Object value) {
1675  if (field.isExtension()) {
1676  verifyContainingType(field);
1677  ensureExtensionsIsMutable();
1678  extensions.setField(field, value);
1679  onChanged();
1680  return (BuilderType) this;
1681  } else {
1682  return super.setField(field, value);
1683  }
1684  }
1685 
1686  @Override
1687  public BuilderType clearField(final FieldDescriptor field) {
1688  if (field.isExtension()) {
1689  verifyContainingType(field);
1690  ensureExtensionsIsMutable();
1691  extensions.clearField(field);
1692  onChanged();
1693  return (BuilderType) this;
1694  } else {
1695  return super.clearField(field);
1696  }
1697  }
1698 
1699  @Override
1700  public BuilderType setRepeatedField(final FieldDescriptor field,
1701  final int index, final Object value) {
1702  if (field.isExtension()) {
1703  verifyContainingType(field);
1704  ensureExtensionsIsMutable();
1705  extensions.setRepeatedField(field, index, value);
1706  onChanged();
1707  return (BuilderType) this;
1708  } else {
1709  return super.setRepeatedField(field, index, value);
1710  }
1711  }
1712 
1713  @Override
1714  public BuilderType addRepeatedField(final FieldDescriptor field,
1715  final Object value) {
1716  if (field.isExtension()) {
1717  verifyContainingType(field);
1718  ensureExtensionsIsMutable();
1719  extensions.addRepeatedField(field, value);
1720  onChanged();
1721  return (BuilderType) this;
1722  } else {
1723  return super.addRepeatedField(field, value);
1724  }
1725  }
1726 
1727  @Override
1729  if (field.isExtension()) {
1730  return DynamicMessage.newBuilder(field.getMessageType());
1731  } else {
1732  return super.newBuilderForField(field);
1733  }
1734  }
1735 
1736  protected final void mergeExtensionFields(final ExtendableMessage other) {
1737  ensureExtensionsIsMutable();
1738  extensions.mergeFrom(other.extensions);
1739  onChanged();
1740  }
1741 
1743  if (field.getContainingType() != getDescriptorForType()) {
1744  throw new IllegalArgumentException(
1745  "FieldDescriptor does not match message type.");
1746  }
1747  }
1748  }
1749 
1750  // -----------------------------------------------------------------
1751 
1756  static interface ExtensionDescriptorRetriever {
1757  FieldDescriptor getDescriptor();
1758  }
1759 
1760 
1761  // =================================================================
1762 
1764  @SuppressWarnings("unchecked")
1765  private static Method getMethodOrDie(
1766  final Class clazz, final String name, final Class... params) {
1767  try {
1768  return clazz.getMethod(name, params);
1769  } catch (NoSuchMethodException e) {
1770  throw new RuntimeException(
1771  "Generated message class \"" + clazz.getName() +
1772  "\" missing method \"" + name + "\".", e);
1773  }
1774  }
1775 
1777  private static Object invokeOrDie(
1778  final Method method, final Object object, final Object... params) {
1779  try {
1780  return method.invoke(object, params);
1781  } catch (IllegalAccessException e) {
1782  throw new RuntimeException(
1783  "Couldn't use Java reflection to implement protocol message " +
1784  "reflection.", e);
1785  } catch (InvocationTargetException e) {
1786  final Throwable cause = e.getCause();
1787  if (cause instanceof RuntimeException) {
1788  throw (RuntimeException) cause;
1789  } else if (cause instanceof Error) {
1790  throw (Error) cause;
1791  } else {
1792  throw new RuntimeException(
1793  "Unexpected exception thrown by generated accessor method.", cause);
1794  }
1795  }
1796  }
1797 
1809  @SuppressWarnings({"rawtypes", "unused"})
1810  protected MapField internalGetMapField(int fieldNumber) {
1811  // Note that we can't use descriptor names here because this method will
1812  // be called when descriptor is being initialized.
1813  throw new RuntimeException(
1814  "No map fields found in " + getClass().getName());
1815  }
1816 
1821  public static final class FieldAccessorTable {
1822 
1834  final Descriptor descriptor,
1835  final String[] camelCaseNames,
1836  final Class<? extends GeneratedMessageV3> messageClass,
1837  final Class<? extends Builder> builderClass) {
1838  this(descriptor, camelCaseNames);
1839  ensureFieldAccessorsInitialized(messageClass, builderClass);
1840  }
1841 
1847  final Descriptor descriptor,
1848  final String[] camelCaseNames) {
1849  this.descriptor = descriptor;
1850  this.camelCaseNames = camelCaseNames;
1851  fields = new FieldAccessor[descriptor.getFields().size()];
1852  oneofs = new OneofAccessor[descriptor.getOneofs().size()];
1853  initialized = false;
1854  }
1855 
1864  Class<? extends GeneratedMessageV3> messageClass,
1865  Class<? extends Builder> builderClass) {
1866  if (initialized) { return this; }
1867  synchronized (this) {
1868  if (initialized) { return this; }
1869  int fieldsSize = fields.length;
1870  for (int i = 0; i < fieldsSize; i++) {
1872  String containingOneofCamelCaseName = null;
1873  if (field.getContainingOneof() != null) {
1874  containingOneofCamelCaseName =
1875  camelCaseNames[fieldsSize + field.getContainingOneof().getIndex()];
1876  }
1877  if (field.isRepeated()) {
1878  if (field.getJavaType() == FieldDescriptor.JavaType.MESSAGE) {
1879  if (field.isMapField()) {
1880  fields[i] = new MapFieldAccessor(
1881  field, camelCaseNames[i], messageClass, builderClass);
1882  } else {
1884  field, camelCaseNames[i], messageClass, builderClass);
1885  }
1886  } else if (field.getJavaType() == FieldDescriptor.JavaType.ENUM) {
1888  field, camelCaseNames[i], messageClass, builderClass);
1889  } else {
1891  field, camelCaseNames[i], messageClass, builderClass);
1892  }
1893  } else {
1894  if (field.getJavaType() == FieldDescriptor.JavaType.MESSAGE) {
1896  field, camelCaseNames[i], messageClass, builderClass,
1897  containingOneofCamelCaseName);
1898  } else if (field.getJavaType() == FieldDescriptor.JavaType.ENUM) {
1900  field, camelCaseNames[i], messageClass, builderClass,
1901  containingOneofCamelCaseName);
1902  } else if (field.getJavaType() == FieldDescriptor.JavaType.STRING) {
1904  field, camelCaseNames[i], messageClass, builderClass,
1905  containingOneofCamelCaseName);
1906  } else {
1908  field, camelCaseNames[i], messageClass, builderClass,
1909  containingOneofCamelCaseName);
1910  }
1911  }
1912  }
1913 
1914  int oneofsSize = oneofs.length;
1915  for (int i = 0; i < oneofsSize; i++) {
1916  oneofs[i] = new OneofAccessor(
1917  descriptor, camelCaseNames[i + fieldsSize],
1918  messageClass, builderClass);
1919  }
1920  initialized = true;
1921  camelCaseNames = null;
1922  return this;
1923  }
1924  }
1925 
1926  private final Descriptor descriptor;
1927  private final FieldAccessor[] fields;
1928  private String[] camelCaseNames;
1929  private final OneofAccessor[] oneofs;
1930  private volatile boolean initialized;
1931 
1934  if (field.getContainingType() != descriptor) {
1935  throw new IllegalArgumentException(
1936  "FieldDescriptor does not match message type.");
1937  } else if (field.isExtension()) {
1938  // If this type had extensions, it would subclass ExtendableMessage,
1939  // which overrides the reflection interface to handle extensions.
1940  throw new IllegalArgumentException(
1941  "This type does not have extensions.");
1942  }
1943  return fields[field.getIndex()];
1944  }
1945 
1947  private OneofAccessor getOneof(final OneofDescriptor oneof) {
1948  if (oneof.getContainingType() != descriptor) {
1949  throw new IllegalArgumentException(
1950  "OneofDescriptor does not match message type.");
1951  }
1952  return oneofs[oneof.getIndex()];
1953  }
1954 
1959  private interface FieldAccessor {
1960  Object get(GeneratedMessageV3 message);
1961  Object get(GeneratedMessageV3.Builder builder);
1963  Object getRaw(GeneratedMessageV3.Builder builder);
1964  void set(Builder builder, Object value);
1966  Object getRepeated(GeneratedMessageV3.Builder builder, int index);
1968  Object getRepeatedRaw(GeneratedMessageV3.Builder builder, int index);
1969  void setRepeated(Builder builder,
1970  int index, Object value);
1971  void addRepeated(Builder builder, Object value);
1972  boolean has(GeneratedMessageV3 message);
1973  boolean has(GeneratedMessageV3.Builder builder);
1976  void clear(Builder builder);
1980  int index);
1981  }
1982 
1984  private static class OneofAccessor {
1985  OneofAccessor(
1986  final Descriptor descriptor, final String camelCaseName,
1987  final Class<? extends GeneratedMessageV3> messageClass,
1988  final Class<? extends Builder> builderClass) {
1989  this.descriptor = descriptor;
1990  caseMethod =
1991  getMethodOrDie(messageClass, "get" + camelCaseName + "Case");
1993  getMethodOrDie(builderClass, "get" + camelCaseName + "Case");
1994  clearMethod = getMethodOrDie(builderClass, "clear" + camelCaseName);
1995  }
1996 
1997  private final Descriptor descriptor;
1998  private final Method caseMethod;
1999  private final Method caseMethodBuilder;
2000  private final Method clearMethod;
2001 
2002  public boolean has(final GeneratedMessageV3 message) {
2003  if (((Internal.EnumLite) invokeOrDie(caseMethod, message)).getNumber() == 0) {
2004  return false;
2005  }
2006  return true;
2007  }
2008 
2009  public boolean has(GeneratedMessageV3.Builder builder) {
2010  if (((Internal.EnumLite) invokeOrDie(caseMethodBuilder, builder)).getNumber() == 0) {
2011  return false;
2012  }
2013  return true;
2014  }
2015 
2017  int fieldNumber = ((Internal.EnumLite) invokeOrDie(caseMethod, message)).getNumber();
2018  if (fieldNumber > 0) {
2019  return descriptor.findFieldByNumber(fieldNumber);
2020  }
2021  return null;
2022  }
2023 
2025  int fieldNumber = ((Internal.EnumLite) invokeOrDie(caseMethodBuilder, builder)).getNumber();
2026  if (fieldNumber > 0) {
2027  return descriptor.findFieldByNumber(fieldNumber);
2028  }
2029  return null;
2030  }
2031 
2032  public void clear(final Builder builder) {
2033  invokeOrDie(clearMethod, builder);
2034  }
2035  }
2036 
2037  private static boolean supportFieldPresence(FileDescriptor file) {
2038  return file.getSyntax() == FileDescriptor.Syntax.PROTO2;
2039  }
2040 
2041  // ---------------------------------------------------------------
2042 
2043  private static class SingularFieldAccessor implements FieldAccessor {
2045  final FieldDescriptor descriptor, final String camelCaseName,
2046  final Class<? extends GeneratedMessageV3> messageClass,
2047  final Class<? extends Builder> builderClass,
2048  final String containingOneofCamelCaseName) {
2049  field = descriptor;
2050  isOneofField = descriptor.getContainingOneof() != null;
2052  || (!isOneofField && descriptor.getJavaType() == FieldDescriptor.JavaType.MESSAGE);
2053  getMethod = getMethodOrDie(messageClass, "get" + camelCaseName);
2054  getMethodBuilder = getMethodOrDie(builderClass, "get" + camelCaseName);
2055  type = getMethod.getReturnType();
2056  setMethod = getMethodOrDie(builderClass, "set" + camelCaseName, type);
2057  hasMethod =
2058  hasHasMethod ? getMethodOrDie(messageClass, "has" + camelCaseName) : null;
2060  hasHasMethod ? getMethodOrDie(builderClass, "has" + camelCaseName) : null;
2061  clearMethod = getMethodOrDie(builderClass, "clear" + camelCaseName);
2063  messageClass, "get" + containingOneofCamelCaseName + "Case") : null;
2065  builderClass, "get" + containingOneofCamelCaseName + "Case") : null;
2066  }
2067 
2068  // Note: We use Java reflection to call public methods rather than
2069  // access private fields directly as this avoids runtime security
2070  // checks.
2071  protected final Class<?> type;
2072  protected final Method getMethod;
2073  protected final Method getMethodBuilder;
2074  protected final Method setMethod;
2075  protected final Method hasMethod;
2076  protected final Method hasMethodBuilder;
2077  protected final Method clearMethod;
2078  protected final Method caseMethod;
2079  protected final Method caseMethodBuilder;
2080  protected final FieldDescriptor field;
2081  protected final boolean isOneofField;
2082  protected final boolean hasHasMethod;
2083 
2085  return ((Internal.EnumLite) invokeOrDie(caseMethod, message)).getNumber();
2086  }
2087 
2088  private int getOneofFieldNumber(final GeneratedMessageV3.Builder builder) {
2089  return ((Internal.EnumLite) invokeOrDie(caseMethodBuilder, builder)).getNumber();
2090  }
2091 
2092  @Override
2093  public Object get(final GeneratedMessageV3 message) {
2094  return invokeOrDie(getMethod, message);
2095  }
2096  @Override
2097  public Object get(GeneratedMessageV3.Builder builder) {
2098  return invokeOrDie(getMethodBuilder, builder);
2099  }
2100  @Override
2101  public Object getRaw(final GeneratedMessageV3 message) {
2102  return get(message);
2103  }
2104  @Override
2105  public Object getRaw(GeneratedMessageV3.Builder builder) {
2106  return get(builder);
2107  }
2108  @Override
2109  public void set(final Builder builder, final Object value) {
2110  invokeOrDie(setMethod, builder, value);
2111  }
2112  @Override
2113  public Object getRepeated(final GeneratedMessageV3 message, final int index) {
2114  throw new UnsupportedOperationException(
2115  "getRepeatedField() called on a singular field.");
2116  }
2117  @Override
2118  public Object getRepeatedRaw(final GeneratedMessageV3 message, final int index) {
2119  throw new UnsupportedOperationException(
2120  "getRepeatedFieldRaw() called on a singular field.");
2121  }
2122  @Override
2123  public Object getRepeated(GeneratedMessageV3.Builder builder, int index) {
2124  throw new UnsupportedOperationException(
2125  "getRepeatedField() called on a singular field.");
2126  }
2127  @Override
2128  public Object getRepeatedRaw(GeneratedMessageV3.Builder builder, int index) {
2129  throw new UnsupportedOperationException(
2130  "getRepeatedFieldRaw() called on a singular field.");
2131  }
2132  @Override
2133  public void setRepeated(final Builder builder, final int index, final Object value) {
2134  throw new UnsupportedOperationException(
2135  "setRepeatedField() called on a singular field.");
2136  }
2137  @Override
2138  public void addRepeated(final Builder builder, final Object value) {
2139  throw new UnsupportedOperationException(
2140  "addRepeatedField() called on a singular field.");
2141  }
2142  @Override
2143  public boolean has(final GeneratedMessageV3 message) {
2144  if (!hasHasMethod) {
2145  if (isOneofField) {
2147  }
2148  return !get(message).equals(field.getDefaultValue());
2149  }
2150  return (Boolean) invokeOrDie(hasMethod, message);
2151  }
2152  @Override
2153  public boolean has(GeneratedMessageV3.Builder builder) {
2154  if (!hasHasMethod) {
2155  if (isOneofField) {
2156  return getOneofFieldNumber(builder) == field.getNumber();
2157  }
2158  return !get(builder).equals(field.getDefaultValue());
2159  }
2160  return (Boolean) invokeOrDie(hasMethodBuilder, builder);
2161  }
2162  @Override
2164  throw new UnsupportedOperationException(
2165  "getRepeatedFieldSize() called on a singular field.");
2166  }
2167  @Override
2169  throw new UnsupportedOperationException(
2170  "getRepeatedFieldSize() called on a singular field.");
2171  }
2172  @Override
2173  public void clear(final Builder builder) {
2174  invokeOrDie(clearMethod, builder);
2175  }
2176  @Override
2178  throw new UnsupportedOperationException(
2179  "newBuilderForField() called on a non-Message type.");
2180  }
2181  @Override
2183  throw new UnsupportedOperationException(
2184  "getFieldBuilder() called on a non-Message type.");
2185  }
2186  @Override
2188  throw new UnsupportedOperationException(
2189  "getRepeatedFieldBuilder() called on a non-Message type.");
2190  }
2191  }
2192 
2193  private static class RepeatedFieldAccessor implements FieldAccessor {
2194  protected final Class type;
2195  protected final Method getMethod;
2196  protected final Method getMethodBuilder;
2197  protected final Method getRepeatedMethod;
2199  protected final Method setRepeatedMethod;
2200  protected final Method addRepeatedMethod;
2201  protected final Method getCountMethod;
2203  protected final Method clearMethod;
2204 
2206  final FieldDescriptor descriptor, final String camelCaseName,
2207  final Class<? extends GeneratedMessageV3> messageClass,
2208  final Class<? extends Builder> builderClass) {
2209  getMethod = getMethodOrDie(messageClass,
2210  "get" + camelCaseName + "List");
2211  getMethodBuilder = getMethodOrDie(builderClass,
2212  "get" + camelCaseName + "List");
2214  getMethodOrDie(messageClass, "get" + camelCaseName, Integer.TYPE);
2216  getMethodOrDie(builderClass, "get" + camelCaseName, Integer.TYPE);
2217  type = getRepeatedMethod.getReturnType();
2219  getMethodOrDie(builderClass, "set" + camelCaseName,
2220  Integer.TYPE, type);
2222  getMethodOrDie(builderClass, "add" + camelCaseName, type);
2223  getCountMethod =
2224  getMethodOrDie(messageClass, "get" + camelCaseName + "Count");
2226  getMethodOrDie(builderClass, "get" + camelCaseName + "Count");
2227 
2228  clearMethod = getMethodOrDie(builderClass, "clear" + camelCaseName);
2229  }
2230 
2231  @Override
2232  public Object get(final GeneratedMessageV3 message) {
2233  return invokeOrDie(getMethod, message);
2234  }
2235  @Override
2236  public Object get(GeneratedMessageV3.Builder builder) {
2237  return invokeOrDie(getMethodBuilder, builder);
2238  }
2239  @Override
2240  public Object getRaw(final GeneratedMessageV3 message) {
2241  return get(message);
2242  }
2243  @Override
2244  public Object getRaw(GeneratedMessageV3.Builder builder) {
2245  return get(builder);
2246  }
2247  @Override
2248  public void set(final Builder builder, final Object value) {
2249  // Add all the elements individually. This serves two purposes:
2250  // 1) Verifies that each element has the correct type.
2251  // 2) Insures that the caller cannot modify the list later on and
2252  // have the modifications be reflected in the message.
2253  clear(builder);
2254  for (final Object element : (List<?>) value) {
2255  addRepeated(builder, element);
2256  }
2257  }
2258  @Override
2259  public Object getRepeated(final GeneratedMessageV3 message, final int index) {
2261  }
2262  @Override
2263  public Object getRepeated(GeneratedMessageV3.Builder builder, int index) {
2264  return invokeOrDie(getRepeatedMethodBuilder, builder, index);
2265  }
2266  @Override
2268  return getRepeated(message, index);
2269  }
2270  @Override
2271  public Object getRepeatedRaw(GeneratedMessageV3.Builder builder, int index) {
2272  return getRepeated(builder, index);
2273  }
2274  @Override
2275  public void setRepeated(final Builder builder, final int index, final Object value) {
2277  }
2278  @Override
2279  public void addRepeated(final Builder builder, final Object value) {
2280  invokeOrDie(addRepeatedMethod, builder, value);
2281  }
2282  @Override
2283  public boolean has(final GeneratedMessageV3 message) {
2284  throw new UnsupportedOperationException(
2285  "hasField() called on a repeated field.");
2286  }
2287  @Override
2288  public boolean has(GeneratedMessageV3.Builder builder) {
2289  throw new UnsupportedOperationException(
2290  "hasField() called on a repeated field.");
2291  }
2292  @Override
2294  return (Integer) invokeOrDie(getCountMethod, message);
2295  }
2296  @Override
2298  return (Integer) invokeOrDie(getCountMethodBuilder, builder);
2299  }
2300  @Override
2301  public void clear(final Builder builder) {
2302  invokeOrDie(clearMethod, builder);
2303  }
2304  @Override
2306  throw new UnsupportedOperationException(
2307  "newBuilderForField() called on a non-Message type.");
2308  }
2309  @Override
2311  throw new UnsupportedOperationException(
2312  "getFieldBuilder() called on a non-Message type.");
2313  }
2314  @Override
2316  throw new UnsupportedOperationException(
2317  "getRepeatedFieldBuilder() called on a non-Message type.");
2318  }
2319  }
2320 
2321  private static class MapFieldAccessor implements FieldAccessor {
2323  final FieldDescriptor descriptor, final String camelCaseName,
2324  final Class<? extends GeneratedMessageV3> messageClass,
2325  final Class<? extends Builder> builderClass) {
2326  field = descriptor;
2327  Method getDefaultInstanceMethod =
2328  getMethodOrDie(messageClass, "getDefaultInstance");
2329  MapField defaultMapField = getMapField(
2330  (GeneratedMessageV3) invokeOrDie(getDefaultInstanceMethod, null));
2332  defaultMapField.getMapEntryMessageDefaultInstance();
2333  }
2334 
2335  private final FieldDescriptor field;
2337 
2339  return (MapField<?, ?>) message.internalGetMapField(field.getNumber());
2340  }
2341 
2343  return (MapField<?, ?>) builder.internalGetMapField(field.getNumber());
2344  }
2345 
2347  GeneratedMessageV3.Builder builder) {
2348  return (MapField<?, ?>) builder.internalGetMutableMapField(
2349  field.getNumber());
2350  }
2351 
2353  if (value == null) {
2354  return null;
2355  }
2356  if (mapEntryMessageDefaultInstance.getClass().isInstance(value)) {
2357  return value;
2358  }
2359  // The value is not the exact right message type. However, if it
2360  // is an alternative implementation of the same type -- e.g. a
2361  // DynamicMessage -- we should accept it. In this case we can make
2362  // a copy of the message.
2364  }
2365 
2366  @Override
2367  @SuppressWarnings("unchecked")
2368  public Object get(GeneratedMessageV3 message) {
2369  List result = new ArrayList();
2370  for (int i = 0; i < getRepeatedCount(message); i++) {
2371  result.add(getRepeated(message, i));
2372  }
2373  return Collections.unmodifiableList(result);
2374  }
2375 
2376  @Override
2377  @SuppressWarnings("unchecked")
2378  public Object get(Builder builder) {
2379  List result = new ArrayList();
2380  for (int i = 0; i < getRepeatedCount(builder); i++) {
2381  result.add(getRepeated(builder, i));
2382  }
2383  return Collections.unmodifiableList(result);
2384  }
2385 
2386  @Override
2388  return get(message);
2389  }
2390 
2391  @Override
2392  public Object getRaw(GeneratedMessageV3.Builder builder) {
2393  return get(builder);
2394  }
2395 
2396  @Override
2397  public void set(Builder builder, Object value) {
2398  clear(builder);
2399  for (Object entry : (List) value) {
2400  addRepeated(builder, entry);
2401  }
2402  }
2403 
2404  @Override
2406  return getMapField(message).getList().get(index);
2407  }
2408 
2409  @Override
2410  public Object getRepeated(Builder builder, int index) {
2411  return getMapField(builder).getList().get(index);
2412  }
2413 
2414  @Override
2416  return getRepeated(message, index);
2417  }
2418 
2419  @Override
2420  public Object getRepeatedRaw(Builder builder, int index) {
2421  return getRepeated(builder, index);
2422  }
2423 
2424  @Override
2425  public void setRepeated(Builder builder, int index, Object value) {
2426  getMutableMapField(builder).getMutableList().set(index, coerceType((Message) value));
2427  }
2428 
2429  @Override
2430  public void addRepeated(Builder builder, Object value) {
2431  getMutableMapField(builder).getMutableList().add(coerceType((Message) value));
2432  }
2433 
2434  @Override
2435  public boolean has(GeneratedMessageV3 message) {
2436  throw new UnsupportedOperationException(
2437  "hasField() is not supported for repeated fields.");
2438  }
2439 
2440  @Override
2441  public boolean has(Builder builder) {
2442  throw new UnsupportedOperationException(
2443  "hasField() is not supported for repeated fields.");
2444  }
2445 
2446  @Override
2448  return getMapField(message).getList().size();
2449  }
2450 
2451  @Override
2452  public int getRepeatedCount(Builder builder) {
2453  return getMapField(builder).getList().size();
2454  }
2455 
2456  @Override
2457  public void clear(Builder builder) {
2458  getMutableMapField(builder).getMutableList().clear();
2459  }
2460 
2461  @Override
2464  }
2465 
2466  @Override
2468  throw new UnsupportedOperationException(
2469  "Nested builder not supported for map fields.");
2470  }
2471 
2472  @Override
2474  throw new UnsupportedOperationException(
2475  "Nested builder not supported for map fields.");
2476  }
2477  }
2478 
2479  // ---------------------------------------------------------------
2480 
2481  private static final class SingularEnumFieldAccessor
2482  extends SingularFieldAccessor {
2484  final FieldDescriptor descriptor, final String camelCaseName,
2485  final Class<? extends GeneratedMessageV3> messageClass,
2486  final Class<? extends Builder> builderClass,
2487  final String containingOneofCamelCaseName) {
2488  super(descriptor, camelCaseName, messageClass, builderClass, containingOneofCamelCaseName);
2489 
2490  enumDescriptor = descriptor.getEnumType();
2491 
2492  valueOfMethod = getMethodOrDie(type, "valueOf",
2493  EnumValueDescriptor.class);
2495  getMethodOrDie(type, "getValueDescriptor");
2496 
2497  supportUnknownEnumValue = descriptor.getFile().supportsUnknownEnumValue();
2499  getValueMethod =
2500  getMethodOrDie(messageClass, "get" + camelCaseName + "Value");
2502  getMethodOrDie(builderClass, "get" + camelCaseName + "Value");
2503  setValueMethod =
2504  getMethodOrDie(builderClass, "set" + camelCaseName + "Value", int.class);
2505  }
2506  }
2507 
2509 
2512 
2513  private boolean supportUnknownEnumValue;
2517 
2518  @Override
2519  public Object get(final GeneratedMessageV3 message) {
2521  int value = (Integer) invokeOrDie(getValueMethod, message);
2523  }
2524  return invokeOrDie(getValueDescriptorMethod, super.get(message));
2525  }
2526 
2527  @Override
2528  public Object get(final GeneratedMessageV3.Builder builder) {
2530  int value = (Integer) invokeOrDie(getValueMethodBuilder, builder);
2532  }
2533  return invokeOrDie(getValueDescriptorMethod, super.get(builder));
2534  }
2535 
2536  @Override
2537  public void set(final Builder builder, final Object value) {
2539  invokeOrDie(setValueMethod, builder,
2540  ((EnumValueDescriptor) value).getNumber());
2541  return;
2542  }
2543  super.set(builder, invokeOrDie(valueOfMethod, null, value));
2544  }
2545  }
2546 
2547  private static final class RepeatedEnumFieldAccessor
2548  extends RepeatedFieldAccessor {
2550  final FieldDescriptor descriptor, final String camelCaseName,
2551  final Class<? extends GeneratedMessageV3> messageClass,
2552  final Class<? extends Builder> builderClass) {
2553  super(descriptor, camelCaseName, messageClass, builderClass);
2554 
2555  enumDescriptor = descriptor.getEnumType();
2556 
2557  valueOfMethod = getMethodOrDie(type, "valueOf",
2558  EnumValueDescriptor.class);
2560  getMethodOrDie(type, "getValueDescriptor");
2561 
2562  supportUnknownEnumValue = descriptor.getFile().supportsUnknownEnumValue();
2565  getMethodOrDie(messageClass, "get" + camelCaseName + "Value", int.class);
2567  getMethodOrDie(builderClass, "get" + camelCaseName + "Value", int.class);
2569  getMethodOrDie(builderClass, "set" + camelCaseName + "Value", int.class, int.class);
2571  getMethodOrDie(builderClass, "add" + camelCaseName + "Value", int.class);
2572  }
2573  }
2575 
2576  private final Method valueOfMethod;
2578 
2579  private boolean supportUnknownEnumValue;
2584 
2585  @Override
2586  @SuppressWarnings("unchecked")
2587  public Object get(final GeneratedMessageV3 message) {
2588  final List newList = new ArrayList();
2589  final int size = getRepeatedCount(message);
2590  for (int i = 0; i < size; i++) {
2591  newList.add(getRepeated(message, i));
2592  }
2593  return Collections.unmodifiableList(newList);
2594  }
2595 
2596  @Override
2597  @SuppressWarnings("unchecked")
2598  public Object get(final GeneratedMessageV3.Builder builder) {
2599  final List newList = new ArrayList();
2600  final int size = getRepeatedCount(builder);
2601  for (int i = 0; i < size; i++) {
2602  newList.add(getRepeated(builder, i));
2603  }
2604  return Collections.unmodifiableList(newList);
2605  }
2606 
2607  @Override
2609  final int index) {
2613  }
2615  super.getRepeated(message, index));
2616  }
2617  @Override
2618  public Object getRepeated(final GeneratedMessageV3.Builder builder,
2619  final int index) {
2621  int value = (Integer) invokeOrDie(getRepeatedValueMethodBuilder, builder, index);
2623  }
2625  super.getRepeated(builder, index));
2626  }
2627  @Override
2628  public void setRepeated(final Builder builder,
2629  final int index, final Object value) {
2632  ((EnumValueDescriptor) value).getNumber());
2633  return;
2634  }
2635  super.setRepeated(builder, index, invokeOrDie(valueOfMethod, null,
2636  value));
2637  }
2638  @Override
2639  public void addRepeated(final Builder builder, final Object value) {
2642  ((EnumValueDescriptor) value).getNumber());
2643  return;
2644  }
2645  super.addRepeated(builder, invokeOrDie(valueOfMethod, null, value));
2646  }
2647  }
2648 
2649  // ---------------------------------------------------------------
2650 
2662  private static final class SingularStringFieldAccessor
2663  extends SingularFieldAccessor {
2665  final FieldDescriptor descriptor, final String camelCaseName,
2666  final Class<? extends GeneratedMessageV3> messageClass,
2667  final Class<? extends Builder> builderClass,
2668  final String containingOneofCamelCaseName) {
2669  super(descriptor, camelCaseName, messageClass, builderClass,
2670  containingOneofCamelCaseName);
2671  getBytesMethod = getMethodOrDie(messageClass,
2672  "get" + camelCaseName + "Bytes");
2673  getBytesMethodBuilder = getMethodOrDie(builderClass,
2674  "get" + camelCaseName + "Bytes");
2675  setBytesMethodBuilder = getMethodOrDie(builderClass,
2676  "set" + camelCaseName + "Bytes", ByteString.class);
2677  }
2678 
2679  private final Method getBytesMethod;
2682 
2683  @Override
2684  public Object getRaw(final GeneratedMessageV3 message) {
2686  }
2687 
2688  @Override
2689  public Object getRaw(GeneratedMessageV3.Builder builder) {
2690  return invokeOrDie(getBytesMethodBuilder, builder);
2691  }
2692 
2693  @Override
2694  public void set(GeneratedMessageV3.Builder builder, Object value) {
2695  if (value instanceof ByteString) {
2697  } else {
2698  super.set(builder, value);
2699  }
2700  }
2701  }
2702 
2703  // ---------------------------------------------------------------
2704 
2705  private static final class SingularMessageFieldAccessor
2706  extends SingularFieldAccessor {
2708  final FieldDescriptor descriptor, final String camelCaseName,
2709  final Class<? extends GeneratedMessageV3> messageClass,
2710  final Class<? extends Builder> builderClass,
2711  final String containingOneofCamelCaseName) {
2712  super(descriptor, camelCaseName, messageClass, builderClass,
2713  containingOneofCamelCaseName);
2714 
2715  newBuilderMethod = getMethodOrDie(type, "newBuilder");
2717  getMethodOrDie(builderClass, "get" + camelCaseName + "Builder");
2718  }
2719 
2720  private final Method newBuilderMethod;
2722 
2723  private Object coerceType(final Object value) {
2724  if (type.isInstance(value)) {
2725  return value;
2726  } else {
2727  // The value is not the exact right message type. However, if it
2728  // is an alternative implementation of the same type -- e.g. a
2729  // DynamicMessage -- we should accept it. In this case we can make
2730  // a copy of the message.
2731  return ((Message.Builder) invokeOrDie(newBuilderMethod, null))
2732  .mergeFrom((Message) value).buildPartial();
2733  }
2734  }
2735 
2736  @Override
2737  public void set(final Builder builder, final Object value) {
2738  super.set(builder, coerceType(value));
2739  }
2740  @Override
2742  return (Message.Builder) invokeOrDie(newBuilderMethod, null);
2743  }
2744  @Override
2747  }
2748  }
2749 
2750  private static final class RepeatedMessageFieldAccessor
2751  extends RepeatedFieldAccessor {
2753  final FieldDescriptor descriptor, final String camelCaseName,
2754  final Class<? extends GeneratedMessageV3> messageClass,
2755  final Class<? extends Builder> builderClass) {
2756  super(descriptor, camelCaseName, messageClass, builderClass);
2757 
2758  newBuilderMethod = getMethodOrDie(type, "newBuilder");
2759  getBuilderMethodBuilder = getMethodOrDie(builderClass,
2760  "get" + camelCaseName + "Builder", Integer.TYPE);
2761  }
2762 
2763  private final Method newBuilderMethod;
2765 
2766  private Object coerceType(final Object value) {
2767  if (type.isInstance(value)) {
2768  return value;
2769  } else {
2770  // The value is not the exact right message type. However, if it
2771  // is an alternative implementation of the same type -- e.g. a
2772  // DynamicMessage -- we should accept it. In this case we can make
2773  // a copy of the message.
2774  return ((Message.Builder) invokeOrDie(newBuilderMethod, null))
2775  .mergeFrom((Message) value).build();
2776  }
2777  }
2778 
2779  @Override
2780  public void setRepeated(final Builder builder,
2781  final int index, final Object value) {
2782  super.setRepeated(builder, index, coerceType(value));
2783  }
2784  @Override
2785  public void addRepeated(final Builder builder, final Object value) {
2786  super.addRepeated(builder, coerceType(value));
2787  }
2788  @Override
2790  return (Message.Builder) invokeOrDie(newBuilderMethod, null);
2791  }
2792  @Override
2794  final GeneratedMessageV3.Builder builder, final int index) {
2795  return (Message.Builder) invokeOrDie(
2796  getBuilderMethodBuilder, builder, index);
2797  }
2798  }
2799  }
2800 
2807  protected Object writeReplace() throws ObjectStreamException {
2808  return new GeneratedMessageLite.SerializedForm(this);
2809  }
2810 
2815  private static <MessageType extends ExtendableMessage<MessageType>, T>
2818  if (extension.isLite()) {
2819  throw new IllegalArgumentException("Expected non-lite extension.");
2820  }
2821 
2823  }
2824 
2825  protected static int computeStringSize(final int fieldNumber, final Object value) {
2826  if (value instanceof String) {
2827  return CodedOutputStream.computeStringSize(fieldNumber, (String) value);
2828  } else {
2829  return CodedOutputStream.computeBytesSize(fieldNumber, (ByteString) value);
2830  }
2831  }
2832 
2833  protected static int computeStringSizeNoTag(final Object value) {
2834  if (value instanceof String) {
2836  } else {
2838  }
2839  }
2840 
2841  protected static void writeString(
2842  CodedOutputStream output, final int fieldNumber, final Object value) throws IOException {
2843  if (value instanceof String) {
2844  output.writeString(fieldNumber, (String) value);
2845  } else {
2846  output.writeBytes(fieldNumber, (ByteString) value);
2847  }
2848  }
2849 
2850  protected static void writeStringNoTag(
2851  CodedOutputStream output, final Object value) throws IOException {
2852  if (value instanceof String) {
2853  output.writeStringNoTag((String) value);
2854  } else {
2855  output.writeBytesNoTag((ByteString) value);
2856  }
2857  }
2858 
2859  protected static <V> void serializeIntegerMapTo(
2860  CodedOutputStream out,
2862  MapEntry<Integer, V> defaultEntry,
2863  int fieldNumber) throws IOException {
2864  Map<Integer, V> m = field.getMap();
2865  if (!out.isSerializationDeterministic()) {
2866  serializeMapTo(out, m, defaultEntry, fieldNumber);
2867  return;
2868  }
2869  // Sorting the unboxed keys and then look up the values during serialziation is 2x faster
2870  // than sorting map entries with a custom comparator directly.
2871  int[] keys = new int[m.size()];
2872  int index = 0;
2873  for (int k : m.keySet()) {
2874  keys[index++] = k;
2875  }
2876  Arrays.sort(keys);
2877  for (int key : keys) {
2878  out.writeMessage(fieldNumber,
2879  defaultEntry.newBuilderForType()
2880  .setKey(key)
2881  .setValue(m.get(key))
2882  .build());
2883  }
2884  }
2885 
2886  protected static <V> void serializeLongMapTo(
2887  CodedOutputStream out,
2889  MapEntry<Long, V> defaultEntry,
2890  int fieldNumber)
2891  throws IOException {
2892  Map<Long, V> m = field.getMap();
2893  if (!out.isSerializationDeterministic()) {
2894  serializeMapTo(out, m, defaultEntry, fieldNumber);
2895  return;
2896  }
2897 
2898  long[] keys = new long[m.size()];
2899  int index = 0;
2900  for (long k : m.keySet()) {
2901  keys[index++] = k;
2902  }
2903  Arrays.sort(keys);
2904  for (long key : keys) {
2905  out.writeMessage(fieldNumber,
2906  defaultEntry.newBuilderForType()
2907  .setKey(key)
2908  .setValue(m.get(key))
2909  .build());
2910  }
2911  }
2912 
2913  protected static <V> void serializeStringMapTo(
2914  CodedOutputStream out,
2916  MapEntry<String, V> defaultEntry,
2917  int fieldNumber)
2918  throws IOException {
2919  Map<String, V> m = field.getMap();
2920  if (!out.isSerializationDeterministic()) {
2921  serializeMapTo(out, m, defaultEntry, fieldNumber);
2922  return;
2923  }
2924 
2925  // Sorting the String keys and then look up the values during serialziation is 25% faster than
2926  // sorting map entries with a custom comparator directly.
2927  String[] keys = new String[m.size()];
2928  keys = m.keySet().toArray(keys);
2929  Arrays.sort(keys);
2930  for (String key : keys) {
2931  out.writeMessage(fieldNumber,
2932  defaultEntry.newBuilderForType()
2933  .setKey(key)
2934  .setValue(m.get(key))
2935  .build());
2936  }
2937  }
2938 
2939  protected static <V> void serializeBooleanMapTo(
2940  CodedOutputStream out,
2942  MapEntry<Boolean, V> defaultEntry,
2943  int fieldNumber)
2944  throws IOException {
2945  Map<Boolean, V> m = field.getMap();
2946  if (!out.isSerializationDeterministic()) {
2947  serializeMapTo(out, m, defaultEntry, fieldNumber);
2948  return;
2949  }
2950  maybeSerializeBooleanEntryTo(out, m, defaultEntry, fieldNumber, false);
2951  maybeSerializeBooleanEntryTo(out, m, defaultEntry, fieldNumber, true);
2952  }
2953 
2954  private static <V> void maybeSerializeBooleanEntryTo(
2955  CodedOutputStream out,
2956  Map<Boolean, V> m,
2957  MapEntry<Boolean, V> defaultEntry,
2958  int fieldNumber,
2959  boolean key)
2960  throws IOException {
2961  if (m.containsKey(key)) {
2962  out.writeMessage(fieldNumber,
2963  defaultEntry.newBuilderForType()
2964  .setKey(key)
2965  .setValue(m.get(key))
2966  .build());
2967  }
2968  }
2969 
2971  private static <K, V> void serializeMapTo(
2972  CodedOutputStream out,
2973  Map<K, V> m,
2974  MapEntry<K, V> defaultEntry,
2975  int fieldNumber)
2976  throws IOException {
2977  for (Map.Entry<K, V> entry : m.entrySet()) {
2978  out.writeMessage(fieldNumber,
2979  defaultEntry.newBuilderForType()
2980  .setKey(entry.getKey())
2981  .setValue(entry.getValue())
2982  .build());
2983  }
2984  }
2985 }
2986 
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor.get
Object get(GeneratedMessageV3 message)
Definition: GeneratedMessageV3.java:2368
com.google.protobuf.GeneratedMessageV3.hasOneof
boolean hasOneof(final OneofDescriptor oneof)
Definition: GeneratedMessageV3.java:250
com.google.protobuf.Descriptors
Definition: Descriptors.java:80
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularMessageFieldAccessor
Definition: GeneratedMessageV3.java:2705
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor.getRepeatedRaw
Object getRepeatedRaw(Builder builder, int index)
Definition: GeneratedMessageV3.java:2420
Map
struct Map Map
Definition: php/ext/google/protobuf/protobuf.h:648
com.google.protobuf.GeneratedMessageV3.Builder.newBuilderForField
Message.Builder newBuilderForField(final FieldDescriptor field)
Definition: GeneratedMessageV3.java:666
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.getMethod
final Method getMethod
Definition: GeneratedMessageV3.java:2195
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.getExtension
final< Type > Type getExtension(final ExtensionLite< MessageType, List< Type >> extensionLite, final int index)
Definition: GeneratedMessageV3.java:1435
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularEnumFieldAccessor.enumDescriptor
EnumDescriptor enumDescriptor
Definition: GeneratedMessageV3.java:2508
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.setExtension
final< Type > BuilderType setExtension(final Extension< MessageType, List< Type >> extension, final int index, final Type value)
Definition: GeneratedMessageV3.java:1559
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.newBuilder
Message.Builder newBuilder()
Definition: GeneratedMessageV3.java:2177
com.google.protobuf.Internal.FloatList.mutableCopyWithCapacity
FloatList mutableCopyWithCapacity(int capacity)
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedMessageFieldAccessor.newBuilder
Message.Builder newBuilder()
Definition: GeneratedMessageV3.java:2789
java::lang
com.google.protobuf.GeneratedMessageV3.newDoubleList
static DoubleList newDoubleList()
Definition: GeneratedMessageV3.java:433
com.google.protobuf.GeneratedMessageV3.mutableCopy
static IntList mutableCopy(IntList list)
Definition: GeneratedMessageV3.java:395
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.getField
FieldAccessor getField(final FieldDescriptor field)
Definition: GeneratedMessageV3.java:1933
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.clearExtension
final< Type > BuilderType clearExtension(final ExtensionLite< MessageType, ?> extensionLite)
Definition: GeneratedMessageV3.java:1491
name
GLuint const GLchar * name
Definition: glcorearb.h:3055
com.google.protobuf.GeneratedMessageV3.Builder.isClean
boolean isClean
Definition: GeneratedMessageV3.java:541
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor.has
boolean has(Builder builder)
Definition: GeneratedMessageV3.java:2441
com.google.protobuf.GeneratedMessageV3
Definition: GeneratedMessageV3.java:79
com.google.protobuf.GeneratedMessageV3.computeStringSize
static int computeStringSize(final int fieldNumber, final Object value)
Definition: GeneratedMessageV3.java:2825
java::lang::reflect::Method
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.getExtension
final< Type > Type getExtension(final ExtensionLite< MessageType, Type > extensionLite)
Definition: GeneratedMessageV3.java:1412
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.getRepeatedBuilder
Message.Builder getRepeatedBuilder(GeneratedMessageV3.Builder builder, int index)
Definition: GeneratedMessageV3.java:2187
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.getExtension
final< Type > Type getExtension(final Extension< MessageType, List< Type >> extension, final int index)
Definition: GeneratedMessageV3.java:1538
com.google.protobuf.GeneratedMessageV3.Builder.Builder
Builder(BuilderParent builderParent)
Definition: GeneratedMessageV3.java:550
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularEnumFieldAccessor.getValueMethodBuilder
Method getValueMethodBuilder
Definition: GeneratedMessageV3.java:2515
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedMessageFieldAccessor.setRepeated
void setRepeated(final Builder builder, final int index, final Object value)
Definition: GeneratedMessageV3.java:2780
K
#define K(t)
Definition: sha1.c:43
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.getRepeatedField
Object getRepeatedField(final FieldDescriptor field, final int index)
Definition: GeneratedMessageV3.java:1652
Error
Error
com.google.protobuf.UnknownFieldSet.getDefaultInstance
static UnknownFieldSet getDefaultInstance()
Definition: UnknownFieldSet.java:76
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedMessageFieldAccessor.addRepeated
void addRepeated(final Builder builder, final Object value)
Definition: GeneratedMessageV3.java:2785
com.google.protobuf.GeneratedMessageV3.Builder.hasField
boolean hasField(final FieldDescriptor field)
Definition: GeneratedMessageV3.java:692
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedEnumFieldAccessor.setRepeated
void setRepeated(final Builder builder, final int index, final Object value)
Definition: GeneratedMessageV3.java:2628
com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter.UnusedPrivateParameter
UnusedPrivateParameter()
Definition: GeneratedMessageV3.java:488
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.getRepeatedCount
int getRepeatedCount(final GeneratedMessageV3 message)
Definition: GeneratedMessageV3.java:2293
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedEnumFieldAccessor.enumDescriptor
EnumDescriptor enumDescriptor
Definition: GeneratedMessageV3.java:2574
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.getExtensionCount
final< Type > int getExtensionCount(final GeneratedExtension< MessageType, List< Type >> extension)
Definition: GeneratedMessageV3.java:1081
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularEnumFieldAccessor.supportUnknownEnumValue
boolean supportUnknownEnumValue
Definition: GeneratedMessageV3.java:2513
com.google.protobuf.MessageOrBuilder.getDefaultInstanceForType
Message getDefaultInstanceForType()
google::protobuf::extension
const Descriptor::ReservedRange const EnumValueDescriptor const MethodDescriptor extension
Definition: src/google/protobuf/descriptor.h:2001
end
GLuint GLuint end
Definition: glcorearb.h:2858
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedEnumFieldAccessor.getRepeatedValueMethod
Method getRepeatedValueMethod
Definition: GeneratedMessageV3.java:2580
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.verifyExtensionContainingType
void verifyExtensionContainingType(final Extension< MessageType, ?> extension)
Definition: GeneratedMessageV3.java:1377
com.google.protobuf.WireFormat.JavaType.MESSAGE
MESSAGE
Definition: WireFormat.java:93
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.setRepeatedMethod
final Method setRepeatedMethod
Definition: GeneratedMessageV3.java:2199
com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder.hasExtension
< Type > boolean hasExtension(ExtensionLite< MessageType, Type > extension)
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.getField
Object getField(final FieldDescriptor field)
Definition: GeneratedMessageV3.java:1621
com.google.protobuf.GeneratedMessageV3.serializeMapTo
static< K, V > void serializeMapTo(CodedOutputStream out, Map< K, V > m, MapEntry< K, V > defaultEntry, int fieldNumber)
Definition: GeneratedMessageV3.java:2971
com.google.protobuf.GeneratedMessageV3.BuilderParent
Definition: GeneratedMessageV3.java:513
com.google.protobuf.GeneratedMessageLite
Definition: GeneratedMessageLite.java:60
com.google.protobuf.GeneratedMessageV3.makeExtensionsImmutable
void makeExtensionsImmutable()
Definition: GeneratedMessageV3.java:503
Method
struct Method Method
Definition: php/ext/google/protobuf/protobuf.h:652
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.mergeExtensionFields
final void mergeExtensionFields(final ExtendableMessage other)
Definition: GeneratedMessageV3.java:1736
com.google.protobuf.AbstractMessage.BuilderParent.markDirty
void markDirty()
com.google.protobuf.Message.Builder.mergeFrom
Builder mergeFrom(Message other)
com.google.protobuf.MapEntry
Definition: MapEntry.java:50
input
std::string input
Definition: tokenizer_unittest.cc:197
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor.getBuilder
com.google.protobuf.Message.Builder getBuilder(Builder builder)
Definition: GeneratedMessageV3.java:2467
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.getExtensionCount
final< Type > int getExtensionCount(final GeneratedExtension< MessageType, List< Type >> extension)
Definition: GeneratedMessageV3.java:1521
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.ExtendableBuilder
ExtendableBuilder(BuilderParent parent)
Definition: GeneratedMessageV3.java:1355
com.google.protobuf.Message.toBuilder
Builder toBuilder()
com.google.protobuf.GeneratedMessageV3.Builder.markClean
void markClean()
Definition: GeneratedMessageV3.java:573
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor.getMapField
MapField<?, ?> getMapField(GeneratedMessageV3 message)
Definition: GeneratedMessageV3.java:2338
com.google.protobuf.InvalidProtocolBufferException.unwrapIOException
IOException unwrapIOException()
Definition: InvalidProtocolBufferException.java:79
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.setRepeatedField
BuilderType setRepeatedField(final FieldDescriptor field, final int index, final Object value)
Definition: GeneratedMessageV3.java:1700
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.parseUnknownFieldProto3
boolean parseUnknownFieldProto3(CodedInputStream input, UnknownFieldSet.Builder unknownFields, ExtensionRegistryLite extensionRegistry, int tag)
Definition: GeneratedMessageV3.java:1135
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.caseMethod
final Method caseMethod
Definition: GeneratedMessageV3.java:2078
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedEnumFieldAccessor
Definition: GeneratedMessageV3.java:2547
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor.getMapField
MapField<?, ?> getMapField(GeneratedMessageV3.Builder builder)
Definition: GeneratedMessageV3.java:2342
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.isOneofField
final boolean isOneofField
Definition: GeneratedMessageV3.java:2081
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.OneofAccessor.has
boolean has(GeneratedMessageV3.Builder builder)
Definition: GeneratedMessageV3.java:2009
com.google.protobuf.GeneratedMessageV3.Builder.addRepeatedField
BuilderType addRepeatedField(final FieldDescriptor field, final Object value)
Definition: GeneratedMessageV3.java:747
com.google.protobuf.GeneratedMessageV3.Builder.getAllFieldsMutable
Map< FieldDescriptor, Object > getAllFieldsMutable()
Definition: GeneratedMessageV3.java:623
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedEnumFieldAccessor.addRepeated
void addRepeated(final Builder builder, final Object value)
Definition: GeneratedMessageV3.java:2639
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.FieldAccessor.getRepeated
Object getRepeated(GeneratedMessageV3 message, int index)
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.getRaw
Object getRaw(GeneratedMessageV3.Builder builder)
Definition: GeneratedMessageV3.java:2244
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.getRepeatedMethodBuilder
final Method getRepeatedMethodBuilder
Definition: GeneratedMessageV3.java:2198
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.getExtension
final< Type > Type getExtension(final Extension< MessageType, Type > extension)
Definition: GeneratedMessageV3.java:1527
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor
Definition: GeneratedMessageV3.java:2193
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.getOneofFieldNumber
int getOneofFieldNumber(final GeneratedMessageV3.Builder builder)
Definition: GeneratedMessageV3.java:2088
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.addRepeatedMethod
final Method addRepeatedMethod
Definition: GeneratedMessageV3.java:2200
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.getRepeatedCount
int getRepeatedCount(GeneratedMessageV3.Builder builder)
Definition: GeneratedMessageV3.java:2168
getName
ROSCONSOLE_CONSOLE_IMPL_DECL std::string getName(void *handle)
com.google.protobuf.Internal.LongList.mutableCopyWithCapacity
LongList mutableCopyWithCapacity(int capacity)
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.hasExtension
final< Type > boolean hasExtension(final Extension< MessageType, Type > extension)
Definition: GeneratedMessageV3.java:1064
com.google.protobuf.GeneratedMessageV3.mutableCopy
static BooleanList mutableCopy(BooleanList list)
Definition: GeneratedMessageV3.java:451
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.getRepeatedRaw
Object getRepeatedRaw(GeneratedMessageV3.Builder builder, int index)
Definition: GeneratedMessageV3.java:2128
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularStringFieldAccessor
Definition: GeneratedMessageV3.java:2662
com.google.protobuf.GeneratedMessageV3.emptyDoubleList
static DoubleList emptyDoubleList()
Definition: GeneratedMessageV3.java:429
com.google.protobuf.GeneratedMessageV3.serializeBooleanMapTo
static< V > void serializeBooleanMapTo(CodedOutputStream out, MapField< Boolean, V > field, MapEntry< Boolean, V > defaultEntry, int fieldNumber)
Definition: GeneratedMessageV3.java:2939
com.google.protobuf.GeneratedMessageV3.emptyFloatList
static FloatList emptyFloatList()
Definition: GeneratedMessageV3.java:415
com.google.protobuf.GeneratedMessageV3.Builder.onBuilt
void onBuilt()
Definition: GeneratedMessageV3.java:562
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.camelCaseNames
String[] camelCaseNames
Definition: GeneratedMessageV3.java:1928
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.getBuilder
Message.Builder getBuilder(GeneratedMessageV3.Builder builder)
Definition: GeneratedMessageV3.java:2182
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.getRaw
Object getRaw(final GeneratedMessageV3 message)
Definition: GeneratedMessageV3.java:2240
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.ExtendableMessage
ExtendableMessage()
Definition: GeneratedMessageV3.java:980
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.getRepeatedFieldCount
int getRepeatedFieldCount(final FieldDescriptor field)
Definition: GeneratedMessageV3.java:1279
com.google.protobuf.GeneratedMessageV3.getOneofFieldDescriptor
FieldDescriptor getOneofFieldDescriptor(final OneofDescriptor oneof)
Definition: GeneratedMessageV3.java:255
com.google.protobuf.GeneratedMessageV3.Builder.internalGetMutableMapField
MapField internalGetMutableMapField(int fieldNumber)
Definition: GeneratedMessageV3.java:874
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.getExtension
final< Type > Type getExtension(final GeneratedExtension< MessageType, List< Type >> extension, final int index)
Definition: GeneratedMessageV3.java:1544
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.clear
void clear(final Builder builder)
Definition: GeneratedMessageV3.java:2173
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor.mapEntryMessageDefaultInstance
final Message mapEntryMessageDefaultInstance
Definition: GeneratedMessageV3.java:2336
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularStringFieldAccessor.getRaw
Object getRaw(GeneratedMessageV3.Builder builder)
Definition: GeneratedMessageV3.java:2689
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.FieldAccessor.newBuilder
Message.Builder newBuilder()
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.FieldAccessor.addRepeated
void addRepeated(Builder builder, Object value)
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.getExtension
final< Type > Type getExtension(final GeneratedExtension< MessageType, Type > extension)
Definition: GeneratedMessageV3.java:1092
com.google.protobuf.Descriptors.OneofDescriptor.getContainingType
Descriptor getContainingType()
Definition: Descriptors.java:2618
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.ExtensionWriter.ExtensionWriter
ExtensionWriter(final boolean messageSetWireFormat)
Definition: GeneratedMessageV3.java:1167
com.google.protobuf
Definition: ProtoCaliperBenchmark.java:2
com.google.protobuf.GeneratedMessageV3.newIntList
static IntList newIntList()
Definition: GeneratedMessageV3.java:391
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedEnumFieldAccessor.valueOfMethod
final Method valueOfMethod
Definition: GeneratedMessageV3.java:2576
com.google.protobuf.GeneratedMessageV3.Builder.clearField
BuilderType clearField(final FieldDescriptor field)
Definition: GeneratedMessageV3.java:715
com.google.protobuf.GeneratedMessageV3.Builder.internalGetMapField
MapField internalGetMapField(int fieldNumber)
Definition: GeneratedMessageV3.java:865
com.google.protobuf.GeneratedMessageV3.serializeLongMapTo
static< V > void serializeLongMapTo(CodedOutputStream out, MapField< Long, V > field, MapEntry< Long, V > defaultEntry, int fieldNumber)
Definition: GeneratedMessageV3.java:2886
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor.getRaw
Object getRaw(GeneratedMessageV3.Builder builder)
Definition: GeneratedMessageV3.java:2392
descriptor
Descriptor * descriptor
Definition: php/ext/google/protobuf/protobuf.h:936
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.OneofAccessor
Definition: GeneratedMessageV3.java:1984
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.getRepeatedField
Object getRepeatedField(final FieldDescriptor field, final int index)
Definition: GeneratedMessageV3.java:1289
com.google.protobuf.Message.newBuilderForType
Builder newBuilderForType()
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularStringFieldAccessor.getBytesMethodBuilder
final Method getBytesMethodBuilder
Definition: GeneratedMessageV3.java:2680
java::lang::reflect
com.google.protobuf.AbstractMessage.equals
boolean equals(final Object other)
Definition: AbstractMessage.java:143
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.OneofAccessor.caseMethod
final Method caseMethod
Definition: GeneratedMessageV3.java:1998
com.google.protobuf.WireFormat
Definition: WireFormat.java:45
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.getField
Object getField(final FieldDescriptor field)
Definition: GeneratedMessageV3.java:1256
com.google.protobuf.GeneratedMessage.GeneratedExtension
Definition: GeneratedMessage.java:1757
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.getRepeated
Object getRepeated(GeneratedMessageV3.Builder builder, int index)
Definition: GeneratedMessageV3.java:2263
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.OneofAccessor.clearMethod
final Method clearMethod
Definition: GeneratedMessageV3.java:2000
com.google.protobuf.Descriptors.FieldDescriptor.Type
Definition: Descriptors.java:1215
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.setExtension
final< Type > BuilderType setExtension(final Extension< MessageType, Type > extension, final Type value)
Definition: GeneratedMessageV3.java:1549
com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder
Definition: GeneratedMessageV3.java:885
T
#define T(upbtypeconst, upbtype, ctype, default_value)
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.OneofAccessor.clear
void clear(final Builder builder)
Definition: GeneratedMessageV3.java:2032
com.google.protobuf.CodedOutputStream.computeBytesSizeNoTag
static int computeBytesSizeNoTag(final ByteString value)
Definition: CodedOutputStream.java:861
com.google.protobuf.Descriptors.FieldDescriptor.getDefaultValue
Object getDefaultValue()
Definition: Descriptors.java:1097
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.getAllFields
Map< FieldDescriptor, Object > getAllFields()
Definition: GeneratedMessageV3.java:1614
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.type
final Class<?> type
Definition: GeneratedMessageV3.java:2071
com.google.protobuf.GeneratedMessageV3.parseWithIOException
static< M extends Message > M parseWithIOException(Parser< M > parser, InputStream input, ExtensionRegistryLite extensions)
Definition: GeneratedMessageV3.java:338
com.google.protobuf.Descriptors.FileDescriptor.getSyntax
Syntax getSyntax()
Definition: Descriptors.java:169
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularMessageFieldAccessor.getBuilderMethodBuilder
final Method getBuilderMethodBuilder
Definition: GeneratedMessageV3.java:2721
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.hasExtension
final< Type > boolean hasExtension(final ExtensionLite< MessageType, Type > extensionLite)
Definition: GeneratedMessageV3.java:1392
com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder.getExtensionCount
< Type > int getExtensionCount(ExtensionLite< MessageType, List< Type >> extension)
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.oneofs
final OneofAccessor[] oneofs
Definition: GeneratedMessageV3.java:1929
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.FieldAccessor.getRepeatedCount
int getRepeatedCount(GeneratedMessageV3 message)
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.getRepeatedCount
int getRepeatedCount(GeneratedMessageV3.Builder builder)
Definition: GeneratedMessageV3.java:2297
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.buildExtensions
FieldSet< FieldDescriptor > buildExtensions()
Definition: GeneratedMessageV3.java:1600
com.google.protobuf.GeneratedMessageV3.Builder.setUnknownFieldsInternal
BuilderType setUnknownFieldsInternal(final UnknownFieldSet unknownFields)
Definition: GeneratedMessageV3.java:752
com.google.protobuf.UnknownFieldSet.newBuilder
static Builder newBuilder()
Definition: UnknownFieldSet.java:66
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.newMessageSetExtensionWriter
ExtensionWriter newMessageSetExtensionWriter()
Definition: GeneratedMessageV3.java:1210
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.verifyContainingType
void verifyContainingType(final FieldDescriptor field)
Definition: GeneratedMessageV3.java:1299
com.google.protobuf.Internal.LongList
Definition: Internal.java:631
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularStringFieldAccessor.setBytesMethodBuilder
final Method setBytesMethodBuilder
Definition: GeneratedMessageV3.java:2681
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor.has
boolean has(GeneratedMessageV3 message)
Definition: GeneratedMessageV3.java:2435
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.hasHasMethod
final boolean hasHasMethod
Definition: GeneratedMessageV3.java:2082
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.getExtensionCount
final< Type > int getExtensionCount(final Extension< MessageType, List< Type >> extension)
Definition: GeneratedMessageV3.java:1075
com.google.protobuf.GeneratedMessageV3.getField
Object getField(final FieldDescriptor field)
Definition: GeneratedMessageV3.java:265
com.google.protobuf.GeneratedMessageV3.GeneratedMessageV3
GeneratedMessageV3()
Definition: GeneratedMessageV3.java:93
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularEnumFieldAccessor
Definition: GeneratedMessageV3.java:2481
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.hasMethodBuilder
final Method hasMethodBuilder
Definition: GeneratedMessageV3.java:2076
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.newBuilder
Message.Builder newBuilder()
Definition: GeneratedMessageV3.java:2305
com.google.protobuf.GeneratedMessageV3.checkNotLite
static< MessageType extends ExtendableMessage< MessageType > T Extension< MessageType, T > checkNotLite(ExtensionLite< MessageType, T > extension)
Definition: GeneratedMessageV3.java:2816
com.google.protobuf.MapField
Definition: MapField.java:56
com.google.protobuf.GeneratedMessageV3.getAllFieldsMutable
Map< FieldDescriptor, Object > getAllFieldsMutable(boolean getBytesForString)
Definition: GeneratedMessageV3.java:151
com.google.protobuf.Descriptors.FieldDescriptor.JavaType.ENUM
ENUM
Definition: Descriptors.java:1270
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.extensionsSerializedSizeAsMessageSet
int extensionsSerializedSizeAsMessageSet()
Definition: GeneratedMessageV3.java:1218
com.google.protobuf.GeneratedMessageV3.writeTo
void writeTo(final CodedOutputStream output)
Definition: GeneratedMessageV3.java:459
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularEnumFieldAccessor.getValueMethod
Method getValueMethod
Definition: GeneratedMessageV3.java:2514
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedMessageFieldAccessor.coerceType
Object coerceType(final Object value)
Definition: GeneratedMessageV3.java:2766
com.google.protobuf.DynamicMessage.newBuilder
static Builder newBuilder(Descriptor type)
Definition: DynamicMessage.java:140
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedMessageFieldAccessor.getRepeatedBuilder
Message.Builder getRepeatedBuilder(final GeneratedMessageV3.Builder builder, final int index)
Definition: GeneratedMessageV3.java:2793
com.google.protobuf.Parser
Definition: Parser.java:47
com.google.protobuf.GeneratedMessageV3.Builder.meAsParent
BuilderParentImpl meAsParent
Definition: GeneratedMessageV3.java:537
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedEnumFieldAccessor.addRepeatedValueMethod
Method addRepeatedValueMethod
Definition: GeneratedMessageV3.java:2583
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.extensionsSerializedSize
int extensionsSerializedSize()
Definition: GeneratedMessageV3.java:1215
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.ensureFieldAccessorsInitialized
FieldAccessorTable ensureFieldAccessorsInitialized(Class<? extends GeneratedMessageV3 > messageClass, Class<? extends Builder > builderClass)
Definition: GeneratedMessageV3.java:1863
com.google.protobuf.CodedInputStream
Definition: CodedInputStream.java:61
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.has
boolean has(final GeneratedMessageV3 message)
Definition: GeneratedMessageV3.java:2143
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.getExtensionCount
final< Type > int getExtensionCount(final ExtensionLite< MessageType, List< Type >> extensionLite)
Definition: GeneratedMessageV3.java:1401
com.google.protobuf.GeneratedMessageV3.Builder.getRepeatedField
Object getRepeatedField(final FieldDescriptor field, final int index)
Definition: GeneratedMessageV3.java:733
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.FieldAccessor.has
boolean has(GeneratedMessageV3 message)
com.google.protobuf.LazyField.LazyEntry
Definition: LazyField.java:91
com.google.protobuf.Descriptors.OneofDescriptor
Definition: Descriptors.java:2597
com.google.protobuf.AbstractMessage.memoizedSize
int memoizedSize
Definition: AbstractMessage.java:119
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.supportFieldPresence
static boolean supportFieldPresence(FileDescriptor file)
Definition: GeneratedMessageV3.java:2037
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.ExtensionWriter.next
Map.Entry< FieldDescriptor, Object > next
Definition: GeneratedMessageV3.java:1164
com.google.protobuf.Message.Builder
Definition: Message.java:104
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.setMethod
final Method setMethod
Definition: GeneratedMessageV3.java:2074
com.google.protobuf.Descriptors.FieldDescriptor.JavaType.STRING
STRING
Definition: Descriptors.java:1268
com.google.protobuf.UnknownFieldSet
Definition: UnknownFieldSet.java:58
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.hasMethod
final Method hasMethod
Definition: GeneratedMessageV3.java:2075
com.google.protobuf.GeneratedMessageV3.emptyLongList
static LongList emptyLongList()
Definition: GeneratedMessageV3.java:401
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.getOneof
OneofAccessor getOneof(final OneofDescriptor oneof)
Definition: GeneratedMessageV3.java:1947
com.google.protobuf.GeneratedMessageV3.Builder.setRepeatedField
BuilderType setRepeatedField(final FieldDescriptor field, final int index, final Object value)
Definition: GeneratedMessageV3.java:739
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.addRepeated
void addRepeated(final Builder builder, final Object value)
Definition: GeneratedMessageV3.java:2138
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor
Definition: GeneratedMessageV3.java:2321
com.google.protobuf.GeneratedMessageV3.ExtendableMessage
Definition: GeneratedMessageV3.java:971
com.google.protobuf.Internal.FloatList
Definition: Internal.java:671
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.newBuilderForField
Message.Builder newBuilderForField(final FieldDescriptor field)
Definition: GeneratedMessageV3.java:1728
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.ExtensionWriter.writeUntil
void writeUntil(final int end, final CodedOutputStream output)
Definition: GeneratedMessageV3.java:1174
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularEnumFieldAccessor.getValueDescriptorMethod
Method getValueDescriptorMethod
Definition: GeneratedMessageV3.java:2511
com.google.protobuf.GeneratedMessageV3.writeString
static void writeString(CodedOutputStream output, final int fieldNumber, final Object value)
Definition: GeneratedMessageV3.java:2841
com.google.protobuf.GeneratedMessageV3.newBooleanList
static BooleanList newBooleanList()
Definition: GeneratedMessageV3.java:447
com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
Definition: GeneratedMessageV3.java:485
com.google.protobuf.Internal.EnumLite
Definition: Internal.java:199
com.google.protobuf.Descriptors.OneofDescriptor.getFieldCount
int getFieldCount()
Definition: Descriptors.java:2622
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.has
boolean has(GeneratedMessageV3.Builder builder)
Definition: GeneratedMessageV3.java:2288
com.google.protobuf.GeneratedMessageV3.Builder.getOneofFieldDescriptor
FieldDescriptor getOneofFieldDescriptor(final OneofDescriptor oneof)
Definition: GeneratedMessageV3.java:687
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.ExtendableMessage
ExtendableMessage(ExtendableBuilder< MessageType, ?> builder)
Definition: GeneratedMessageV3.java:984
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.makeExtensionsImmutable
void makeExtensionsImmutable()
Definition: GeneratedMessageV3.java:1148
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.has
boolean has(final GeneratedMessageV3 message)
Definition: GeneratedMessageV3.java:2283
com.google.protobuf.Descriptors.FieldDescriptor.getNumber
int getNumber()
Definition: Descriptors.java:974
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.OneofAccessor.has
boolean has(final GeneratedMessageV3 message)
Definition: GeneratedMessageV3.java:2002
com.google.protobuf.GeneratedMessageV3.Builder.builderParent
BuilderParent builderParent
Definition: GeneratedMessageV3.java:535
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.FieldAccessor.getRepeatedRaw
Object getRepeatedRaw(GeneratedMessageV3 message, int index)
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor.getRepeatedCount
int getRepeatedCount(Builder builder)
Definition: GeneratedMessageV3.java:2452
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularMessageFieldAccessor.newBuilderMethod
final Method newBuilderMethod
Definition: GeneratedMessageV3.java:2720
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.getRepeated
Object getRepeated(final GeneratedMessageV3 message, final int index)
Definition: GeneratedMessageV3.java:2259
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor
Definition: GeneratedMessageV3.java:2043
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.ExtensionWriter
Definition: GeneratedMessageV3.java:1158
com.google.protobuf.GeneratedMessageV3.Builder.setUnknownFieldsProto3
BuilderType setUnknownFieldsProto3(final UnknownFieldSet unknownFields)
Definition: GeneratedMessageV3.java:767
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularMessageFieldAccessor.getBuilder
Message.Builder getBuilder(GeneratedMessageV3.Builder builder)
Definition: GeneratedMessageV3.java:2745
com.google.protobuf.GeneratedMessageV3.isInitialized
boolean isInitialized()
Definition: GeneratedMessageV3.java:199
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor.addRepeated
void addRepeated(Builder builder, Object value)
Definition: GeneratedMessageV3.java:2430
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.type
final Class type
Definition: GeneratedMessageV3.java:2194
com.google.protobuf.DynamicMessage.getDefaultInstance
static DynamicMessage getDefaultInstance(Descriptor type)
Definition: DynamicMessage.java:78
com.google.protobuf.Descriptors.FieldDescriptor.JavaType
Definition: Descriptors.java:1262
com.google.protobuf.GeneratedMessageV3.Builder.hasOneof
boolean hasOneof(final OneofDescriptor oneof)
Definition: GeneratedMessageV3.java:682
com.google.protobuf.GeneratedMessageV3.Builder.getRepeatedFieldCount
int getRepeatedFieldCount(final FieldDescriptor field)
Definition: GeneratedMessageV3.java:727
com.google.protobuf.GeneratedMessageV3.Builder.getRepeatedFieldBuilder
Message.Builder getRepeatedFieldBuilder(final FieldDescriptor field, int index)
Definition: GeneratedMessageV3.java:676
com.google.protobuf.GeneratedMessageV3.newFloatList
static FloatList newFloatList()
Definition: GeneratedMessageV3.java:419
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor.getMutableMapField
MapField<?, ?> getMutableMapField(GeneratedMessageV3.Builder builder)
Definition: GeneratedMessageV3.java:2346
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.FieldAccessorTable
FieldAccessorTable(final Descriptor descriptor, final String[] camelCaseNames, final Class<? extends GeneratedMessageV3 > messageClass, final Class<? extends Builder > builderClass)
Definition: GeneratedMessageV3.java:1833
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.getAllFieldsRaw
Map< FieldDescriptor, Object > getAllFieldsRaw()
Definition: GeneratedMessageV3.java:1238
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.FieldAccessorTable
FieldAccessorTable(final Descriptor descriptor, final String[] camelCaseNames)
Definition: GeneratedMessageV3.java:1846
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.addExtension
final< Type > BuilderType addExtension(final ExtensionLite< MessageType, List< Type >> extensionLite, final Type value)
Definition: GeneratedMessageV3.java:1476
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.getExtension
final< Type > Type getExtension(final ExtensionLite< MessageType, Type > extensionLite)
Definition: GeneratedMessageV3.java:1028
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.addRepeatedField
BuilderType addRepeatedField(final FieldDescriptor field, final Object value)
Definition: GeneratedMessageV3.java:1714
com.google.protobuf.GeneratedMessageV3.parseUnknownFieldProto3
boolean parseUnknownFieldProto3(CodedInputStream input, UnknownFieldSet.Builder unknownFields, ExtensionRegistryLite extensionRegistry, int tag)
Definition: GeneratedMessageV3.java:320
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.extensionsAreInitialized
boolean extensionsAreInitialized()
Definition: GeneratedMessageV3.java:1110
com.google.protobuf.MessageOrBuilder
Definition: MessageOrBuilder.java:42
com.google.protobuf.Descriptors.EnumDescriptor
Definition: Descriptors.java:1583
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.FieldAccessor.setRepeated
void setRepeated(Builder builder, int index, Object value)
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedEnumFieldAccessor.getRepeatedValueMethodBuilder
Method getRepeatedValueMethodBuilder
Definition: GeneratedMessageV3.java:2581
size
#define size
Definition: glcorearb.h:2944
com.google.protobuf.GeneratedMessageV3.getAllFields
Map< FieldDescriptor, Object > getAllFields()
Definition: GeneratedMessageV3.java:229
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.getCountMethod
final Method getCountMethod
Definition: GeneratedMessageV3.java:2201
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.ExtensionWriter.iter
final Iterator< Map.Entry< FieldDescriptor, Object > > iter
Definition: GeneratedMessageV3.java:1162
com.google.protobuf.Descriptors.Descriptor.getFields
List< FieldDescriptor > getFields()
Definition: Descriptors.java:696
params
GLenum const GLfloat * params
Definition: glcorearb.h:2770
com.google.protobuf.GeneratedMessageV3.serialVersionUID
static final long serialVersionUID
Definition: GeneratedMessageV3.java:81
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.getRepeated
Object getRepeated(GeneratedMessageV3.Builder builder, int index)
Definition: GeneratedMessageV3.java:2123
com.google.protobuf.GeneratedMessage
Definition: GeneratedMessage.java:61
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.setExtension
final< Type > BuilderType setExtension(final ExtensionLite< MessageType, List< Type >> extensionLite, final int index, final Type value)
Definition: GeneratedMessageV3.java:1460
com.google.protobuf.GeneratedMessageV3.Builder.setUnknownFields
BuilderType setUnknownFields(final UnknownFieldSet unknownFields)
Definition: GeneratedMessageV3.java:759
com.google.protobuf.GeneratedMessageV3.Builder.isInitialized
boolean isInitialized()
Definition: GeneratedMessageV3.java:782
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.addRepeated
void addRepeated(final Builder builder, final Object value)
Definition: GeneratedMessageV3.java:2279
com.google.protobuf.GeneratedMessageV3.newBuilderForType
Message.Builder newBuilderForType(final AbstractMessage.BuilderParent parent)
Definition: GeneratedMessageV3.java:521
com.google.protobuf.GeneratedMessageV3.Builder.clone
BuilderType clone()
Definition: GeneratedMessageV3.java:587
com.google.protobuf.GeneratedMessageV3.Builder.getParentForChildren
BuilderParent getParentForChildren()
Definition: GeneratedMessageV3.java:833
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor.field
final FieldDescriptor field
Definition: GeneratedMessageV3.java:2335
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.clear
void clear(final Builder builder)
Definition: GeneratedMessageV3.java:2301
com.google.protobuf.Descriptors.FileDescriptor.Syntax
Definition: Descriptors.java:156
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor.getRepeated
Object getRepeated(Builder builder, int index)
Definition: GeneratedMessageV3.java:2410
com.google.protobuf.GeneratedMessageV3.parseWithIOException
static< M extends Message > M parseWithIOException(Parser< M > parser, InputStream input)
Definition: GeneratedMessageV3.java:329
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularMessageFieldAccessor.newBuilder
Message.Builder newBuilder()
Definition: GeneratedMessageV3.java:2741
com.google.protobuf.Message.Builder.build
Message build()
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.field
final FieldDescriptor field
Definition: GeneratedMessageV3.java:2080
com.google.protobuf.ExtensionRegistryLite
Definition: ExtensionRegistryLite.java:70
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.FieldAccessor.clear
void clear(Builder builder)
com.google.protobuf.Internal.BooleanList
Definition: Internal.java:611
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.hasExtension
final< Type > boolean hasExtension(final GeneratedExtension< MessageType, Type > extension)
Definition: GeneratedMessageV3.java:1509
com.google.protobuf.GeneratedMessageV3.parseWithIOException
static< M extends Message > M parseWithIOException(Parser< M > parser, CodedInputStream input)
Definition: GeneratedMessageV3.java:347
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.clearMethod
final Method clearMethod
Definition: GeneratedMessageV3.java:2203
com.google.protobuf.UnknownFieldSet.Builder
Definition: UnknownFieldSet.java:308
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor.getRaw
Object getRaw(GeneratedMessageV3 message)
Definition: GeneratedMessageV3.java:2387
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.initialized
volatile boolean initialized
Definition: GeneratedMessageV3.java:1930
field
const FieldDescriptor * field
Definition: parser_unittest.cc:2694
com.google.protobuf.GeneratedMessageV3.writeReplace
Object writeReplace()
Definition: GeneratedMessageV3.java:2807
key
const SETUP_TEARDOWN_TESTCONTEXT char * key
Definition: test_wss_transport.cpp:10
com.google.protobuf.GeneratedMessageV3.parseWithIOException
static< M extends Message > M parseWithIOException(Parser< M > parser, CodedInputStream input, ExtensionRegistryLite extensions)
Definition: GeneratedMessageV3.java:356
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.setRepeated
void setRepeated(final Builder builder, final int index, final Object value)
Definition: GeneratedMessageV3.java:2133
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.getRaw
Object getRaw(final GeneratedMessageV3 message)
Definition: GeneratedMessageV3.java:2101
com.google.protobuf.GeneratedMessageV3.writeStringNoTag
static void writeStringNoTag(CodedOutputStream output, final Object value)
Definition: GeneratedMessageV3.java:2850
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.caseMethodBuilder
final Method caseMethodBuilder
Definition: GeneratedMessageV3.java:2079
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.setRepeated
void setRepeated(final Builder builder, final int index, final Object value)
Definition: GeneratedMessageV3.java:2275
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularStringFieldAccessor.getBytesMethod
final Method getBytesMethod
Definition: GeneratedMessageV3.java:2679
com.google.protobuf.GeneratedMessageV3.Builder.getDescriptorForType
Descriptor getDescriptorForType()
Definition: GeneratedMessageV3.java:613
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.serialVersionUID
static final long serialVersionUID
Definition: GeneratedMessageV3.java:976
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.OneofAccessor.caseMethodBuilder
final Method caseMethodBuilder
Definition: GeneratedMessageV3.java:1999
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedMessageFieldAccessor
Definition: GeneratedMessageV3.java:2750
com.google.protobuf.GeneratedMessageV3.mutableCopy
static FloatList mutableCopy(FloatList list)
Definition: GeneratedMessageV3.java:423
com.google.protobuf.GeneratedMessageV3.serializeStringMapTo
static< V > void serializeStringMapTo(CodedOutputStream out, MapField< String, V > field, MapEntry< String, V > defaultEntry, int fieldNumber)
Definition: GeneratedMessageV3.java:2913
com.google.protobuf.CodedOutputStream.computeStringSize
static int computeStringSize(final int fieldNumber, final String value)
Definition: CodedOutputStream.java:620
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.getRepeatedCount
int getRepeatedCount(final GeneratedMessageV3 message)
Definition: GeneratedMessageV3.java:2163
i
int i
Definition: gmock-matchers_test.cc:764
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor.newBuilder
com.google.protobuf.Message.Builder newBuilder()
Definition: GeneratedMessageV3.java:2462
com.google.protobuf.AbstractMessage.Builder.mergeFrom
BuilderType mergeFrom(final Message other)
Definition: AbstractMessage.java:370
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.FieldAccessor.getRaw
Object getRaw(GeneratedMessageV3 message)
com.google.protobuf.GeneratedMessageV3.Builder.clearOneof
BuilderType clearOneof(final OneofDescriptor oneof)
Definition: GeneratedMessageV3.java:721
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.getRepeatedBuilder
Message.Builder getRepeatedBuilder(GeneratedMessageV3.Builder builder, int index)
Definition: GeneratedMessageV3.java:2315
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.OneofAccessor.get
FieldDescriptor get(final GeneratedMessageV3 message)
Definition: GeneratedMessageV3.java:2016
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor.getRepeatedCount
int getRepeatedCount(GeneratedMessageV3 message)
Definition: GeneratedMessageV3.java:2447
java
com.google.protobuf.Descriptors.Descriptor
Definition: Descriptors.java:629
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.getMethodBuilder
final Method getMethodBuilder
Definition: GeneratedMessageV3.java:2073
fields
static const upb_fielddef fields[107]
Definition: ruby/ext/google/protobuf_c/upb.c:7671
com.google.protobuf.GeneratedMessageV3.Builder
Definition: GeneratedMessageV3.java:532
com.google.protobuf.GeneratedMessageV3.emptyBooleanList
static BooleanList emptyBooleanList()
Definition: GeneratedMessageV3.java:443
com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder.getDefaultInstanceForType
Message getDefaultInstanceForType()
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.getRepeatedRaw
Object getRepeatedRaw(final GeneratedMessageV3 message, final int index)
Definition: GeneratedMessageV3.java:2118
com.google.protobuf.GeneratedMessageV3.canUseUnsafe
static boolean canUseUnsafe()
Definition: GeneratedMessageV3.java:383
type
GLenum type
Definition: glcorearb.h:2695
com.google.protobuf.GeneratedMessageV3.serializeIntegerMapTo
static< V > void serializeIntegerMapTo(CodedOutputStream out, MapField< Integer, V > field, MapEntry< Integer, V > defaultEntry, int fieldNumber)
Definition: GeneratedMessageV3.java:2859
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.getOneofFieldNumber
int getOneofFieldNumber(final GeneratedMessageV3 message)
Definition: GeneratedMessageV3.java:2084
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularMessageFieldAccessor.coerceType
Object coerceType(final Object value)
Definition: GeneratedMessageV3.java:2723
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedMessageFieldAccessor.newBuilderMethod
final Method newBuilderMethod
Definition: GeneratedMessageV3.java:2763
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.hasExtension
final< Type > boolean hasExtension(final ExtensionLite< MessageType, Type > extensionLite)
Definition: GeneratedMessageV3.java:1006
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.getBuilder
Message.Builder getBuilder(GeneratedMessageV3.Builder builder)
Definition: GeneratedMessageV3.java:2310
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.extensions
final FieldSet< FieldDescriptor > extensions
Definition: GeneratedMessageV3.java:978
com.google.protobuf.GeneratedMessageV3.getRepeatedFieldCount
int getRepeatedFieldCount(final FieldDescriptor field)
Definition: GeneratedMessageV3.java:282
com.google.protobuf.GeneratedMessageV3.Builder.onChanged
final void onChanged()
Definition: GeneratedMessageV3.java:844
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.getCountMethodBuilder
final Method getCountMethodBuilder
Definition: GeneratedMessageV3.java:2202
com.google.protobuf.GeneratedMessageV3.Builder.BuilderParentImpl
Definition: GeneratedMessageV3.java:821
com.google.protobuf.GeneratedMessageV3.hasField
boolean hasField(final FieldDescriptor field)
Definition: GeneratedMessageV3.java:260
com.google.protobuf.Descriptors.FileDescriptor.Syntax.PROTO2
PROTO2
Definition: Descriptors.java:158
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.verifyExtensionContainingType
void verifyExtensionContainingType(final Extension< MessageType, ?> extension)
Definition: GeneratedMessageV3.java:990
com.google.protobuf.Internal.BooleanList.mutableCopyWithCapacity
BooleanList mutableCopyWithCapacity(int capacity)
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor.setRepeated
void setRepeated(Builder builder, int index, Object value)
Definition: GeneratedMessageV3.java:2425
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.clearField
BuilderType clearField(final FieldDescriptor field)
Definition: GeneratedMessageV3.java:1687
com.google.protobuf.Descriptors.OneofDescriptor.getIndex
int getIndex()
Definition: Descriptors.java:2599
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.FieldAccessor.getRepeatedBuilder
Message.Builder getRepeatedBuilder(GeneratedMessageV3.Builder builder, int index)
com.google.protobuf.GeneratedMessageV3.internalGetMapField
MapField internalGetMapField(int fieldNumber)
Definition: GeneratedMessageV3.java:1810
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor.coerceType
Message coerceType(Message value)
Definition: GeneratedMessageV3.java:2352
com.google.protobuf.GeneratedMessageV3.getDescriptorForType
Descriptor getDescriptorForType()
Definition: GeneratedMessageV3.java:125
com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
static boolean alwaysUseFieldBuilders
Definition: GeneratedMessageV3.java:88
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedEnumFieldAccessor.getRepeated
Object getRepeated(final GeneratedMessageV3 message, final int index)
Definition: GeneratedMessageV3.java:2608
com.google.protobuf.GeneratedMessageV3.Builder.getUnknownFields
final UnknownFieldSet getUnknownFields()
Definition: GeneratedMessageV3.java:812
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.getExtension
final< Type > Type getExtension(final GeneratedExtension< MessageType, Type > extension)
Definition: GeneratedMessageV3.java:1532
com.google.protobuf.GeneratedMessageV3.getParserForType
Parser<? extends GeneratedMessageV3 > getParserForType()
Definition: GeneratedMessageV3.java:102
com.google.protobuf.GeneratedMessageV3.newInstance
Object newInstance(UnusedPrivateParameter unused)
Definition: GeneratedMessageV3.java:496
com.google.protobuf.GeneratedMessageV3.emptyIntList
static IntList emptyIntList()
Definition: GeneratedMessageV3.java:387
com.google.protobuf.GeneratedMessageV3.Builder.getFieldBuilder
Message.Builder getFieldBuilder(final FieldDescriptor field)
Definition: GeneratedMessageV3.java:671
com.google.protobuf.GeneratedMessageV3.Builder.Builder
Builder()
Definition: GeneratedMessageV3.java:546
com.google.protobuf.GeneratedMessageV3.Builder.clear
BuilderType clear()
Definition: GeneratedMessageV3.java:599
size
GLsizeiptr size
Definition: glcorearb.h:2943
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedEnumFieldAccessor.get
Object get(final GeneratedMessageV3 message)
Definition: GeneratedMessageV3.java:2587
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.ExtendableBuilder
ExtendableBuilder()
Definition: GeneratedMessageV3.java:1353
com.google.protobuf.GeneratedMessageV3.Builder.isClean
boolean isClean()
Definition: GeneratedMessageV3.java:582
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.has
boolean has(GeneratedMessageV3.Builder builder)
Definition: GeneratedMessageV3.java:2153
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularEnumFieldAccessor.setValueMethod
Method setValueMethod
Definition: GeneratedMessageV3.java:2516
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.getRepeatedMethod
final Method getRepeatedMethod
Definition: GeneratedMessageV3.java:2197
com.google.protobuf.DynamicMessage
Definition: DynamicMessage.java:51
com.google.protobuf.GeneratedMessageV3.invokeOrDie
static Object invokeOrDie(final Method method, final Object object, final Object... params)
Definition: GeneratedMessageV3.java:1777
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedEnumFieldAccessor.getRepeated
Object getRepeated(final GeneratedMessageV3.Builder builder, final int index)
Definition: GeneratedMessageV3.java:2618
com.google.protobuf.Descriptors.Descriptor.getOneofs
List< OneofDescriptor > getOneofs()
Definition: Descriptors.java:701
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.verifyContainingType
void verifyContainingType(final FieldDescriptor field)
Definition: GeneratedMessageV3.java:1742
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.ExtensionWriter.messageSetWireFormat
final boolean messageSetWireFormat
Definition: GeneratedMessageV3.java:1165
m
const upb_json_parsermethod * m
Definition: ruby/ext/google/protobuf_c/upb.h:10501
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder
Definition: GeneratedMessageV3.java:1345
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.setField
BuilderType setField(final FieldDescriptor field, final Object value)
Definition: GeneratedMessageV3.java:1673
com.google.protobuf.Internal.DoubleList.mutableCopyWithCapacity
DoubleList mutableCopyWithCapacity(int capacity)
com.google.protobuf.InvalidProtocolBufferException.setUnfinishedMessage
InvalidProtocolBufferException setUnfinishedMessage(MessageLite unfinishedMessage)
Definition: InvalidProtocolBufferException.java:63
com.google.protobuf.Internal.IntList
Definition: Internal.java:591
com.google.protobuf.GeneratedMessageV3.internalGetFieldAccessorTable
abstract FieldAccessorTable internalGetFieldAccessorTable()
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedEnumFieldAccessor.supportUnknownEnumValue
boolean supportUnknownEnumValue
Definition: GeneratedMessageV3.java:2579
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.parseUnknownField
boolean parseUnknownField(CodedInputStream input, UnknownFieldSet.Builder unknownFields, ExtensionRegistryLite extensionRegistry, int tag)
Definition: GeneratedMessageV3.java:1120
com.google
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.clearMethod
final Method clearMethod
Definition: GeneratedMessageV3.java:2077
com.google.protobuf.GeneratedMessageLite.SerializedForm
Definition: GeneratedMessageLite.java:1307
com
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.FieldAccessor.get
Object get(GeneratedMessageV3 message)
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor.clear
void clear(Builder builder)
Definition: GeneratedMessageV3.java:2457
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.getExtensionCount
final< Type > int getExtensionCount(final Extension< MessageType, List< Type >> extension)
Definition: GeneratedMessageV3.java:1515
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.hasExtension
final< Type > boolean hasExtension(final GeneratedExtension< MessageType, Type > extension)
Definition: GeneratedMessageV3.java:1069
com.google.protobuf.GeneratedMessageV3.getRepeatedField
Object getRepeatedField(final FieldDescriptor field, final int index)
Definition: GeneratedMessageV3.java:288
com.google.protobuf.AbstractMessage
Definition: AbstractMessage.java:52
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.FieldAccessor
Definition: GeneratedMessageV3.java:1959
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.getRepeatedRaw
Object getRepeatedRaw(GeneratedMessageV3 message, int index)
Definition: GeneratedMessageV3.java:2267
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.getRaw
Object getRaw(GeneratedMessageV3.Builder builder)
Definition: GeneratedMessageV3.java:2105
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.getExtension
final< Type > Type getExtension(final Extension< MessageType, Type > extension)
Definition: GeneratedMessageV3.java:1087
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.getAllFields
Map< FieldDescriptor, Object > getAllFields()
Definition: GeneratedMessageV3.java:1230
com.google.protobuf.ExtensionLite
Definition: ExtensionLite.java:39
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.getMethod
final Method getMethod
Definition: GeneratedMessageV3.java:2072
com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException
static< M extends Message > M parseDelimitedWithIOException(Parser< M > parser, InputStream input, ExtensionRegistryLite extensions)
Definition: GeneratedMessageV3.java:374
com.google.protobuf.Extension
Definition: Extension.java:39
com.google.protobuf.Internal
Definition: Internal.java:54
com.google.protobuf.AbstractMessage.BuilderParent
Definition: AbstractMessage.java:65
com.google.protobuf.CodedOutputStream
Definition: CodedOutputStream.java:59
com.google.protobuf.InvalidProtocolBufferException
Definition: InvalidProtocolBufferException.java:41
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.getExtensionCount
final< Type > int getExtensionCount(final ExtensionLite< MessageType, List< Type >> extensionLite)
Definition: GeneratedMessageV3.java:1016
com.google.protobuf.GeneratedMessageV3.newLongList
static LongList newLongList()
Definition: GeneratedMessageV3.java:405
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.getExtension
final< Type > Type getExtension(final Extension< MessageType, List< Type >> extension, final int index)
Definition: GeneratedMessageV3.java:1098
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.isInitialized
boolean isInitialized()
Definition: GeneratedMessageV3.java:1115
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor.getRepeatedRaw
Object getRepeatedRaw(GeneratedMessageV3 message, int index)
Definition: GeneratedMessageV3.java:2415
com.google.protobuf.GeneratedMessageV3.getUnknownFields
UnknownFieldSet getUnknownFields()
Definition: GeneratedMessageV3.java:294
com.google.protobuf.GeneratedMessageV3.Builder.getField
Object getField(final FieldDescriptor field)
Definition: GeneratedMessageV3.java:697
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedEnumFieldAccessor.setRepeatedValueMethod
Method setRepeatedValueMethod
Definition: GeneratedMessageV3.java:2582
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.getRepeatedFieldCount
int getRepeatedFieldCount(final FieldDescriptor field)
Definition: GeneratedMessageV3.java:1642
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularStringFieldAccessor.getRaw
Object getRaw(final GeneratedMessageV3 message)
Definition: GeneratedMessageV3.java:2684
com.google.protobuf.GeneratedMessageV3.mutableCopy
static DoubleList mutableCopy(DoubleList list)
Definition: GeneratedMessageV3.java:437
FieldDescriptor
struct FieldDescriptor FieldDescriptor
Definition: php/ext/google/protobuf/protobuf.h:637
com.google.protobuf.CodedOutputStream.computeStringSizeNoTag
static int computeStringSizeNoTag(final String value)
Definition: CodedOutputStream.java:839
com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException
static< M extends Message > M parseDelimitedWithIOException(Parser< M > parser, InputStream input)
Definition: GeneratedMessageV3.java:365
com.google.protobuf.Descriptors.EnumValueDescriptor
Definition: Descriptors.java:1774
value
GLsizei const GLfloat * value
Definition: glcorearb.h:3093
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.fields
final FieldAccessor[] fields
Definition: GeneratedMessageV3.java:1927
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.FieldAccessor.getBuilder
Message.Builder getBuilder(GeneratedMessageV3.Builder builder)
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.getMethodBuilder
final Method getMethodBuilder
Definition: GeneratedMessageV3.java:2196
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor.getRepeated
Object getRepeated(GeneratedMessageV3 message, int index)
Definition: GeneratedMessageV3.java:2405
com.google.protobuf.Internal.DoubleList
Definition: Internal.java:651
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.hasExtension
final< Type > boolean hasExtension(final Extension< MessageType, Type > extension)
Definition: GeneratedMessageV3.java:1504
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
Definition: GeneratedMessageV3.java:1821
com.google.protobuf.LazyField
Definition: LazyField.java:46
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedFieldAccessor.getRepeatedRaw
Object getRepeatedRaw(GeneratedMessageV3.Builder builder, int index)
Definition: GeneratedMessageV3.java:2271
output
const upb_json_parsermethod const upb_symtab upb_sink * output
Definition: ruby/ext/google/protobuf_c/upb.h:10503
com.google.protobuf.GeneratedMessageV3.Builder.mergeUnknownFields
BuilderType mergeUnknownFields(final UnknownFieldSet unknownFields)
Definition: GeneratedMessageV3.java:772
com.google.protobuf.GeneratedMessageV3.unknownFields
UnknownFieldSet unknownFields
Definition: GeneratedMessageV3.java:91
benchmarks.python.py_benchmark.parser
parser
Definition: py_benchmark.py:10
com.google.protobuf.Descriptors.FileDescriptor
Definition: Descriptors.java:87
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.MapFieldAccessor.getRepeatedBuilder
com.google.protobuf.Message.Builder getRepeatedBuilder(Builder builder, int index)
Definition: GeneratedMessageV3.java:2473
com.google.protobuf.GeneratedMessageV3.GeneratedMessageV3
GeneratedMessageV3(Builder<?> builder)
Definition: GeneratedMessageV3.java:97
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.isInitialized
boolean isInitialized()
Definition: GeneratedMessageV3.java:1606
com.google.protobuf.GeneratedMessageV3.getMethodOrDie
static Method getMethodOrDie(final Class clazz, final String name, final Class... params)
Definition: GeneratedMessageV3.java:1765
index
GLuint index
Definition: glcorearb.h:3055
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.addExtension
final< Type > BuilderType addExtension(final Extension< MessageType, List< Type >> extension, final Type value)
Definition: GeneratedMessageV3.java:1571
com.google.protobuf.GeneratedMessageV3.mutableCopy
static LongList mutableCopy(LongList list)
Definition: GeneratedMessageV3.java:409
com.google.protobuf.Internal.IntList.mutableCopyWithCapacity
IntList mutableCopyWithCapacity(int capacity)
com.google.protobuf.GeneratedMessageV3.Builder.BuilderParentImpl.markDirty
void markDirty()
Definition: GeneratedMessageV3.java:824
com.google.protobuf.CodedOutputStream.computeBytesSize
static int computeBytesSize(final int fieldNumber, final ByteString value)
Definition: CodedOutputStream.java:628
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.hasField
boolean hasField(final FieldDescriptor field)
Definition: GeneratedMessageV3.java:1663
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularEnumFieldAccessor.valueOfMethod
Method valueOfMethod
Definition: GeneratedMessageV3.java:2510
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.ensureExtensionsIsMutable
void ensureExtensionsIsMutable()
Definition: GeneratedMessageV3.java:1371
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.clear
BuilderType clear()
Definition: GeneratedMessageV3.java:1366
com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder.getExtension
< Type > Type getExtension(ExtensionLite< MessageType, Type > extension)
com.google.protobuf.GeneratedMessageV3.maybeSerializeBooleanEntryTo
static< V > void maybeSerializeBooleanEntryTo(CodedOutputStream out, Map< Boolean, V > m, MapEntry< Boolean, V > defaultEntry, int fieldNumber, boolean key)
Definition: GeneratedMessageV3.java:2954
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.OneofAccessor.descriptor
final Descriptor descriptor
Definition: GeneratedMessageV3.java:1997
message
GLenum GLuint GLenum GLsizei const GLchar * message
Definition: glcorearb.h:2695
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.descriptor
final Descriptor descriptor
Definition: GeneratedMessageV3.java:1926
com.google.protobuf.GeneratedMessageV3.mergeFromAndMakeImmutableInternal
void mergeFromAndMakeImmutableInternal(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
Definition: GeneratedMessageV3.java:129
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.getExtensionFields
Map< FieldDescriptor, Object > getExtensionFields()
Definition: GeneratedMessageV3.java:1225
com.google.protobuf.GeneratedMessageV3.Builder.setField
BuilderType setField(final FieldDescriptor field, final Object value)
Definition: GeneratedMessageV3.java:709
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.newExtensionWriter
ExtensionWriter newExtensionWriter()
Definition: GeneratedMessageV3.java:1207
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedEnumFieldAccessor.getValueDescriptorMethod
final Method getValueDescriptorMethod
Definition: GeneratedMessageV3.java:2577
com.google.protobuf.Message
Definition: Message.java:50
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.SingularFieldAccessor.getRepeated
Object getRepeated(final GeneratedMessageV3 message, final int index)
Definition: GeneratedMessageV3.java:2113
google::protobuf::method
const Descriptor::ReservedRange const EnumValueDescriptor method
Definition: src/google/protobuf/descriptor.h:1973
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.hasField
boolean hasField(final FieldDescriptor field)
Definition: GeneratedMessageV3.java:1246
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.setExtension
final< Type > BuilderType setExtension(final ExtensionLite< MessageType, Type > extensionLite, final Type value)
Definition: GeneratedMessageV3.java:1446
com.google.protobuf.GeneratedMessageV3.computeStringSizeNoTag
static int computeStringSizeNoTag(final Object value)
Definition: GeneratedMessageV3.java:2833
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.FieldAccessor.set
void set(Builder builder, Object value)
com.google.protobuf.GeneratedMessageV3.getSerializedSize
int getSerializedSize()
Definition: GeneratedMessageV3.java:464
com.google.protobuf.GeneratedMessageV3.Builder.getAllFields
Map< FieldDescriptor, Object > getAllFields()
Definition: GeneratedMessageV3.java:618
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.clearExtension
final< Type > BuilderType clearExtension(final Extension< MessageType, ?> extension)
Definition: GeneratedMessageV3.java:1581
com.google.protobuf.GeneratedMessageV3.ExtendableMessage.getExtension
final< Type > Type getExtension(final GeneratedExtension< MessageType, List< Type >> extension, final int index)
Definition: GeneratedMessageV3.java:1104
com.google.protobuf.Descriptors.Descriptor.getFile
FileDescriptor getFile()
Definition: Descriptors.java:681
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable.RepeatedMessageFieldAccessor.getBuilderMethodBuilder
final Method getBuilderMethodBuilder
Definition: GeneratedMessageV3.java:2764
com.google.protobuf.Descriptors.Descriptor.findFieldByNumber
FieldDescriptor findFieldByNumber(final int number)
Definition: Descriptors.java:780
com.google.protobuf.GeneratedMessageV3.parseUnknownField
boolean parseUnknownField(CodedInputStream input, UnknownFieldSet.Builder unknownFields, ExtensionRegistryLite extensionRegistry, int tag)
Definition: GeneratedMessageV3.java:304
com.google.protobuf.Descriptors.FieldDescriptor
Definition: Descriptors.java:949
com.google.protobuf.ByteString
Definition: ByteString.java:67
com.google.protobuf.GeneratedMessageV3.ExtendableBuilder.extensionsAreInitialized
boolean extensionsAreInitialized()
Definition: GeneratedMessageV3.java:1592
com.google.protobuf.WireFormat.JavaType
Definition: WireFormat.java:84
com.google.protobuf.Descriptors.FieldDescriptor.JavaType.MESSAGE
MESSAGE
Definition: Descriptors.java:1271
com.google.protobuf.Descriptors.EnumDescriptor.findValueByNumberCreatingIfUnknown
EnumValueDescriptor findValueByNumberCreatingIfUnknown(final int number)
Definition: Descriptors.java:1668


libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:51