public override SnsObjectDetailResponse.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(SnsObjectDetailResponse._snsObjectDetailResponseFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = SnsObjectDetailResponse._snsObjectDetailResponseFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: { micromsg.BaseResponse.Builder builder = micromsg.BaseResponse.CreateBuilder(); if (this.result.hasBaseResponse) { builder.MergeFrom(this.BaseResponse); } input.ReadMessage(builder, extensionRegistry); this.BaseResponse = builder.BuildPartial(); continue; } case 0x12: { SnsObject.Builder builder2 = SnsObject.CreateBuilder(); if (this.result.hasObject) { builder2.MergeFrom(this.Object); } input.ReadMessage(builder2, extensionRegistry); this.Object = builder2.BuildPartial(); continue; } } if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); } return(this); }
public override ModChatRoomTopic.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(ModChatRoomTopic._modChatRoomTopicFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = ModChatRoomTopic._modChatRoomTopicFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: { SKBuiltinString_t.Builder builder = SKBuiltinString_t.CreateBuilder(); if (this.result.hasChatRoomName) { builder.MergeFrom(this.ChatRoomName); } input.ReadMessage(builder, extensionRegistry); this.ChatRoomName = builder.BuildPartial(); continue; } case 0x12: { SKBuiltinString_t.Builder builder2 = SKBuiltinString_t.CreateBuilder(); if (this.result.hasChatRoomTopic) { builder2.MergeFrom(this.ChatRoomTopic); } input.ReadMessage(builder2, extensionRegistry); this.ChatRoomTopic = builder2.BuildPartial(); continue; } } if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); } return(this); }
public override ShowMessageFromWXReq.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { this.PrepareBuilder(); uint num; string text; while (input.ReadTag(out num, out text)) { if (num == 0u && text != null) { int num2 = Array.BinarySearch <string>(ShowMessageFromWXReq._showMessageFromWXReqFieldNames, text, StringComparer.Ordinal); if (num2 < 0) { this.ParseUnknownField(input, extensionRegistry, num, text); continue; } num = ShowMessageFromWXReq._showMessageFromWXReqFieldTags[num2]; } uint num3 = num; if (num3 == 0u) { throw InvalidProtocolBufferException.InvalidTag(); } if (num3 != 10u) { if (num3 != 18u) { if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, text); } else { WXMessageP.Builder builder = WXMessageP.CreateBuilder(); if (this.result.hasMsg) { builder.MergeFrom(this.Msg); } input.ReadMessage(builder, extensionRegistry); this.Msg = builder.BuildPartial(); } } else { BaseReqP.Builder builder2 = BaseReqP.CreateBuilder(); if (this.result.hasBase) { builder2.MergeFrom(this.Base); } input.ReadMessage(builder2, extensionRegistry); this.Base = builder2.BuildPartial(); } } return(this); }
public override SnsObjectOp.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(SnsObjectOp._snsObjectOpFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = SnsObjectOp._snsObjectOpFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 8: { this.result.hasId = input.ReadUInt64(ref this.result.id_); continue; } case 0x10: { this.result.hasOpType = input.ReadUInt32(ref this.result.opType_); continue; } case 0x1a: { SKBuiltinBuffer_t.Builder builder = SKBuiltinBuffer_t.CreateBuilder(); if (this.result.hasExt) { builder.MergeFrom(this.Ext); } input.ReadMessage(builder, extensionRegistry); this.Ext = builder.BuildPartial(); continue; } } if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); } return(this); }
public override DelContactMsg.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(DelContactMsg._delContactMsgFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = DelContactMsg._delContactMsgFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: { SKBuiltinString_t.Builder builder = SKBuiltinString_t.CreateBuilder(); if (this.result.hasUserName) { builder.MergeFrom(this.UserName); } input.ReadMessage(builder, extensionRegistry); this.UserName = builder.BuildPartial(); continue; } case 0x10: break; default: { if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } this.result.hasMaxMsgId = input.ReadInt32(ref this.result.maxMsgId_); } return(this); }
public override GetMessageFromWXReq.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(GetMessageFromWXReq._getMessageFromWXReqFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = GetMessageFromWXReq._getMessageFromWXReqFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: { BaseReqP.Builder builder = BaseReqP.CreateBuilder(); if (this.result.hasBase) { builder.MergeFrom(this.Base); } input.ReadMessage(builder, extensionRegistry); this.Base = builder.BuildPartial(); continue; } case 0x12: break; default: { if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } this.result.hasUsername = input.ReadString(ref this.result.username_); } return(this); }
public override BaseResponse.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(BaseResponse._baseResponseFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = BaseResponse._baseResponseFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 8: { this.result.hasRet = input.ReadInt32(ref this.result.ret_); continue; } case 0x12: { SKBuiltinString_t.Builder builder = SKBuiltinString_t.CreateBuilder(); if (this.result.hasErrMsg) { builder.MergeFrom(this.ErrMsg); } input.ReadMessage(builder, extensionRegistry); this.ErrMsg = builder.BuildPartial(); continue; } } if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); } return(this); }
public override AdditionalContactList.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(AdditionalContactList._additionalContactListFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = AdditionalContactList._additionalContactListFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: { LinkedinContactItem.Builder builder = LinkedinContactItem.CreateBuilder(); if (this.result.hasLinkedinContactItem) { builder.MergeFrom(this.LinkedinContactItem); } input.ReadMessage(builder, extensionRegistry); this.LinkedinContactItem = builder.BuildPartial(); continue; } } if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); } return(this); }
public override SendAppMsgRequest.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(SendAppMsgRequest._sendAppMsgRequestFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = SendAppMsgRequest._sendAppMsgRequestFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: { micromsg.BaseRequest.Builder builder = micromsg.BaseRequest.CreateBuilder(); if (this.result.hasBaseRequest) { builder.MergeFrom(this.BaseRequest); } input.ReadMessage(builder, extensionRegistry); this.BaseRequest = builder.BuildPartial(); continue; } case 0x12: { AppMsg.Builder builder2 = AppMsg.CreateBuilder(); if (this.result.hasMsg) { builder2.MergeFrom(this.Msg); } input.ReadMessage(builder2, extensionRegistry); this.Msg = builder2.BuildPartial(); continue; } case 0x1a: break; default: { if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } this.result.hasCommentUrl = input.ReadString(ref this.result.commentUrl_); } return(this); }
public override SnsUserPageResponse.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(SnsUserPageResponse._snsUserPageResponseFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = SnsUserPageResponse._snsUserPageResponseFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0x12: { this.result.hasFirstPageMd5 = input.ReadString(ref this.result.firstPageMd5_); continue; } case 0x18: { this.result.hasObjectCount = input.ReadUInt32(ref this.result.objectCount_); continue; } case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: { micromsg.BaseResponse.Builder builder = micromsg.BaseResponse.CreateBuilder(); if (this.result.hasBaseResponse) { builder.MergeFrom(this.BaseResponse); } input.ReadMessage(builder, extensionRegistry); this.BaseResponse = builder.BuildPartial(); continue; } case 0x22: { input.ReadMessageArray <SnsObject>(num, str, this.result.objectList_, SnsObject.DefaultInstance, extensionRegistry); continue; } case 40: { this.result.hasObjectTotalCount = input.ReadUInt32(ref this.result.objectTotalCount_); continue; } case 50: { micromsg.SnsUserInfo.Builder builder2 = micromsg.SnsUserInfo.CreateBuilder(); if (this.result.hasSnsUserInfo) { builder2.MergeFrom(this.SnsUserInfo); } input.ReadMessage(builder2, extensionRegistry); this.SnsUserInfo = builder2.BuildPartial(); continue; } case 0x38: break; default: { if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } this.result.hasNewRequestTime = input.ReadUInt32(ref this.result.newRequestTime_); } return(this); }
/// <summary> /// Called by MergeFieldFrom to parse a MessageSet extension. /// </summary> private void MergeMessageSetExtensionFromCodedStream(ICodedInputStream input, ExtensionRegistry extensionRegistry, IBuilder builder) { MessageDescriptor type = builder.DescriptorForType; // The wire format for MessageSet is: // message MessageSet { // repeated group Item = 1 { // required int32 typeId = 2; // required bytes message = 3; // } // } // "typeId" is the extension's field number. The extension can only be // a message type, where "message" contains the encoded bytes of that // message. // // In practice, we will probably never see a MessageSet item in which // the message appears before the type ID, or where either field does not // appear exactly once. However, in theory such cases are valid, so we // should be prepared to accept them. int typeId = 0; ByteString rawBytes = null; // If we encounter "message" before "typeId" IBuilderLite subBuilder = null; FieldDescriptor field = null; uint lastTag = WireFormat.MessageSetTag.ItemStart; uint tag; string name; while (input.ReadTag(out tag, out name)) { if (tag == 0 && name != null) { if (name == "type_id") { tag = WireFormat.MessageSetTag.TypeID; } else if (name == "message") { tag = WireFormat.MessageSetTag.Message; } } if (tag == 0) { if (input.SkipField()) { continue; //can't merge unknown without field tag } break; } lastTag = tag; if (tag == WireFormat.MessageSetTag.TypeID) { typeId = 0; // Zero is not a valid type ID. if (input.ReadInt32(ref typeId) && typeId != 0) { ExtensionInfo extension = extensionRegistry[type, typeId]; if (extension != null) { field = extension.Descriptor; subBuilder = extension.DefaultInstance.WeakCreateBuilderForType(); IMessageLite originalMessage = (IMessageLite)builder[field]; if (originalMessage != null) { subBuilder.WeakMergeFrom(originalMessage); } if (rawBytes != null) { // We already encountered the message. Parse it now. // TODO(jonskeet): Check this is okay. It's subtly different from the Java, as it doesn't create an input stream from rawBytes. // In fact, why don't we just call MergeFrom(rawBytes)? And what about the extension registry? subBuilder.WeakMergeFrom(rawBytes.CreateCodedInput()); rawBytes = null; } } else { // Unknown extension number. If we already saw data, put it // in rawBytes. if (rawBytes != null) { MergeField(typeId, UnknownField.CreateBuilder().AddLengthDelimited(rawBytes).Build()); rawBytes = null; } } } } else if (tag == WireFormat.MessageSetTag.Message) { if (subBuilder != null) { // We already know the type, so we can parse directly from the input // with no copying. Hooray! input.ReadMessage(subBuilder, extensionRegistry); } else if (input.ReadBytes(ref rawBytes)) { if (typeId != 0) { // We don't know how to parse this. Ignore it. MergeField(typeId, UnknownField.CreateBuilder().AddLengthDelimited(rawBytes).Build()); } } } else { // Unknown tag. Skip it. if (!input.SkipField()) { break; // end of group } } } if (lastTag != WireFormat.MessageSetTag.ItemEnd) { throw InvalidProtocolBufferException.InvalidEndTag(); } if (subBuilder != null) { builder[field] = subBuilder.WeakBuild(); } }
/// <summary> /// Like <see cref="MergeFrom(ICodedInputStream, ExtensionRegistry, IBuilder)" /> /// but parses a single field. /// </summary> /// <param name="input">The input to read the field from</param> /// <param name="extensionRegistry">Registry to use when an extension field is encountered</param> /// <param name="builder">Builder to merge field into, if it's a known field</param> /// <param name="tag">The tag, which should already have been read from the input</param> /// <returns>true unless the tag is an end-group tag</returns> internal bool MergeFieldFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry, IBuilder builder, uint tag, string fieldName) { if (tag == 0 && fieldName != null) { FieldDescriptor fieldByName = builder.DescriptorForType.FindFieldByName(fieldName); if (fieldByName != null) { tag = WireFormat.MakeTag(fieldByName); } else { ExtensionInfo extension = extensionRegistry.FindByName(builder.DescriptorForType, fieldName); if (extension != null) { tag = WireFormat.MakeTag(extension.Descriptor); } } } MessageDescriptor type = builder.DescriptorForType; if (type.Options.MessageSetWireFormat && tag == WireFormat.MessageSetTag.ItemStart) { MergeMessageSetExtensionFromCodedStream(input, extensionRegistry, builder); return(true); } WireFormat.WireType wireType = WireFormat.GetTagWireType(tag); int fieldNumber = WireFormat.GetTagFieldNumber(tag); FieldDescriptor field; IMessageLite defaultFieldInstance = null; if (type.IsExtensionNumber(fieldNumber)) { ExtensionInfo extension = extensionRegistry[type, fieldNumber]; if (extension == null) { field = null; } else { field = extension.Descriptor; defaultFieldInstance = extension.DefaultInstance; } } else { field = type.FindFieldByNumber(fieldNumber); } // Unknown field or wrong wire type. Skip. if (field == null) { return(MergeFieldFrom(tag, input)); } if (wireType != WireFormat.GetWireType(field)) { WireFormat.WireType expectedType = WireFormat.GetWireType(field.FieldType); if (wireType == expectedType) { //Allowed as of 2.3, this is unpacked data for a packed array } else if (field.IsRepeated && wireType == WireFormat.WireType.LengthDelimited && (expectedType == WireFormat.WireType.Varint || expectedType == WireFormat.WireType.Fixed32 || expectedType == WireFormat.WireType.Fixed64)) { //Allowed as of 2.3, this is packed data for an unpacked array } else { return(MergeFieldFrom(tag, input)); } } switch (field.FieldType) { case FieldType.Group: case FieldType.Message: { IBuilderLite subBuilder = (defaultFieldInstance != null) ? defaultFieldInstance.WeakCreateBuilderForType() : builder.CreateBuilderForField(field); if (!field.IsRepeated) { subBuilder.WeakMergeFrom((IMessageLite)builder[field]); if (field.FieldType == FieldType.Group) { input.ReadGroup(field.FieldNumber, subBuilder, extensionRegistry); } else { input.ReadMessage(subBuilder, extensionRegistry); } builder[field] = subBuilder.WeakBuild(); } else { List <IMessageLite> list = new List <IMessageLite>(); if (field.FieldType == FieldType.Group) { input.ReadGroupArray(tag, fieldName, list, subBuilder.WeakDefaultInstanceForType, extensionRegistry); } else { input.ReadMessageArray(tag, fieldName, list, subBuilder.WeakDefaultInstanceForType, extensionRegistry); } foreach (IMessageLite m in list) { builder.WeakAddRepeatedField(field, m); } return(true); } break; } case FieldType.Enum: { if (!field.IsRepeated) { object unknown; IEnumLite value = null; if (input.ReadEnum(ref value, out unknown, field.EnumType)) { builder[field] = value; } else if (unknown is int) { MergeVarintField(fieldNumber, (ulong)(int)unknown); } } else { ICollection <object> unknown; List <IEnumLite> list = new List <IEnumLite>(); input.ReadEnumArray(tag, fieldName, list, out unknown, field.EnumType); foreach (IEnumLite en in list) { builder.WeakAddRepeatedField(field, en); } if (unknown != null) { foreach (object oval in unknown) { if (oval is int) { MergeVarintField(fieldNumber, (ulong)(int)oval); } } } } break; } default: { if (!field.IsRepeated) { object value = null; if (input.ReadPrimitiveField(field.FieldType, ref value)) { builder[field] = value; } } else { List <object> list = new List <object>(); input.ReadPrimitiveArray(field.FieldType, tag, fieldName, list); foreach (object oval in list) { builder.WeakAddRepeatedField(field, oval); } } break; } } return(true); }
public override BindOpMobileResponse.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(BindOpMobileResponse._bindOpMobileResponseFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = BindOpMobileResponse._bindOpMobileResponseFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: { micromsg.BaseResponse.Builder builder = micromsg.BaseResponse.CreateBuilder(); if (this.result.hasBaseResponse) { builder.MergeFrom(this.BaseResponse); } input.ReadMessage(builder, extensionRegistry); this.BaseResponse = builder.BuildPartial(); continue; } case 0x12: { this.result.hasTicket = input.ReadString(ref this.result.ticket_); continue; } case 0x2a: { this.result.hasPwd = input.ReadString(ref this.result.pwd_); continue; } case 50: { this.result.hasUsername = input.ReadString(ref this.result.username_); continue; } case 0x1a: { this.result.hasSmsNo = input.ReadString(ref this.result.smsNo_); continue; } case 0x20: { this.result.hasNeedSetPwd = input.ReadUInt32(ref this.result.needSetPwd_); continue; } case 0x4a: { micromsg.NetworkControl.Builder builder4 = micromsg.NetworkControl.CreateBuilder(); if (this.result.hasNetworkControl) { builder4.MergeFrom(this.NetworkControl); } input.ReadMessage(builder4, extensionRegistry); this.NetworkControl = builder4.BuildPartial(); continue; } case 0x52: { this.result.hasAuthTicket = input.ReadString(ref this.result.authTicket_); continue; } case 0x3a: { HostList.Builder builder2 = HostList.CreateBuilder(); if (this.result.hasNewHostList) { builder2.MergeFrom(this.NewHostList); } input.ReadMessage(builder2, extensionRegistry); this.NewHostList = builder2.BuildPartial(); continue; } case 0x42: { micromsg.BuiltinIPList.Builder builder3 = micromsg.BuiltinIPList.CreateBuilder(); if (this.result.hasBuiltinIPList) { builder3.MergeFrom(this.BuiltinIPList); } input.ReadMessage(builder3, extensionRegistry); this.BuiltinIPList = builder3.BuildPartial(); continue; } case 0x58: { this.result.hasSafeDevice = input.ReadUInt32(ref this.result.safeDevice_); continue; } case 0x62: { this.result.hasMainAcct = input.ReadString(ref this.result.mainAcct_); continue; } case 0x68: { this.result.hasMainAcctType = input.ReadUInt32(ref this.result.mainAcctType_); continue; } case 0x72: { micromsg.SafeDeviceList.Builder builder5 = micromsg.SafeDeviceList.CreateBuilder(); if (this.result.hasSafeDeviceList) { builder5.MergeFrom(this.SafeDeviceList); } input.ReadMessage(builder5, extensionRegistry); this.SafeDeviceList = builder5.BuildPartial(); continue; } } if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); } return(this); }
// Token: 0x060009D0 RID: 2512 RVA: 0x0001762C File Offset: 0x0001582C public override Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { PrepareBuilder(); UnknownFieldSet.Builder builder = null; while (input.ReadTag(out uint num, out string text)) { if (num == 0U && text != null) { int num2 = Array.BinarySearch(_transparentFieldNames, text, StringComparer.Ordinal); if (num2 < 0) { if (builder == null) { builder = UnknownFieldSet.CreateBuilder(UnknownFields); } ParseUnknownField(input, builder, extensionRegistry, num, text); continue; } num = _transparentFieldTags[num2]; } if (num <= 42U) { if (num <= 18U) { if (num == 0U) { throw InvalidProtocolBufferException.InvalidTag(); } if (num == 10U) { result.HasId = input.ReadString(ref result.id_); continue; } if (num == 18U) { result.HasAction = input.ReadString(ref result.action_); continue; } } else { if (num == 26U) { result.HasTaskId = input.ReadString(ref result.taskId_); continue; } if (num == 34U) { result.HasAppKey = input.ReadString(ref result.appKey_); continue; } if (num == 42U) { result.HasAppId = input.ReadString(ref result.appId_); continue; } } } else if (num <= 66U) { if (num == 50U) { result.HasMessageId = input.ReadString(ref result.messageId_); continue; } if (num == 58U) { PushInfo.Builder builder2 = PushInfo.CreateBuilder(); if (result.HasPushInfo) { builder2.MergeFrom(PushInfo); } input.ReadMessage(builder2, extensionRegistry); PushInfo = builder2.BuildPartial(); continue; } if (num == 66U) { input.ReadMessageArray(num, text, result.actionChain_, ActionChain.DefaultInstance, extensionRegistry); continue; } } else if (num <= 80U) { if (num == 74U) { input.ReadStringArray(num, text, result.condition_); continue; } if (num == 80U) { result.HasTemplateId = input.ReadInt32(ref result.templateId_); continue; } } else { if (num == 90U) { result.HasTaskGroupId = input.ReadString(ref result.taskGroupId_); continue; } if (num == 98U) { SmsInfo.Builder builder3 = SmsInfo.CreateBuilder(); if (result.HasSmsInfo) { builder3.MergeFrom(SmsInfo); } input.ReadMessage(builder3, extensionRegistry); SmsInfo = builder3.BuildPartial(); continue; } } if (WireFormat.IsEndGroupTag(num)) { if (builder != null) { UnknownFields = builder.Build(); } return(this); } if (builder == null) { builder = UnknownFieldSet.CreateBuilder(UnknownFields); } ParseUnknownField(input, builder, extensionRegistry, num, text); } if (builder != null) { UnknownFields = builder.Build(); } return(this); }
public override HongBaoReq.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(HongBaoReq._hongBaoReqFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = HongBaoReq._hongBaoReqFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: { BaseRequest.Builder builder = BaseRequest.CreateBuilder(); if (this.result.hasBaseRequest) { builder.MergeFrom(this.BaseRequest); } input.ReadMessage(builder, extensionRegistry); this.BaseRequest = builder.BuildPartial(); continue; } case 0x10: { this.result.hasCgiCmd = input.ReadUInt32(ref this.result.cgiCmd_); continue; } case 0x18: { this.result.hasOutPutType = input.ReadUInt32(ref this.result.outPutType_); continue; } case 0x22: { SKBuiltinBuffer_t.Builder builder2 = SKBuiltinBuffer_t.CreateBuilder(); if (this.result.hasReqText) { builder2.MergeFrom(this.ReqText); } input.ReadMessage(builder2, extensionRegistry); this.ReqText = builder2.BuildPartial(); continue; } } if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); } return(this); }
public override InviteChatRoomMemberRequest.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(InviteChatRoomMemberRequest._inviteChatRoomMemberRequestFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = InviteChatRoomMemberRequest._inviteChatRoomMemberRequestFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: { micromsg.BaseRequest.Builder builder = micromsg.BaseRequest.CreateBuilder(); if (this.result.hasBaseRequest) { builder.MergeFrom(this.BaseRequest); } input.ReadMessage(builder, extensionRegistry); this.BaseRequest = builder.BuildPartial(); continue; } case 0x10: { this.result.hasMemberCount = input.ReadUInt32(ref this.result.memberCount_); continue; } case 0x1a: { input.ReadMessageArray <MemberReq>(num, str, this.result.memberList_, MemberReq.DefaultInstance, extensionRegistry); continue; } case 0x22: { SKBuiltinString_t.Builder builder2 = SKBuiltinString_t.CreateBuilder(); if (this.result.hasChatRoomName) { builder2.MergeFrom(this.ChatRoomName); } input.ReadMessage(builder2, extensionRegistry); this.ChatRoomName = builder2.BuildPartial(); continue; } } if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); } return(this); }
// Token: 0x060012EC RID: 4844 RVA: 0x000434D4 File Offset: 0x000416D4 public override objectSleepingAvatar.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { this.PrepareBuilder(); UnknownFieldSet.Builder builder = null; uint num; string text; while (input.ReadTag(ref num, ref text)) { if (num == 0u && text != null) { int num2 = Array.BinarySearch <string>(objectSleepingAvatar._objectSleepingAvatarFieldNames, text, StringComparer.Ordinal); if (num2 < 0) { if (builder == null) { builder = UnknownFieldSet.CreateBuilder(this.UnknownFields); } this.ParseUnknownField(input, builder, extensionRegistry, num, text); continue; } num = objectSleepingAvatar._objectSleepingAvatarFieldTags[num2]; } uint num3 = num; if (num3 == 0u) { throw InvalidProtocolBufferException.InvalidTag(); } if (num3 != 8u) { if (num3 != 16u) { if (num3 != 24u) { if (num3 != 32u) { if (num3 != 40u) { if (num3 != 50u) { if (WireFormat.IsEndGroupTag(num)) { if (builder != null) { this.UnknownFields = builder.Build(); } return(this); } if (builder == null) { builder = UnknownFieldSet.CreateBuilder(this.UnknownFields); } this.ParseUnknownField(input, builder, extensionRegistry, num, text); } else { Vitals.Builder builder2 = Vitals.CreateBuilder(); if (this.result.hasVitals) { builder2.MergeFrom(this.Vitals); } input.ReadMessage(builder2, extensionRegistry); this.Vitals = builder2.BuildPartial(); } } else { this.result.hasTimestamp = input.ReadInt32(ref this.result.timestamp_); } } else { this.result.hasHeadArmor = input.ReadInt32(ref this.result.headArmor_); } } else { this.result.hasTorsoArmor = input.ReadInt32(ref this.result.torsoArmor_); } } else { this.result.hasLegArmor = input.ReadInt32(ref this.result.legArmor_); } } else { this.result.hasFootArmor = input.ReadInt32(ref this.result.footArmor_); } } if (builder != null) { this.UnknownFields = builder.Build(); } return(this); }
public override DownloadVideoRequest.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(DownloadVideoRequest._downloadVideoRequestFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = DownloadVideoRequest._downloadVideoRequestFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: { BaseRequest.Builder builder = BaseRequest.CreateBuilder(); if (this.result.hasBaseRequest) { builder.MergeFrom(this.BaseRequest); } input.ReadMessage(builder, extensionRegistry); this.BaseRequest = builder.BuildPartial(); continue; } case 0x10: { this.result.hasMsgId = input.ReadUInt32(ref this.result.msgId_); continue; } case 0x18: { this.result.hasTotalLen = input.ReadUInt32(ref this.result.totalLen_); continue; } case 0x20: { this.result.hasStartPos = input.ReadUInt32(ref this.result.startPos_); continue; } case 40: break; default: { if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } this.result.hasNetworkEnv = input.ReadUInt32(ref this.result.networkEnv_); } return(this); }
public override NewSyncResponse.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(NewSyncResponse._newSyncResponseFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = NewSyncResponse._newSyncResponseFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 8: { this.result.hasRet = input.ReadInt32(ref this.result.ret_); continue; } case 0x12: { CmdList.Builder builder = CmdList.CreateBuilder(); if (this.result.hasCmdList) { builder.MergeFrom(this.CmdList); } input.ReadMessage(builder, extensionRegistry); this.CmdList = builder.BuildPartial(); continue; } case 0x18: { this.result.hasContinueFlag = input.ReadUInt32(ref this.result.continueFlag_); continue; } case 0x22: { SKBuiltinBuffer_t.Builder builder2 = SKBuiltinBuffer_t.CreateBuilder(); if (this.result.hasKeyBuf) { builder2.MergeFrom(this.KeyBuf); } input.ReadMessage(builder2, extensionRegistry); this.KeyBuf = builder2.BuildPartial(); continue; } case 40: { this.result.hasStatus = input.ReadUInt32(ref this.result.status_); continue; } case 0x30: break; default: { if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } this.result.hasOnlineVersion = input.ReadUInt32(ref this.result.onlineVersion_); } return(this); }
// Token: 0x0600095E RID: 2398 RVA: 0x0001654C File Offset: 0x0001474C public override Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { PrepareBuilder(); UnknownFieldSet.Builder builder = null; while (input.ReadTag(out uint num, out string text)) { if (num == 0U && text != null) { int num2 = Array.BinarySearch(_oSMessageFieldNames, text, StringComparer.Ordinal); if (num2 < 0) { if (builder == null) { builder = UnknownFieldSet.CreateBuilder(UnknownFields); } ParseUnknownField(input, builder, extensionRegistry, num, text); continue; } num = _oSMessageFieldTags[num2]; } if (num <= 34U) { if (num <= 16U) { if (num == 0U) { throw InvalidProtocolBufferException.InvalidTag(); } if (num == 16U) { result.HasIsOffline = input.ReadBool(ref result.isOffline_); continue; } } else { if (num == 24U) { result.HasOfflineExpireTime = input.ReadInt64(ref result.offlineExpireTime_); continue; } if (num == 34U) { Transparent.Builder builder2 = Transparent.CreateBuilder(); if (result.HasTransparent) { builder2.MergeFrom(Transparent); } input.ReadMessage(builder2, extensionRegistry); Transparent = builder2.BuildPartial(); continue; } } } else if (num <= 48U) { if (num == 42U) { result.HasExtraData = input.ReadString(ref result.extraData_); continue; } if (num == 48U) { result.HasMsgType = input.ReadInt32(ref result.msgType_); continue; } } else { if (num == 56U) { result.HasMsgTraceFlag = input.ReadInt32(ref result.msgTraceFlag_); continue; } if (num == 64U) { result.HasPriority = input.ReadInt32(ref result.priority_); continue; } } if (WireFormat.IsEndGroupTag(num)) { if (builder != null) { UnknownFields = builder.Build(); } return(this); } if (builder == null) { builder = UnknownFieldSet.CreateBuilder(UnknownFields); } ParseUnknownField(input, builder, extensionRegistry, num, text); } if (builder != null) { UnknownFields = builder.Build(); } return(this); }
public override Transparent.Builder MergeFrom( ICodedInputStream input, ExtensionRegistry extensionRegistry) { this.PrepareBuilder(); UnknownFieldSet.Builder unknownFields = (UnknownFieldSet.Builder)null; uint fieldTag; string fieldName; while (input.ReadTag(out fieldTag, out fieldName)) { if (fieldTag == 0U && fieldName != null) { int index = Array.BinarySearch <string>(Transparent._transparentFieldNames, fieldName, (IComparer <string>)StringComparer.Ordinal); if (index >= 0) { fieldTag = Transparent._transparentFieldTags[index]; } else { if (unknownFields == null) { unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields); } this.ParseUnknownField(input, unknownFields, extensionRegistry, fieldTag, fieldName); continue; } } switch (fieldTag) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: this.result.hasId = input.ReadString(ref this.result.id_); continue; case 18: this.result.hasAction = input.ReadString(ref this.result.action_); continue; case 26: this.result.hasTaskId = input.ReadString(ref this.result.taskId_); continue; case 34: this.result.hasAppKey = input.ReadString(ref this.result.appKey_); continue; case 42: this.result.hasAppId = input.ReadString(ref this.result.appId_); continue; case 50: this.result.hasMessageId = input.ReadString(ref this.result.messageId_); continue; case 58: PushInfo.Builder builder1 = PushInfo.CreateBuilder(); if (this.result.hasPushInfo) { builder1.MergeFrom(this.PushInfo); } input.ReadMessage((IBuilderLite)builder1, extensionRegistry); this.PushInfo = builder1.BuildPartial(); continue; case 66: input.ReadMessageArray <ActionChain>(fieldTag, fieldName, (ICollection <ActionChain>) this.result.actionChain_, ActionChain.DefaultInstance, extensionRegistry); continue; case 74: input.ReadStringArray(fieldTag, fieldName, (ICollection <string>) this.result.condition_); continue; case 80: this.result.hasTemplateId = input.ReadInt32(ref this.result.templateId_); continue; case 90: this.result.hasTaskGroupId = input.ReadString(ref this.result.taskGroupId_); continue; case 98: SmsInfo.Builder builder2 = SmsInfo.CreateBuilder(); if (this.result.hasSmsInfo) { builder2.MergeFrom(this.SmsInfo); } input.ReadMessage((IBuilderLite)builder2, extensionRegistry); this.SmsInfo = builder2.BuildPartial(); continue; default: if (WireFormat.IsEndGroupTag(fieldTag)) { if (unknownFields != null) { this.UnknownFields = unknownFields.Build(); } return(this); } if (unknownFields == null) { unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields); } this.ParseUnknownField(input, unknownFields, extensionRegistry, fieldTag, fieldName); continue; } } if (unknownFields != null) { this.UnknownFields = unknownFields.Build(); } return(this); }
protected override bool ParseUnknownField(ICodedInputStream input, ExtensionRegistry extensionRegistry, uint tag, string fieldName) { FieldSet extensions = MessageBeingBuilt.Extensions; WireFormat.WireType wireType = WireFormat.GetTagWireType(tag); int fieldNumber = WireFormat.GetTagFieldNumber(tag); IGeneratedExtensionLite extension = extensionRegistry[DefaultInstanceForType, fieldNumber]; if (extension == null) //unknown field { return(input.SkipField()); } IFieldDescriptorLite field = extension.Descriptor; // Unknown field or wrong wire type. Skip. if (field == null) { return(input.SkipField()); } WireFormat.WireType expectedType = field.IsPacked ? WireFormat.WireType.LengthDelimited : WireFormat.GetWireType(field.FieldType); if (wireType != expectedType) { expectedType = WireFormat.GetWireType(field.FieldType); if (wireType == expectedType) { //Allowed as of 2.3, this is unpacked data for a packed array } else if (field.IsRepeated && wireType == WireFormat.WireType.LengthDelimited && (expectedType == WireFormat.WireType.Varint || expectedType == WireFormat.WireType.Fixed32 || expectedType == WireFormat.WireType.Fixed64)) { //Allowed as of 2.3, this is packed data for an unpacked array } else { return(input.SkipField()); } } if (!field.IsRepeated && wireType != WireFormat.GetWireType(field.FieldType)) //invalid wire type { return(input.SkipField()); } switch (field.FieldType) { case FieldType.Group: case FieldType.Message: { if (!field.IsRepeated) { IMessageLite message = extensions[extension.Descriptor] as IMessageLite; IBuilderLite subBuilder = (message ?? extension.MessageDefaultInstance).WeakToBuilder(); if (field.FieldType == FieldType.Group) { input.ReadGroup(field.FieldNumber, subBuilder, extensionRegistry); } else { input.ReadMessage(subBuilder, extensionRegistry); } extensions[field] = subBuilder.WeakBuild(); } else { List <IMessageLite> list = new List <IMessageLite>(); if (field.FieldType == FieldType.Group) { input.ReadGroupArray(tag, fieldName, list, extension.MessageDefaultInstance, extensionRegistry); } else { input.ReadMessageArray(tag, fieldName, list, extension.MessageDefaultInstance, extensionRegistry); } foreach (IMessageLite m in list) { extensions.AddRepeatedField(field, m); } return(true); } break; } case FieldType.Enum: { if (!field.IsRepeated) { object unknown; IEnumLite value = null; if (input.ReadEnum(ref value, out unknown, field.EnumType)) { extensions[field] = value; } } else { ICollection <object> unknown; List <IEnumLite> list = new List <IEnumLite>(); input.ReadEnumArray(tag, fieldName, list, out unknown, field.EnumType); foreach (IEnumLite en in list) { extensions.AddRepeatedField(field, en); } } break; } default: { if (!field.IsRepeated) { object value = null; if (input.ReadPrimitiveField(field.FieldType, ref value)) { extensions[field] = value; } } else { List <object> list = new List <object>(); input.ReadPrimitiveArray(field.FieldType, tag, fieldName, list); foreach (object oval in list) { extensions.AddRepeatedField(field, oval); } } break; } } return(true); }
public override SendAuthResp.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { this.PrepareBuilder(); uint num; string text; while (input.ReadTag(out num, out text)) { if (num == 0u && text != null) { int num2 = Array.BinarySearch <string>(SendAuthResp._sendAuthRespFieldNames, text, StringComparer.Ordinal); if (num2 < 0) { this.ParseUnknownField(input, extensionRegistry, num, text); continue; } num = SendAuthResp._sendAuthRespFieldTags[num2]; } uint num3 = num; if (num3 <= 10u) { if (num3 == 0u) { throw InvalidProtocolBufferException.InvalidTag(); } if (num3 == 10u) { BaseRespP.Builder builder = BaseRespP.CreateBuilder(); if (this.result.hasBase) { builder.MergeFrom(this.Base); } input.ReadMessage(builder, extensionRegistry); this.Base = builder.BuildPartial(); continue; } } else { if (num3 == 18u) { this.result.hasCode = input.ReadString(ref this.result.code_); continue; } if (num3 == 26u) { this.result.hasState = input.ReadString(ref this.result.state_); continue; } if (num3 == 34u) { this.result.hasUrl = input.ReadString(ref this.result.url_); continue; } } if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, text); } return(this); }
public override TenPayResponse.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(TenPayResponse._tenPayResponseFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = TenPayResponse._tenPayResponseFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0x12: { SKBuiltinBuffer_t.Builder builder2 = SKBuiltinBuffer_t.CreateBuilder(); if (this.result.hasRetText) { builder2.MergeFrom(this.RetText); } input.ReadMessage(builder2, extensionRegistry); this.RetText = builder2.BuildPartial(); continue; } case 0x18: { this.result.hasPlatRet = input.ReadInt32(ref this.result.platRet_); continue; } case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: { BaseResponse.Builder builder = BaseResponse.CreateBuilder(); if (this.result.hasBaseResponse) { builder.MergeFrom(this.BaseResponse); } input.ReadMessage(builder, extensionRegistry); this.BaseResponse = builder.BuildPartial(); continue; } case 0x22: { this.result.hasPlatMsg = input.ReadString(ref this.result.platMsg_); continue; } case 40: { this.result.hasCgiCmdid = input.ReadInt32(ref this.result.cgiCmdid_); continue; } case 0x30: { this.result.hasTenpayErrType = input.ReadInt32(ref this.result.tenpayErrType_); continue; } case 0x3a: break; default: { if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } this.result.hasTenpayErrMsg = input.ReadString(ref this.result.tenpayErrMsg_); } return(this); }
public override GetMsgImgRequest.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(GetMsgImgRequest._getMsgImgRequestFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = GetMsgImgRequest._getMsgImgRequestFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0x10: { this.result.hasMsgId = input.ReadUInt32(ref this.result.msgId_); continue; } case 0x1a: { SKBuiltinString_t.Builder builder2 = SKBuiltinString_t.CreateBuilder(); if (this.result.hasFromUserName) { builder2.MergeFrom(this.FromUserName); } input.ReadMessage(builder2, extensionRegistry); this.FromUserName = builder2.BuildPartial(); continue; } case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: { micromsg.BaseRequest.Builder builder = micromsg.BaseRequest.CreateBuilder(); if (this.result.hasBaseRequest) { builder.MergeFrom(this.BaseRequest); } input.ReadMessage(builder, extensionRegistry); this.BaseRequest = builder.BuildPartial(); continue; } case 0x22: { SKBuiltinString_t.Builder builder3 = SKBuiltinString_t.CreateBuilder(); if (this.result.hasToUserName) { builder3.MergeFrom(this.ToUserName); } input.ReadMessage(builder3, extensionRegistry); this.ToUserName = builder3.BuildPartial(); continue; } case 40: { this.result.hasTotalLen = input.ReadUInt32(ref this.result.totalLen_); continue; } case 0x30: { this.result.hasStartPos = input.ReadUInt32(ref this.result.startPos_); continue; } case 0x38: { this.result.hasDataLen = input.ReadUInt32(ref this.result.dataLen_); continue; } case 0x40: break; default: { if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } this.result.hasCompressType = input.ReadUInt32(ref this.result.compressType_); } return(this); }
public override SnsTimeLineRequest.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(SnsTimeLineRequest._snsTimeLineRequestFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = SnsTimeLineRequest._snsTimeLineRequestFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: { micromsg.BaseRequest.Builder builder = micromsg.BaseRequest.CreateBuilder(); if (this.result.hasBaseRequest) { builder.MergeFrom(this.BaseRequest); } input.ReadMessage(builder, extensionRegistry); this.BaseRequest = builder.BuildPartial(); continue; } case 0x12: { this.result.hasFirstPageMd5 = input.ReadString(ref this.result.firstPageMd5_); continue; } case 0x18: { this.result.hasMaxId = input.ReadUInt64(ref this.result.maxId_); continue; } case 0x20: { this.result.hasMinFilterId = input.ReadUInt64(ref this.result.minFilterId_); continue; } case 40: break; default: { if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } this.result.hasLastRequestTime = input.ReadUInt32(ref this.result.lastRequestTime_); } return(this); }
public override GetA8KeyResp.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(GetA8KeyResp._getA8KeyRespFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = GetA8KeyResp._getA8KeyRespFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0x12: { this.result.hasFullURL = input.ReadString(ref this.result.fullURL_); continue; } case 0x1a: { this.result.hasA8Key = input.ReadString(ref this.result.a8Key_); continue; } case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: { micromsg.BaseResponse.Builder builder = micromsg.BaseResponse.CreateBuilder(); if (this.result.hasBaseResponse) { builder.MergeFrom(this.BaseResponse); } input.ReadMessage(builder, extensionRegistry); this.BaseResponse = builder.BuildPartial(); continue; } case 0x20: { this.result.hasActionCode = input.ReadUInt32(ref this.result.actionCode_); continue; } case 0x2a: { this.result.hasTitle = input.ReadString(ref this.result.title_); continue; } case 50: { this.result.hasContent = input.ReadString(ref this.result.content_); continue; } case 0x3a: { JSAPIPermissionBitSet.Builder builder2 = JSAPIPermissionBitSet.CreateBuilder(); if (this.result.hasJSAPIPermission) { builder2.MergeFrom(this.JSAPIPermission); } input.ReadMessage(builder2, extensionRegistry); this.JSAPIPermission = builder2.BuildPartial(); continue; } case 0x42: { micromsg.GeneralControlBitSet.Builder builder3 = micromsg.GeneralControlBitSet.CreateBuilder(); if (this.result.hasGeneralControlBitSet) { builder3.MergeFrom(this.GeneralControlBitSet); } input.ReadMessage(builder3, extensionRegistry); this.GeneralControlBitSet = builder3.BuildPartial(); continue; } } if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); } return(this); }
public override CreateChatRoomResponse.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(CreateChatRoomResponse._createChatRoomResponseFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = CreateChatRoomResponse._createChatRoomResponseFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0x12: { SKBuiltinString_t.Builder builder2 = SKBuiltinString_t.CreateBuilder(); if (this.result.hasTopic) { builder2.MergeFrom(this.Topic); } input.ReadMessage(builder2, extensionRegistry); this.Topic = builder2.BuildPartial(); continue; } case 0x1a: { SKBuiltinString_t.Builder builder3 = SKBuiltinString_t.CreateBuilder(); if (this.result.hasPYInitial) { builder3.MergeFrom(this.PYInitial); } input.ReadMessage(builder3, extensionRegistry); this.PYInitial = builder3.BuildPartial(); continue; } case 0x22: { SKBuiltinString_t.Builder builder4 = SKBuiltinString_t.CreateBuilder(); if (this.result.hasQuanPin) { builder4.MergeFrom(this.QuanPin); } input.ReadMessage(builder4, extensionRegistry); this.QuanPin = builder4.BuildPartial(); continue; } case 0: throw InvalidProtocolBufferException.InvalidTag(); case 10: { micromsg.BaseResponse.Builder builder = micromsg.BaseResponse.CreateBuilder(); if (this.result.hasBaseResponse) { builder.MergeFrom(this.BaseResponse); } input.ReadMessage(builder, extensionRegistry); this.BaseResponse = builder.BuildPartial(); continue; } case 40: { this.result.hasMemberCount = input.ReadUInt32(ref this.result.memberCount_); continue; } case 50: { input.ReadMessageArray <MemberResp>(num, str, this.result.memberList_, MemberResp.DefaultInstance, extensionRegistry); continue; } case 0x3a: { SKBuiltinString_t.Builder builder5 = SKBuiltinString_t.CreateBuilder(); if (this.result.hasChatRoomName) { builder5.MergeFrom(this.ChatRoomName); } input.ReadMessage(builder5, extensionRegistry); this.ChatRoomName = builder5.BuildPartial(); continue; } case 0x42: { SKBuiltinBuffer_t.Builder builder6 = SKBuiltinBuffer_t.CreateBuilder(); if (this.result.hasImgBuf) { builder6.MergeFrom(this.ImgBuf); } input.ReadMessage(builder6, extensionRegistry); this.ImgBuf = builder6.BuildPartial(); continue; } case 0x4a: { this.result.hasBigHeadImgUrl = input.ReadString(ref this.result.bigHeadImgUrl_); continue; } case 0x52: break; default: { if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } this.result.hasSmallHeadImgUrl = input.ReadString(ref this.result.smallHeadImgUrl_); } return(this); }
public override StartMMPBatchTask.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { this.PrepareBuilder(); UnknownFieldSet.Builder builder = null; uint num; string text; while (input.ReadTag(out num, out text)) { if (num == 0u && text != null) { int num2 = Array.BinarySearch <string>(StartMMPBatchTask._startMMPBatchTaskFieldNames, text, StringComparer.Ordinal); if (num2 < 0) { if (builder == null) { builder = UnknownFieldSet.CreateBuilder(this.UnknownFields); } this.ParseUnknownField(input, builder, extensionRegistry, num, text); continue; } num = StartMMPBatchTask._startMMPBatchTaskFieldTags[num2]; } if (num <= 10u) { if (num == 0u) { throw InvalidProtocolBufferException.InvalidTag(); } if (num == 10u) { MMPMessage.Builder builder2 = MMPMessage.CreateBuilder(); if (this.result.hasMessage) { builder2.MergeFrom(this.Message); } input.ReadMessage(builder2, extensionRegistry); this.Message = builder2.BuildPartial(); continue; } } else { if (num == 16u) { this.result.hasExpire = input.ReadInt64(ref this.result.expire_); continue; } if (num == 26u) { this.result.hasSeqId = input.ReadString(ref this.result.seqId_); continue; } if (num == 34u) { this.result.hasTaskGroupName = input.ReadString(ref this.result.taskGroupName_); continue; } } if (WireFormat.IsEndGroupTag(num)) { if (builder != null) { this.UnknownFields = builder.Build(); } return(this); } if (builder == null) { builder = UnknownFieldSet.CreateBuilder(this.UnknownFields); } this.ParseUnknownField(input, builder, extensionRegistry, num, text); } if (builder != null) { this.UnknownFields = builder.Build(); } return(this); }
/// <summary> /// Called by MergeFieldFrom to parse a MessageSet extension. /// </summary> private void MergeMessageSetExtensionFromCodedStream(ICodedInputStream input, ExtensionRegistry extensionRegistry, IBuilder builder) { MessageDescriptor type = builder.DescriptorForType; // The wire format for MessageSet is: // message MessageSet { // repeated group Item = 1 { // required int32 typeId = 2; // required bytes message = 3; // } // } // "typeId" is the extension's field number. The extension can only be // a message type, where "message" contains the encoded bytes of that // message. // // In practice, we will probably never see a MessageSet item in which // the message appears before the type ID, or where either field does not // appear exactly once. However, in theory such cases are valid, so we // should be prepared to accept them. int typeId = 0; ByteString rawBytes = null; // If we encounter "message" before "typeId" IBuilderLite subBuilder = null; FieldDescriptor field = null; uint lastTag = WireFormat.MessageSetTag.ItemStart; uint tag; string name; while (input.ReadTag(out tag, out name)) { if (tag == 0 && name != null) { if (name == "type_id") { tag = WireFormat.MessageSetTag.TypeID; } else if (name == "message") { tag = WireFormat.MessageSetTag.Message; } } if (tag == 0) { if (input.SkipField()) { continue; //can't merge unknown without field tag } break; } lastTag = tag; if (tag == WireFormat.MessageSetTag.TypeID) { typeId = 0; // Zero is not a valid type ID. if (input.ReadInt32(ref typeId) && typeId != 0) { ExtensionInfo extension = extensionRegistry[type, typeId]; if (extension != null) { field = extension.Descriptor; subBuilder = extension.DefaultInstance.WeakCreateBuilderForType(); IMessageLite originalMessage = (IMessageLite) builder[field]; if (originalMessage != null) { subBuilder.WeakMergeFrom(originalMessage); } if (rawBytes != null) { // We already encountered the message. Parse it now. // TODO(jonskeet): Check this is okay. It's subtly different from the Java, as it doesn't create an input stream from rawBytes. // In fact, why don't we just call MergeFrom(rawBytes)? And what about the extension registry? subBuilder.WeakMergeFrom(rawBytes.CreateCodedInput()); rawBytes = null; } } else { // Unknown extension number. If we already saw data, put it // in rawBytes. if (rawBytes != null) { MergeField(typeId, UnknownField.CreateBuilder().AddLengthDelimited(rawBytes).Build()); rawBytes = null; } } } } else if (tag == WireFormat.MessageSetTag.Message) { if (subBuilder != null) { // We already know the type, so we can parse directly from the input // with no copying. Hooray! input.ReadMessage(subBuilder, extensionRegistry); } else if (input.ReadBytes(ref rawBytes)) { if (typeId != 0) { // We don't know how to parse this. Ignore it. MergeField(typeId, UnknownField.CreateBuilder().AddLengthDelimited(rawBytes).Build()); } } } else { // Unknown tag. Skip it. if (!input.SkipField()) { break; // end of group } } } if (lastTag != WireFormat.MessageSetTag.ItemEnd) { throw InvalidProtocolBufferException.InvalidEndTag(); } if (subBuilder != null) { builder[field] = subBuilder.WeakBuild(); } }
public override WXMessageP.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry) { uint num; string str; this.PrepareBuilder(); while (input.ReadTag(out num, out str)) { if ((num == 0) && (str != null)) { int index = Array.BinarySearch <string>(WXMessageP._wXMessagePFieldNames, str, StringComparer.Ordinal); if (index >= 0) { num = WXMessageP._wXMessagePFieldTags[index]; } else { this.ParseUnknownField(input, extensionRegistry, num, str); continue; } } switch (num) { case 0x1a: { this.result.hasDescription = input.ReadString(ref this.result.description_); continue; } case 0x22: { this.result.hasThumbData = input.ReadBytes(ref this.result.thumbData_); continue; } case 0x2a: { WXEmojiMessageP.Builder builder = WXEmojiMessageP.CreateBuilder(); if (this.result.hasEmojiMessage) { builder.MergeFrom(this.EmojiMessage); } input.ReadMessage(builder, extensionRegistry); this.EmojiMessage = builder.BuildPartial(); continue; } case 0: throw InvalidProtocolBufferException.InvalidTag(); case 8: { this.result.hasType = input.ReadUInt32(ref this.result.type_); continue; } case 0x12: { this.result.hasTitle = input.ReadString(ref this.result.title_); continue; } case 50: { WXFileMessageP.Builder builder2 = WXFileMessageP.CreateBuilder(); if (this.result.hasFileMessage) { builder2.MergeFrom(this.FileMessage); } input.ReadMessage(builder2, extensionRegistry); this.FileMessage = builder2.BuildPartial(); continue; } case 0x3a: { WXImageMessageP.Builder builder3 = WXImageMessageP.CreateBuilder(); if (this.result.hasImageMessage) { builder3.MergeFrom(this.ImageMessage); } input.ReadMessage(builder3, extensionRegistry); this.ImageMessage = builder3.BuildPartial(); continue; } case 0x42: { WXMusicMessageP.Builder builder4 = WXMusicMessageP.CreateBuilder(); if (this.result.hasMusicMessage) { builder4.MergeFrom(this.MusicMessage); } input.ReadMessage(builder4, extensionRegistry); this.MusicMessage = builder4.BuildPartial(); continue; } case 0x4a: { WXTextMessageP.Builder builder5 = WXTextMessageP.CreateBuilder(); if (this.result.hasTextMessage) { builder5.MergeFrom(this.TextMessage); } input.ReadMessage(builder5, extensionRegistry); this.TextMessage = builder5.BuildPartial(); continue; } case 0x52: { WXVideoMessageP.Builder builder6 = WXVideoMessageP.CreateBuilder(); if (this.result.hasVideoMessage) { builder6.MergeFrom(this.VideoMessage); } input.ReadMessage(builder6, extensionRegistry); this.VideoMessage = builder6.BuildPartial(); continue; } case 90: { WXWebpageMessageP.Builder builder7 = WXWebpageMessageP.CreateBuilder(); if (this.result.hasWebpageMessage) { builder7.MergeFrom(this.WebpageMessage); } input.ReadMessage(builder7, extensionRegistry); this.WebpageMessage = builder7.BuildPartial(); continue; } case 0x62: { WXAppExtendMessageP.Builder builder8 = WXAppExtendMessageP.CreateBuilder(); if (this.result.hasAppExtendMessage) { builder8.MergeFrom(this.AppExtendMessage); } input.ReadMessage(builder8, extensionRegistry); this.AppExtendMessage = builder8.BuildPartial(); continue; } } if (WireFormat.IsEndGroupTag(num)) { return(this); } this.ParseUnknownField(input, extensionRegistry, num, str); } return(this); }
/// <summary> /// Like <see cref="MergeFrom(ICodedInputStream, ExtensionRegistry, IBuilder)" /> /// but parses a single field. /// </summary> /// <param name="input">The input to read the field from</param> /// <param name="extensionRegistry">Registry to use when an extension field is encountered</param> /// <param name="builder">Builder to merge field into, if it's a known field</param> /// <param name="tag">The tag, which should already have been read from the input</param> /// <returns>true unless the tag is an end-group tag</returns> internal bool MergeFieldFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry, IBuilder builder, uint tag, string fieldName) { if (tag == 0 && fieldName != null) { FieldDescriptor fieldByName = builder.DescriptorForType.FindFieldByName(fieldName); if (fieldByName != null) { tag = WireFormat.MakeTag(fieldByName); } else { ExtensionInfo extension = extensionRegistry.FindByName(builder.DescriptorForType, fieldName); if (extension != null) { tag = WireFormat.MakeTag(extension.Descriptor); } } } MessageDescriptor type = builder.DescriptorForType; if (type.Options.MessageSetWireFormat && tag == WireFormat.MessageSetTag.ItemStart) { MergeMessageSetExtensionFromCodedStream(input, extensionRegistry, builder); return true; } WireFormat.WireType wireType = WireFormat.GetTagWireType(tag); int fieldNumber = WireFormat.GetTagFieldNumber(tag); FieldDescriptor field; IMessageLite defaultFieldInstance = null; if (type.IsExtensionNumber(fieldNumber)) { ExtensionInfo extension = extensionRegistry[type, fieldNumber]; if (extension == null) { field = null; } else { field = extension.Descriptor; defaultFieldInstance = extension.DefaultInstance; } } else { field = type.FindFieldByNumber(fieldNumber); } // Unknown field or wrong wire type. Skip. if (field == null) { return MergeFieldFrom(tag, input); } if (wireType != WireFormat.GetWireType(field)) { WireFormat.WireType expectedType = WireFormat.GetWireType(field.FieldType); if (wireType == expectedType) { //Allowed as of 2.3, this is unpacked data for a packed array } else if (field.IsRepeated && wireType == WireFormat.WireType.LengthDelimited && (expectedType == WireFormat.WireType.Varint || expectedType == WireFormat.WireType.Fixed32 || expectedType == WireFormat.WireType.Fixed64)) { //Allowed as of 2.3, this is packed data for an unpacked array } else { return MergeFieldFrom(tag, input); } } switch (field.FieldType) { case FieldType.Group: case FieldType.Message: { IBuilderLite subBuilder = (defaultFieldInstance != null) ? defaultFieldInstance.WeakCreateBuilderForType() : builder.CreateBuilderForField(field); if (!field.IsRepeated) { subBuilder.WeakMergeFrom((IMessageLite) builder[field]); if (field.FieldType == FieldType.Group) { input.ReadGroup(field.FieldNumber, subBuilder, extensionRegistry); } else { input.ReadMessage(subBuilder, extensionRegistry); } builder[field] = subBuilder.WeakBuild(); } else { List<IMessageLite> list = new List<IMessageLite>(); if (field.FieldType == FieldType.Group) { input.ReadGroupArray(tag, fieldName, list, subBuilder.WeakDefaultInstanceForType, extensionRegistry); } else { input.ReadMessageArray(tag, fieldName, list, subBuilder.WeakDefaultInstanceForType, extensionRegistry); } foreach (IMessageLite m in list) { builder.WeakAddRepeatedField(field, m); } return true; } break; } case FieldType.Enum: { if (!field.IsRepeated) { object unknown; IEnumLite value = null; if (input.ReadEnum(ref value, out unknown, field.EnumType)) { builder[field] = value; } else if (unknown is int) { MergeVarintField(fieldNumber, (ulong) (int) unknown); } } else { ICollection<object> unknown; List<IEnumLite> list = new List<IEnumLite>(); input.ReadEnumArray(tag, fieldName, list, out unknown, field.EnumType); foreach (IEnumLite en in list) { builder.WeakAddRepeatedField(field, en); } if (unknown != null) { foreach (object oval in unknown) { if (oval is int) { MergeVarintField(fieldNumber, (ulong) (int) oval); } } } } break; } default: { if (!field.IsRepeated) { object value = null; if (input.ReadPrimitiveField(field.FieldType, ref value)) { builder[field] = value; } } else { List<object> list = new List<object>(); input.ReadPrimitiveArray(field.FieldType, tag, fieldName, list); foreach (object oval in list) { builder.WeakAddRepeatedField(field, oval); } } break; } } return true; }