( typeInfo: TypeInfo, builder: CodecBuilder, )
| 136 | } |
| 137 | |
| 138 | function directNumericFieldReadExpr( |
| 139 | typeInfo: TypeInfo, |
| 140 | builder: CodecBuilder, |
| 141 | ): string | null { |
| 142 | if ( |
| 143 | toRefMode(typeInfo.trackingRef, typeInfo.nullable) !== RefMode.NONE |
| 144 | || !builder.resolver.isMonomorphic(typeInfo, typeInfo.dynamic) |
| 145 | || getCompatibleScalarReadAction(typeInfo) !== undefined |
| 146 | ) { |
| 147 | return null; |
| 148 | } |
| 149 | switch (typeInfo.typeId) { |
| 150 | case TypeId.INT8: |
| 151 | return builder.reader.readInt8(); |
| 152 | case TypeId.INT16: |
| 153 | return builder.reader.readInt16(); |
| 154 | case TypeId.INT32: |
| 155 | return builder.reader.readInt32(); |
| 156 | case TypeId.VARINT32: |
| 157 | return builder.reader.readVarInt32(); |
| 158 | case TypeId.INT64: |
| 159 | return builder.reader.readInt64(); |
| 160 | case TypeId.VARINT64: |
| 161 | return builder.reader.readVarInt64(); |
| 162 | case TypeId.TAGGED_INT64: |
| 163 | return builder.reader.readTaggedInt64(); |
| 164 | case TypeId.UINT8: |
| 165 | return builder.reader.readUint8(); |
| 166 | case TypeId.UINT16: |
| 167 | return builder.reader.readUint16(); |
| 168 | case TypeId.UINT32: |
| 169 | return builder.reader.readUint32(); |
| 170 | case TypeId.VAR_UINT32: |
| 171 | return builder.reader.readVarUInt32(); |
| 172 | case TypeId.UINT64: |
| 173 | return builder.reader.readUint64(); |
| 174 | case TypeId.VAR_UINT64: |
| 175 | return builder.reader.readVarUInt64(); |
| 176 | case TypeId.TAGGED_UINT64: |
| 177 | return builder.reader.readTaggedUInt64(); |
| 178 | case TypeId.FLOAT16: |
| 179 | return builder.reader.readFloat16(); |
| 180 | case TypeId.BFLOAT16: |
| 181 | return builder.reader.readBfloat16(); |
| 182 | case TypeId.FLOAT32: |
| 183 | return builder.reader.readFloat32(); |
| 184 | case TypeId.FLOAT64: |
| 185 | return builder.reader.readFloat64(); |
| 186 | default: |
| 187 | return null; |
| 188 | } |
| 189 | } |
| 190 | |
| 191 | function compatibleScalarFieldReadExpr( |
| 192 | remoteTypeId: number, |
no test coverage detected