44 references to FieldReadKind
Microsoft.Diagnostics.DataContractReader.DataGenerator (44)
Emitter.cs (20)
177if (member.ReadKind != FieldReadKind.Primitive
178&& member.ReadKind != FieldReadKind.Bool
179&& member.ReadKind != FieldReadKind.NUInt)
198if (member.ReadKind == FieldReadKind.Bool)
202else if (member.ReadKind == FieldReadKind.NUInt)
411FieldReadKind.Primitive => $"_target.ReadField<{typeArg}>({baseVar}, {typeVar}, {nameVar})",
412FieldReadKind.Bool => $"_target.ReadField<{member.BoolUnderlyingType ?? "byte"}>({baseVar}, {typeVar}, {nameVar}) != 0",
413FieldReadKind.Pointer => $"_target.ReadPointerField({baseVar}, {typeVar}, {nameVar})",
414FieldReadKind.NUInt => $"_target.ReadNUIntField({baseVar}, {typeVar}, {nameVar})",
415FieldReadKind.NInt => $"_target.ReadNIntField({baseVar}, {typeVar}, {nameVar})",
416FieldReadKind.CodePointer => $"_target.ReadCodePointerField({baseVar}, {typeVar}, {nameVar})",
417FieldReadKind.DataInPlace => $"_target.ReadDataField<{typeArg}>({baseVar}, {typeVar}, {nameVar})",
418FieldReadKind.DataPointer => $"_target.ProcessedData.GetOrAdd<{typeArg}>(_target.ReadPointerField({baseVar}, {typeVar}, {nameVar}))",
497FieldReadKind.Primitive => $"_target.{readMethod}<{typeArg}>({addr})",
498FieldReadKind.Bool => $"_target.{readMethod}<byte>({addr}) != 0",
499FieldReadKind.Pointer => $"_target.ReadPointer({addr})",
500FieldReadKind.NUInt => $"_target.ReadNUInt({addr})",
501FieldReadKind.NInt => $"_target.ReadNInt({addr})",
502FieldReadKind.CodePointer => $"_target.ReadCodePointer({addr})",
503FieldReadKind.DataInPlace => $"_target.ProcessedData.GetOrAdd<{typeArg}>({addr})",
Parser.cs (23)
215(FieldReadKind readKind, string? dataTypeArg, bool isNullable) = ClassifyFieldRead(prop, isPointer: false);
247(FieldReadKind readKind, string? dataTypeArg, bool isNullable) = ClassifyFieldRead(prop, isPointer);
299ReadKind: FieldReadKind.Pointer,
319ReadKind: FieldReadKind.Pointer,
363ReadKind: FieldReadKind.Pointer,
375private static (FieldReadKind, string?, bool) ClassifyFieldRead(IPropertySymbol prop, bool isPointer)
396return (isPointer ? FieldReadKind.DataPointer : FieldReadKind.DataInPlace, fqn, isNullable);
402=> (FieldReadKind.Bool, null, isNullable),
404=> (FieldReadKind.Pointer, null, isNullable),
406=> (FieldReadKind.NUInt, null, isNullable),
408=> (FieldReadKind.NInt, null, isNullable),
410=> (FieldReadKind.CodePointer, null, isNullable),
411_ => (FieldReadKind.Primitive, fqn, isNullable),
417FieldReadKind readKind,
429FieldReadKind.Bool => NativeTypeNameFromKeyword(boolUnderlyingType ?? "byte"),
430FieldReadKind.Pointer or FieldReadKind.DataPointer => "pointer",
431FieldReadKind.NUInt => "nuint",
432FieldReadKind.NInt => "nint",
433FieldReadKind.CodePointer => "CodePointer",
434FieldReadKind.Primitive or FieldReadKind.DataInPlace => NativeTypeNameFromType(type),