1 write to _knownSymbols
System.Text.Json.SourceGeneration (1)
JsonSourceGenerator.Parser.cs (1)
80
_knownSymbols
= knownSymbols;
133 references to _knownSymbols
System.Text.Json.SourceGeneration (133)
JsonSourceGenerator.Parser.cs (133)
69
if (location is null || !
_knownSymbols
.Compilation.ContainsLocation(location))
97
Debug.Assert(
_knownSymbols
.JsonSerializerContextType != null);
110
if (!
_knownSymbols
.JsonSerializerContextType.IsAssignableFrom(contextTypeSymbol))
139
LanguageVersion? langVersion =
_knownSymbols
.Compilation.GetLanguageVersion();
231
type =
_knownSymbols
.Compilation.EraseCompileTimeMetadata(type);
323
Debug.Assert(
_knownSymbols
.JsonSerializableAttributeType != null);
324
Debug.Assert(
_knownSymbols
.JsonSourceGenerationOptionsAttributeType != null);
333
if (SymbolEqualityComparer.Default.Equals(attributeClass,
_knownSymbols
.JsonSerializableAttributeType))
343
else if (SymbolEqualityComparer.Default.Equals(attributeClass,
_knownSymbols
.JsonSourceGenerationOptionsAttributeType))
364
Debug.Assert(
_knownSymbols
.JsonSerializableAttributeType != null);
371
if (!SymbolEqualityComparer.Default.Equals(attributeData.AttributeClass,
_knownSymbols
.JsonSerializableAttributeType))
658
if (location is null || !
_knownSymbols
.Compilation.ContainsLocation(location))
666
Type =
_knownSymbols
.Compilation.EraseCompileTimeMetadata(typeSymbol),
751
Debug.Assert(
_knownSymbols
.JsonStringEnumConverterOfTType != null);
752
INamedTypeSymbol converterSymbol =
_knownSymbols
.JsonStringEnumConverterOfTType.Construct(type);
787
constructorSetsRequiredMembers = defaultCtor?.ContainsAttribute(
_knownSymbols
.SetsRequiredMembersAttributeType) == true;
812
bool useDefaultCtorInAnnotatedStructs = type.GetCompatibleGenericBaseType(
_knownSymbols
.KeyValuePair) is null;
823
implementsIJsonOnSerializing =
_knownSymbols
.IJsonOnSerializingType.IsAssignableFrom(type);
824
implementsIJsonOnSerialized =
_knownSymbols
.IJsonOnSerializedType.IsAssignableFrom(type);
937
&&
_knownSymbols
.UnsafeAccessorAttributeType is not null
939
||
_knownSymbols
.SupportsGenericUnsafeAccessors),
997
if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonNumberHandlingAttributeType))
1002
else if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonUnmappedMemberHandlingAttributeType))
1007
else if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonObjectCreationHandlingAttributeType))
1012
else if (
_knownSymbols
.JsonNamingPolicyAttributeType?.IsAssignableFrom(attributeType) == true)
1028
else if (!foundJsonConverterAttribute &&
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeType))
1034
if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonIgnoreAttributeType))
1055
if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonDerivedTypeAttributeType))
1079
else if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonPolymorphicAttributeType))
1107
SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonUnionAttributeType))
1201
derivedType = resolvedDerivedType ??
_knownSymbols
.ObjectType;
1212
derivedType =
_knownSymbols
.ObjectType;
1421
if (!
_knownSymbols
.Compilation.TryValidateGenericConstraints(requiredParams, successfulSubstitution, out ITypeParameterSymbol? failedParam, out ITypeSymbol? failedArg))
1541
SymbolEqualityComparer.Default.Equals(valueProperty.Type,
_knownSymbols
.ObjectType))
1684
ITypeSymbol root =
_knownSymbols
.Compilation.GetSpecialType(SpecialType.System_Void);
1817
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.HalfType) ||
1818
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.Int128Type) ||
1819
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.UInt128Type) ||
1820
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.BFloat16Type) ||
1821
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.Decimal32Type) ||
1822
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.Decimal64Type) ||
1823
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.Decimal128Type))
1834
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.DateTimeOffsetType) ||
1835
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.DateOnlyType) ||
1836
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.TimeOnlyType) ||
1837
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.TimeSpanType) ||
1838
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.GuidType) ||
1839
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.UriType) ||
1840
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.VersionType) ||
1857
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonElementType) ||
1858
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonDocumentType) ||
1859
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonNodeType) ||
1860
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonObjectType) ||
1861
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonValueType))
1866
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonArrayType))
1873
if (type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType) is not null ||
1874
type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType) is not null ||
1875
_knownSymbols
.IDictionaryType.IsAssignableFrom(type))
1908
SymbolEqualityComparer.Default.Equals(named.OriginalDefinition,
_knownSymbols
.MemoryType);
1914
SymbolEqualityComparer.Default.Equals(named.OriginalDefinition,
_knownSymbols
.ReadOnlyMemoryType);
1918
INamedTypeSymbol? converterAttr =
_knownSymbols
.JsonConverterAttributeType;
1937
INamedTypeSymbol? numberHandlingAttr =
_knownSymbols
.JsonNumberHandlingAttributeType;
1972
if (SymbolEqualityComparer.Default.Equals(type.OriginalDefinition,
_knownSymbols
.MemoryType))
1974
Debug.Assert(!SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.MemoryByteType));
1980
if (SymbolEqualityComparer.Default.Equals(type.OriginalDefinition,
_knownSymbols
.ReadOnlyMemoryType))
1982
Debug.Assert(!SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.ReadOnlyMemoryByteType));
1989
if (type.GetCompatibleGenericBaseType(
_knownSymbols
.IAsyncEnumerableOfTType) is INamedTypeSymbol iAsyncEnumerableType)
1996
if (!
_knownSymbols
.IEnumerableType.IsAssignableFrom(type))
2008
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.KeyedCollectionType)) != null)
2013
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ListOfTType)) != null)
2018
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.DictionaryOfTKeyTValueType)) != null)
2024
else if (
_knownSymbols
.IsImmutableDictionaryType(type, out immutableCollectionFactoryTypeFullName))
2031
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType)) != null)
2038
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType)) != null)
2045
else if (
_knownSymbols
.IsImmutableEnumerableType(type, out immutableCollectionFactoryTypeFullName))
2050
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IListOfTType)) != null)
2055
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ISetOfTType)) != null)
2060
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadOnlySetOfTType)) != null)
2065
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ICollectionOfTType)) != null)
2070
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.StackOfTType)) != null)
2075
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.QueueOfTType)) != null)
2080
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ConcurrentStackType)) != null)
2085
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ConcurrentQueueType)) != null)
2090
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IEnumerableOfTType)) != null)
2095
else if (
_knownSymbols
.IDictionaryType.IsAssignableFrom(type))
2098
keyType =
_knownSymbols
.StringType;
2099
valueType =
_knownSymbols
.ObjectType;
2102
else if (
_knownSymbols
.IListType.IsAssignableFrom(type))
2105
valueType =
_knownSymbols
.ObjectType;
2107
else if (
_knownSymbols
.StackType.IsAssignableFrom(type))
2110
valueType =
_knownSymbols
.ObjectType;
2112
else if (
_knownSymbols
.QueueType.IsAssignableFrom(type))
2115
valueType =
_knownSymbols
.ObjectType;
2120
valueType =
_knownSymbols
.ObjectType;
2128
INamedTypeSymbol? dictionary =
_knownSymbols
.DictionaryOfTKeyTValueType?.Construct(keyType, valueType);
2319
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonObjectType))
2324
INamedTypeSymbol? actualDictionaryType = type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType);
2327
if (SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[0],
_knownSymbols
.StringType) &&
2328
(SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType) ||
2329
SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[1],
_knownSymbols
.JsonElementType)))
2337
INamedTypeSymbol? actualReadOnlyDictionaryType = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType);
2340
if (SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[0],
_knownSymbols
.StringType) &&
2341
(SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType) ||
2342
SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.JsonElementType)))
2345
INamedTypeSymbol? dictionaryType = SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType)
2346
?
_knownSymbols
.StringObjectDictionaryType
2347
:
_knownSymbols
.StringJsonElementDictionaryType;
2351
Conversion conversion =
_knownSymbols
.Compilation.ClassifyConversion(dictionaryType, type);
2512
CanUseUnsafeAccessors =
_knownSymbols
.UnsafeAccessorAttributeType is not null
2514
||
_knownSymbols
.SupportsGenericUnsafeAccessors),
2515
OpenDeclaringTypeFQN = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2517
OpenPropertyTypeFQN = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2519
DeclaringTypeParameterNames = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } namedType &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2521
DeclaringTypeParameterConstraintClauses = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } namedType2 &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2570
if (converterType is null &&
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeType))
2574
else if (memberNamingPolicy is null &&
_knownSymbols
.JsonNamingPolicyAttributeType?.IsAssignableFrom(attributeType) == true)
2764
constructorSetsRequiredMembers = constructor?.ContainsAttribute(
_knownSymbols
.SetsRequiredMembersAttributeType) == true;
2909
Debug.Assert(
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeData.AttributeClass));
2911
if (!SymbolEqualityComparer.Default.Equals(attributeData.AttributeClass,
_knownSymbols
.JsonConverterAttributeType))
2948
!
_knownSymbols
.JsonConverterType.IsAssignableFrom(namedConverterType) ||
2955
if (
_knownSymbols
.JsonStringEnumConverterType.IsAssignableFrom(namedConverterType))
2975
!
_knownSymbols
.JsonTypeClassifierFactoryType.IsAssignableFrom(namedClassifierType) ||
3169
cmp.Equals(type,
_knownSymbols
.DateTimeOffsetType) || cmp.Equals(type,
_knownSymbols
.GuidType))
3174
if (cmp.Equals(type,
_knownSymbols
.ByteArrayType))
3237
if (constructor.ContainsAttribute(
_knownSymbols
.JsonConstructorAttributeType))
3256
if (constructor.ContainsAttribute(
_knownSymbols
.JsonConstructorAttributeType))
3280
=>
_knownSymbols
.Compilation.IsSymbolAccessibleWithin(symbol, within);
3285
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.SerializationInfoType, type) ||
3286
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.IntPtrType, type) ||
3287
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.UIntPtrType, type) ||
3288
_knownSymbols
.MemberInfoType.IsAssignableFrom(type) ||
3289
_knownSymbols
.DelegateType.IsAssignableFrom(type) ||