package Ġpb and k . internal . binary Ċ Ċ import Ġcom . google . protobuf . CodedOutputStream Ċ import Ġcom . google . protobuf . WireFormat Ċ import Ġpb and k . Byte Arr Ċ import Ġpb and k . FieldDescriptor Ċ import Ġpb and k . List With Size Ċ import Ġpb and k . Message Ċ Ċ private Ġfun ĠCode d OutputStream . writeValue No Tag ( type : ĠField Descriptor . Type , Ġvalue : ĠAny ) Ġ{ ĊĠĠĠ Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠField Descriptor . Type . Primitive . Double Ġ-> Ġwrite Double No Tag ( value Ġas ĠDouble ) ĊĠĠĠĠĠĠĠ Ġis ĠField Descriptor . Type . Primitive . Float Ġ-> Ġwrite Float No Tag ( value Ġas ĠFloat ) ĊĠĠĠĠĠĠĠ Ġis ĠField Descriptor . Type . Primitive . Int 6 4 Ġ-> Ġwrite Int 6 4 No Tag ( value Ġas ĠLong ) ĊĠĠĠĠĠĠĠ Ġis ĠField Descriptor . Type . Primitive . UInt 6 4 Ġ-> Ġwrite UInt 6 4 No Tag ( value Ġas ĠLong ) ĊĠĠĠĠĠĠĠ Ġis ĠField Descriptor . Type . Primitive . Int 3 2 Ġ-> Ġwrite Int 3 2 No Tag ( value Ġas ĠInt ) ĊĠĠĠĠĠĠĠ Ġis ĠField Descriptor . Type . Primitive . Fixed 6 4 Ġ-> Ġwrite Fixed 6 4 No Tag ( value Ġas ĠLong ) ĊĠĠĠĠĠĠĠ Ġis ĠField Descriptor . Type . Primitive . Fixed 3 2 Ġ-> Ġwrite Fixed 3 2 No Tag ( value Ġas ĠInt ) ĊĠĠĠĠĠĠĠ Ġis ĠField Descriptor . Type . Primitive . Bool Ġ-> Ġwrite Bool No Tag ( value Ġas ĠBoolean ) ĊĠĠĠĠĠĠĠ Ġis ĠField Descriptor . Type . Primitive . String Ġ-> Ġwrite String No Tag ( value Ġas ĠString ) ĊĠĠĠĠĠĠĠ Ġis ĠField Descriptor . Type . Primitive . Bytes Ġ-> Ġwrite ByteArray No Tag (( value Ġas ĠByte Arr ). array ) ĊĠĠĠĠĠĠĠ Ġis ĠField Descriptor . Type . Primitive . UInt 3 2 Ġ-> Ġwrite UInt 3 2 No Tag ( value Ġas ĠInt ) ĊĠĠĠĠĠĠĠ Ġis ĠField Descriptor . Type . Primitive . S Fixed 3 2 Ġ-> Ġwrite S Fixed 3 2 No Tag ( value Ġas ĠInt ) ĊĠĠĠĠĠĠĠ Ġis ĠField Descriptor . Type . Primitive . S Fixed 6 4 Ġ-> Ġwrite S Fixed 6 4 No Tag ( value Ġas ĠLong ) ĊĠĠĠĠĠĠĠ Ġis ĠField Descriptor . Type . Primitive . S Int 3 2 Ġ-> Ġwrite S Int 3 2 No Tag ( value Ġas ĠInt ) ĊĠĠĠĠĠĠĠ Ġis ĠField Descriptor . Type . Primitive . S Int 6 4 Ġ-> Ġwrite S Int 6 4 No Tag ( value Ġas ĠLong ) ĊĠĠĠĠĠĠĠ Ġis ĠField Descriptor . Type . Message < *> Ġ-> Ġerror (" writeValue No Tag () Ġshould Ġonly Ġbe Ġcalled Ġfor Ġprimitive Ġtypes ") ĊĠĠĠĠĠĠĠ Ġis ĠField Descriptor . Type . Enum < *> Ġ-> Ġwrite Enum No Tag (( value Ġas ĠMessage . Enum ). value ) ĊĠĠĠĠĠĠĠ Ġis ĠField Descriptor . Type . Repeated < *> Ġ-> Ġerror (" writeValue No Tag () Ġshould Ġonly Ġbe Ġcalled Ġfor Ġprimitive Ġtypes ") ĊĠĠĠĠĠĠĠ Ġis ĠField Descriptor . Type . Map < *, Ġ*> Ġ-> Ġerror (" writeValue No Tag () Ġshould Ġonly Ġbe Ġcalled Ġfor Ġprimitive Ġtypes ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġopen Ġclass ĠCode d Stream Binary Wire Marshaller ( private Ġval Ġstream : ĠCode d OutputStream ) Ġ: ĠBinary Wire Marshaller Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġwrite Length Delimited Header ( field Num : ĠInt , Ġproto Size : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstream . write Tag ( field Num , ĠWire Format . WI RE TYPE _ LENGTH _ DE LIMIT ED ) ĊĠĠĠĠĠĠĠ Ġstream . write UInt 3 2 No Tag ( proto Size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwrite Packed Repeated ( field Num : ĠInt , Ġlist : ĠList <* >, Ġvalue Type : ĠField Descriptor . Type ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist Size Ġ= Ġ( list Ġas ? ĠList With Size )?. proto Size Ġ?: Ġlist . sum By Ġ{ Ġvalue Type . proto Size ( checkNotNull ( it )) Ġ} ĊĠĠĠĠĠĠĠ Ġwrite Length Delimited Header ( field Num , Ġlist Size ) ĊĠĠĠĠĠĠĠ Ġlist . forEach Ġ{ Ġstream . writeValue No Tag ( valueType , ĠcheckNotNull ( it )) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwrite Int 3 2 ( field Num : ĠInt , Ġvalue : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstream . writeInt 3 2 ( field Num , Ġvalue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwrite Int 6 4 ( field Num : ĠInt , Ġvalue : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstream . writeInt 6 4 ( field Num , Ġvalue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwrite UInt 3 2 ( field Num : ĠInt , Ġvalue : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstream . write UInt 3 2 ( field Num , Ġvalue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwrite UInt 6 4 ( field Num : ĠInt , Ġvalue : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstream . write UInt 6 4 ( field Num , Ġvalue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwrite S Int 3 2 ( field Num : ĠInt , Ġvalue : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstream . write S Int 3 2 ( field Num , Ġvalue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwrite S Int 6 4 ( field Num : ĠInt , Ġvalue : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstream . write S Int 6 4 ( field Num , Ġvalue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwrite Bool ( field Num : ĠInt , Ġvalue : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstream . write Bool ( field Num , Ġvalue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwrite Enum ( field Num : ĠInt , Ġvalue : ĠMessage . Enum ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstream . write Enum ( field Num , Ġvalue . value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwrite Fixed 3 2 ( field Num : ĠInt , Ġvalue : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstream . write Fixed 3 2 ( field Num , Ġvalue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwrite Fixed 6 4 ( field Num : ĠInt , Ġvalue : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstream . write Fixed 6 4 ( field Num , Ġvalue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwrite S Fixed 3 2 ( field Num : ĠInt , Ġvalue : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstream . write S Fixed 3 2 ( field Num , Ġvalue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwrite S Fixed 6 4 ( field Num : ĠInt , Ġvalue : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstream . write S Fixed 6 4 ( field Num , Ġvalue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwrite Float ( field Num : ĠInt , Ġvalue : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstream . write Float ( field Num , Ġvalue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwrite Double ( field Num : ĠInt , Ġvalue : ĠDouble ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstream . write Double ( field Num , Ġvalue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwrite String ( field Num : ĠInt , Ġvalue : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstream . writeString ( field Num , Ġvalue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwrite Bytes ( field Num : ĠInt , Ġvalue : ĠByte Arr ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstream . write ByteArray ( field Num , Ġvalue . array ) ĊĠĠĠ Ġ} Ċ } Ċ