Lines Matching refs:ctx

115         public static void ReadMessage(ref ParseContext ctx, IMessage message)
117 int length = ParsingPrimitives.ParseLength(ref ctx.buffer, ref ctx.state);
118 if (ctx.state.recursionDepth >= ctx.state.recursionLimit)
122 int oldLimit = SegmentedBufferHelper.PushLimit(ref ctx.state, length);
123 ++ctx.state.recursionDepth;
125 ReadRawMessage(ref ctx, message);
127 CheckReadEndOfStreamTag(ref ctx.state);
129 if (!SegmentedBufferHelper.IsReachedLimit(ref ctx.state))
133 --ctx.state.recursionDepth;
134 SegmentedBufferHelper.PopLimit(ref ctx.state, oldLimit);
137 public static void ReadGroup(ref ParseContext ctx, IMessage message)
139 if (ctx.state.recursionDepth >= ctx.state.recursionLimit)
143 ++ctx.state.recursionDepth;
145 uint tag = ctx.state.lastTag;
147 ReadRawMessage(ref ctx, message);
148 CheckLastTagWas(ref ctx.state, WireFormat.MakeTag(fieldNumber, WireFormat.WireType.EndGroup));
150 --ctx.state.recursionDepth;
153 public static void ReadGroup(ref ParseContext ctx, int fieldNumber, UnknownFieldSet set)
155 if (ctx.state.recursionDepth >= ctx.state.recursionLimit)
159 ++ctx.state.recursionDepth;
161 set.MergeGroupFrom(ref ctx);
162 CheckLastTagWas(ref ctx.state, WireFormat.MakeTag(fieldNumber, WireFormat.WireType.EndGroup));
164 --ctx.state.recursionDepth;
167 public static void ReadRawMessage(ref ParseContext ctx, IMessage message)
171 bufferMessage.InternalMergeFrom(ref ctx);
185 if (ctx.state.CodedInputStream == null)
195 ctx.CopyStateTo(ctx.state.CodedInputStream);
199 message.MergeFrom(ctx.state.CodedInputStream);
203 ctx.LoadStateFrom(ctx.state.CodedInputStream);