return Type.SINT64; default: GenericDescriptor descriptorByName = ctx.getDescriptorByName(fullTypeName); if (descriptorByName instanceof EnumDescriptor) { return Type.ENUM;
private GenericDescriptor getDescriptor() { return typeId != null ? ctx.getDescriptorByTypeId(typeId) : ctx.getDescriptorByName(typeName); }
private static void processObject(ImmutableSerializationContext ctx, JsonReader reader, RawProtoStreamWriter writer, String type, Integer typeId, boolean topLevel) throws IOException { GenericDescriptor descriptorByName = ctx.getDescriptorByName(type);
case BEGIN_OBJECT: reader.beginObject(); Descriptor d = (Descriptor) ctx.getDescriptorByName(type); FieldDescriptor fieldByName = d.findFieldByName(field); int number = fieldByName.getNumber(); case NUMBER: case BOOLEAN: Descriptor de = (Descriptor) ctx.getDescriptorByName(type); FieldDescriptor fd = de.findFieldByName(field); Type fieldType = fd.getType();
private static void processJsonDocument(ImmutableSerializationContext ctx, JsonReader reader, RawProtoStreamWriter writer) throws IOException { reader.beginObject(); String currentField; String topLevelType; JsonToken token = reader.peek(); while (reader.hasNext() && !(token == END_DOCUMENT)) { token = reader.peek(); switch (token) { case NAME: currentField = reader.nextName(); expectField(JSON_TYPE_FIELD, currentField); break; case STRING: topLevelType = reader.nextString(); Type fieldType = getFieldType(ctx, topLevelType); switch (fieldType) { case ENUM: processEnum(reader, writer, (EnumDescriptor) ctx.getDescriptorByName(topLevelType)); break; case MESSAGE: processObject(ctx, reader, writer, topLevelType, null, true); break; default: processPrimitive(reader, writer, fieldType); break; } } } }