protected Descriptors.OneofDescriptor getOneofDescriptor() { RubyFieldDescriptor fieldDescriptor = fields.get(0); return fieldDescriptor.getFieldDef().getContainingOneof(); }
final OneofDescriptor oneofDescriptor = field.getContainingOneof();
final OneofDescriptor oneofDescriptor = field.getContainingOneof();
@Override public Builder clearField(FieldDescriptor field) { verifyContainingType(field); ensureIsMutable(); OneofDescriptor oneofDescriptor = field.getContainingOneof(); if (oneofDescriptor != null) { int index = oneofDescriptor.getIndex(); if (oneofCases[index] == field) { oneofCases[index] = null; } } fields.clearField(field); return this; }
@Override public Builder setField(final FieldDescriptor field, final Object value) { verifyNotNull(value); verifyContainingType(field); final OneofDescriptor oneofDescriptor = field.getContainingOneof(); if (oneofDescriptor != null) { final FieldDescriptor oldField = builder.getOneofFieldDescriptor(oneofDescriptor); if (oldField != null && oldField != field) { clearField(oldField); } } return FieldHandlerType.getFieldHandler(field).setField(this, field, value); }
public Builder clearField(FieldDescriptor field) { verifyContainingType(field); ensureIsMutable(); OneofDescriptor oneofDescriptor = field.getContainingOneof(); if (oneofDescriptor != null) { int index = oneofDescriptor.getIndex(); if (oneofCases[index] == field) { oneofCases[index] = null; } } fields.clearField(field); return this; }
} else if ((singularOverwritePolicy == SingularOverwritePolicy.FORBID_SINGULAR_OVERWRITES) && field.getContainingOneof() != null && target.hasOneof(field.getContainingOneof())) { Descriptors.OneofDescriptor oneof = field.getContainingOneof(); throw tokenizer.parseExceptionPreviousToken("Field \"" + field.getFullName() + "\" is specified along with field \""
FieldDescriptor field = descriptor.getFields().get(i); String containingOneofCamelCaseName = null; if (field.getContainingOneof() != null) { containingOneofCamelCaseName = camelCaseNames[fieldsSize + field.getContainingOneof().getIndex()];
boolean isNonRepeatedProto3 = !fieldDescriptor.isRepeated() && fieldDescriptor.getContainingOneof() == null && fieldDescriptor.getFile().getSyntax() == Syntax.PROTO3; boolean ignoreFieldAbsence =
FieldDescriptor field = descriptor.getFields().get(i); String containingOneofCamelCaseName = null; if (field.getContainingOneof() != null) { containingOneofCamelCaseName = camelCaseNames[fieldsSize + field.getContainingOneof().getIndex()];
OneofDescriptor oneofDescriptor = fields[i].getContainingOneof(); if (oneofDescriptor != null) { oneofDescriptor.fields[oneofDescriptor.fieldCount++] = fields[i];
final OneofDescriptor oneofDescriptor = field.getContainingOneof();
final OneofDescriptor oneofDescriptor = field.getContainingOneof();
ensureEnumValueDescriptor(field, value); OneofDescriptor oneofDescriptor = field.getContainingOneof(); if (oneofDescriptor != null) { int index = oneofDescriptor.getIndex();
SingularFieldAccessor( final FieldDescriptor descriptor, final String camelCaseName, final Class<? extends GeneratedMessage> messageClass, final Class<? extends Builder> builderClass, final String containingOneofCamelCaseName) { field = descriptor; isOneofField = descriptor.getContainingOneof() != null; hasHasMethod = supportFieldPresence(descriptor.getFile()) || (!isOneofField && descriptor.getJavaType() == FieldDescriptor.JavaType.MESSAGE); getMethod = getMethodOrDie(messageClass, "get" + camelCaseName); getMethodBuilder = getMethodOrDie(builderClass, "get" + camelCaseName); type = getMethod.getReturnType(); setMethod = getMethodOrDie(builderClass, "set" + camelCaseName, type); hasMethod = hasHasMethod ? getMethodOrDie(messageClass, "has" + camelCaseName) : null; hasMethodBuilder = hasHasMethod ? getMethodOrDie(builderClass, "has" + camelCaseName) : null; clearMethod = getMethodOrDie(builderClass, "clear" + camelCaseName); caseMethod = isOneofField ? getMethodOrDie( messageClass, "get" + containingOneofCamelCaseName + "Case") : null; caseMethodBuilder = isOneofField ? getMethodOrDie( builderClass, "get" + containingOneofCamelCaseName + "Case") : null; }
SingularFieldAccessor( final FieldDescriptor descriptor, final String camelCaseName, final Class<? extends GeneratedMessageV3> messageClass, final Class<? extends Builder> builderClass, final String containingOneofCamelCaseName) { field = descriptor; isOneofField = descriptor.getContainingOneof() != null; hasHasMethod = supportFieldPresence(descriptor.getFile()) || (!isOneofField && descriptor.getJavaType() == FieldDescriptor.JavaType.MESSAGE); getMethod = getMethodOrDie(messageClass, "get" + camelCaseName); getMethodBuilder = getMethodOrDie(builderClass, "get" + camelCaseName); type = getMethod.getReturnType(); setMethod = getMethodOrDie(builderClass, "set" + camelCaseName, type); hasMethod = hasHasMethod ? getMethodOrDie(messageClass, "has" + camelCaseName) : null; hasMethodBuilder = hasHasMethod ? getMethodOrDie(builderClass, "has" + camelCaseName) : null; clearMethod = getMethodOrDie(builderClass, "clear" + camelCaseName); caseMethod = isOneofField ? getMethodOrDie( messageClass, "get" + containingOneofCamelCaseName + "Case") : null; caseMethodBuilder = isOneofField ? getMethodOrDie( builderClass, "get" + containingOneofCamelCaseName + "Case") : null; }
Descriptors.OneofDescriptor oneofDescriptor = fieldDescriptor.getContainingOneof(); if (oneofDescriptor != null) { Descriptors.FieldDescriptor oneofCase = oneofCases.get(oneofDescriptor);
protected IRubyObject getField(ThreadContext context, Descriptors.FieldDescriptor fieldDescriptor) { Descriptors.OneofDescriptor oneofDescriptor = fieldDescriptor.getContainingOneof(); if (oneofDescriptor != null) { if (oneofCases.get(oneofDescriptor) == fieldDescriptor) {
@Override public Builder clearField(FieldDescriptor field) { verifyContainingType(field); ensureIsMutable(); OneofDescriptor oneofDescriptor = field.getContainingOneof(); if (oneofDescriptor != null) { int index = oneofDescriptor.getIndex(); if (oneofCases[index] == field) { oneofCases[index] = null; } } fields.clearField(field); return this; }
@Override public void visit(IRubyObject key, IRubyObject value) { if (!(key instanceof RubySymbol) && !(key instanceof RubyString)) throw runtime.newTypeError("Expected string or symbols as hash keys in initialization map."); final Descriptors.FieldDescriptor fieldDescriptor = findField(context, key); if (Utils.isMapEntry(fieldDescriptor)) { if (!(value instanceof RubyHash)) throw runtime.newArgumentError("Expected Hash object as initializer value for map field '" + key.asJavaString() + "'."); final RubyMap map = newMapForField(context, fieldDescriptor); map.mergeIntoSelf(context, value); maps.put(fieldDescriptor, map); } else if (fieldDescriptor.isRepeated()) { if (!(value instanceof RubyArray)) throw runtime.newArgumentError("Expected array as initializer value for repeated field '" + key.asJavaString() + "'."); RubyRepeatedField repeatedField = rubyToRepeatedField(context, fieldDescriptor, value); addRepeatedField(fieldDescriptor, repeatedField); } else { Descriptors.OneofDescriptor oneof = fieldDescriptor.getContainingOneof(); if (oneof != null) { oneofCases.put(oneof, fieldDescriptor); } if (value instanceof RubyHash && fieldDescriptor.getType() == Descriptors.FieldDescriptor.Type.MESSAGE) { RubyDescriptor descriptor = (RubyDescriptor) getDescriptorForField(context, fieldDescriptor); RubyClass typeClass = (RubyClass) descriptor.msgclass(context); value = (IRubyObject) typeClass.newInstance(context, value, Block.NULL_BLOCK); } fields.put(fieldDescriptor, value); } } });