Example #1
0
            /// <exception cref="Com.Google.Protobuf.InvalidProtocolBufferException"/>
            private ConcatVectorTable(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
            {
                InitFields();
                int mutable_bitField0_ = 0;

                UnknownFieldSet.Builder unknownFields = UnknownFieldSet.NewBuilder();
                try
                {
                    bool done = false;
                    while (!done)
                    {
                        int tag = input.ReadTag();
                        switch (tag)
                        {
                        case 0:
                        {
                            done = true;
                            break;
                        }

                        default:
                        {
                            if (!ParseUnknownField(input, unknownFields, extensionRegistry, tag))
                            {
                                done = true;
                            }
                            break;
                        }

                        case 8:
                        {
                            if (!((mutable_bitField0_ & unchecked ((int)(0x00000001))) == unchecked ((int)(0x00000001))))
                            {
                                dimensionSize_      = new List <int>();
                                mutable_bitField0_ |= unchecked ((int)(0x00000001));
                            }
                            dimensionSize_.Add(input.ReadInt32());
                            break;
                        }

                        case 10:
                        {
                            int length = input.ReadRawVarint32();
                            int limit  = input.PushLimit(length);
                            if (!((mutable_bitField0_ & unchecked ((int)(0x00000001))) == unchecked ((int)(0x00000001))) && input.GetBytesUntilLimit() > 0)
                            {
                                dimensionSize_      = new List <int>();
                                mutable_bitField0_ |= unchecked ((int)(0x00000001));
                            }
                            while (input.GetBytesUntilLimit() > 0)
                            {
                                dimensionSize_.Add(input.ReadInt32());
                            }
                            input.PopLimit(limit);
                            break;
                        }

                        case 18:
                        {
                            if (!((mutable_bitField0_ & unchecked ((int)(0x00000002))) == unchecked ((int)(0x00000002))))
                            {
                                factorTable_        = new List <ConcatVectorProto.ConcatVector>();
                                mutable_bitField0_ |= unchecked ((int)(0x00000002));
                            }
                            factorTable_.Add(input.ReadMessage(ConcatVectorProto.ConcatVector.Parser, extensionRegistry));
                            break;
                        }
                        }
                    }
                }
                catch (InvalidProtocolBufferException e)
                {
                    throw e.SetUnfinishedMessage(this);
                }
                catch (IOException e)
                {
                    throw new InvalidProtocolBufferException(e.Message).SetUnfinishedMessage(this);
                }
                finally
                {
                    if (((mutable_bitField0_ & unchecked ((int)(0x00000001))) == unchecked ((int)(0x00000001))))
                    {
                        dimensionSize_ = Java.Util.Collections.UnmodifiableList(dimensionSize_);
                    }
                    if (((mutable_bitField0_ & unchecked ((int)(0x00000002))) == unchecked ((int)(0x00000002))))
                    {
                        factorTable_ = Java.Util.Collections.UnmodifiableList(factorTable_);
                    }
                    this.unknownFields = unknownFields.Build();
                    MakeExtensionsImmutable();
                }
            }