45 references to FieldReadKind
Microsoft.Diagnostics.DataContractReader.DataGenerator (45)
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)
423FieldReadKind.Primitive => $"_target.ReadField<{typeArg}>({baseVar}, {typeVar}, {nameVar})",
424FieldReadKind.Bool => $"_target.ReadField<{member.BoolUnderlyingType ?? "byte"}>({baseVar}, {typeVar}, {nameVar}) != 0",
425FieldReadKind.Pointer => $"_target.ReadPointerField({baseVar}, {typeVar}, {nameVar})",
426FieldReadKind.NUInt => $"_target.ReadNUIntField({baseVar}, {typeVar}, {nameVar})",
427FieldReadKind.NInt => $"_target.ReadNIntField({baseVar}, {typeVar}, {nameVar})",
428FieldReadKind.CodePointer => $"_target.ReadCodePointerField({baseVar}, {typeVar}, {nameVar})",
429FieldReadKind.DataInPlace => $"_target.ReadDataField<{typeArg}>({baseVar}, {typeVar}, {nameVar})",
430FieldReadKind.DataPointer => $"_target.ProcessedData.GetOrAdd<{typeArg}>(_target.ReadPointerField({baseVar}, {typeVar}, {nameVar}))",
510FieldReadKind.Primitive => $"_target.{readMethod}<{typeArg}>({addr})",
511FieldReadKind.Bool => $"_target.{readMethod}<byte>({addr}) != 0",
512FieldReadKind.Pointer => $"_target.ReadPointer({addr})",
513FieldReadKind.NUInt => $"_target.ReadNUInt({addr})",
514FieldReadKind.NInt => $"_target.ReadNInt({addr})",
515FieldReadKind.CodePointer => $"_target.ReadCodePointer({addr})",
516FieldReadKind.DataInPlace => $"_target.ProcessedData.GetOrAdd<{typeArg}>({addr})",
Parser.cs (24)
227ReadKind: FieldReadKind.Primitive,
244(FieldReadKind readKind, string? dataTypeArg, bool isNullable) = ClassifyFieldRead(prop, isPointer: false);
276(FieldReadKind readKind, string? dataTypeArg, bool isNullable) = ClassifyFieldRead(prop, isPointer);
322ReadKind: FieldReadKind.Pointer,
342ReadKind: FieldReadKind.Pointer,
386ReadKind: FieldReadKind.Pointer,
398private static (FieldReadKind, string?, bool) ClassifyFieldRead(IPropertySymbol prop, bool isPointer)
419return (isPointer ? FieldReadKind.DataPointer : FieldReadKind.DataInPlace, fqn, isNullable);
425=> (FieldReadKind.Bool, null, isNullable),
427=> (FieldReadKind.Pointer, null, isNullable),
429=> (FieldReadKind.NUInt, null, isNullable),
431=> (FieldReadKind.NInt, null, isNullable),
433=> (FieldReadKind.CodePointer, null, isNullable),
434_ => (FieldReadKind.Primitive, fqn, isNullable),
440FieldReadKind readKind,
452FieldReadKind.Bool => NativeTypeNameFromKeyword(boolUnderlyingType ?? "byte"),
453FieldReadKind.Pointer or FieldReadKind.DataPointer => "pointer",
454FieldReadKind.NUInt => "nuint",
455FieldReadKind.NInt => "nint",
456FieldReadKind.CodePointer => "CodePointer",
457FieldReadKind.Primitive or FieldReadKind.DataInPlace => NativeTypeNameFromType(type),