35 references to FieldReadKind
Microsoft.Diagnostics.DataContractReader.DataGenerator (35)
Emitter.cs (20)
118if (member.ReadKind != FieldReadKind.Primitive
119&& member.ReadKind != FieldReadKind.Bool
120&& member.ReadKind != FieldReadKind.NUInt)
139if (member.ReadKind == FieldReadKind.Bool)
143else if (member.ReadKind == FieldReadKind.NUInt)
253FieldReadKind.Primitive => $"target.ReadField<{typeArg}>({baseVar}, {typeVar}, {nameVar})",
254FieldReadKind.Bool => $"target.ReadField<{member.BoolUnderlyingType ?? "byte"}>({baseVar}, {typeVar}, {nameVar}) != 0",
255FieldReadKind.Pointer => $"target.ReadPointerField({baseVar}, {typeVar}, {nameVar})",
256FieldReadKind.NUInt => $"target.ReadNUIntField({baseVar}, {typeVar}, {nameVar})",
257FieldReadKind.NInt => $"target.ReadNIntField({baseVar}, {typeVar}, {nameVar})",
258FieldReadKind.CodePointer => $"target.ReadCodePointerField({baseVar}, {typeVar}, {nameVar})",
259FieldReadKind.DataInPlace => $"target.ReadDataField<{typeArg}>({baseVar}, {typeVar}, {nameVar})",
260FieldReadKind.DataPointer => $"target.ProcessedData.GetOrAdd<{typeArg}>(target.ReadPointerField({baseVar}, {typeVar}, {nameVar}))",
337FieldReadKind.Primitive => $"target.{readMethod}<{typeArg}>({addr})",
338FieldReadKind.Bool => $"target.{readMethod}<byte>({addr}) != 0",
339FieldReadKind.Pointer => $"target.ReadPointer({addr})",
340FieldReadKind.NUInt => $"target.ReadNUInt({addr})",
341FieldReadKind.NInt => $"target.ReadNInt({addr})",
342FieldReadKind.CodePointer => $"target.ReadCodePointer({addr})",
343FieldReadKind.DataInPlace => $"target.ProcessedData.GetOrAdd<{typeArg}>({addr})",
Parser.cs (14)
205(FieldReadKind readKind, string? dataTypeArg, bool isNullable) = ClassifyFieldRead(prop, isPointer: false);
236(FieldReadKind readKind, string? dataTypeArg, bool isNullable) = ClassifyFieldRead(prop, isPointer);
276ReadKind: FieldReadKind.Pointer,
295ReadKind: FieldReadKind.Pointer,
338ReadKind: FieldReadKind.Pointer,
350private static (FieldReadKind, string?, bool) ClassifyFieldRead(IPropertySymbol prop, bool isPointer)
365return (isPointer ? FieldReadKind.DataPointer : FieldReadKind.DataInPlace, fqn, isNullable);
371=> (FieldReadKind.Bool, null, isNullable),
373=> (FieldReadKind.Pointer, null, isNullable),
375=> (FieldReadKind.NUInt, null, isNullable),
377=> (FieldReadKind.NInt, null, isNullable),
379=> (FieldReadKind.CodePointer, null, isNullable),
380_ => (FieldReadKind.Primitive, fqn, isNullable),