1 write to _knownSymbols
System.Text.Json.SourceGeneration (1)
JsonSourceGenerator.Parser.cs (1)
83
_knownSymbols
= knownSymbols;
129 references to _knownSymbols
System.Text.Json.SourceGeneration (129)
JsonSourceGenerator.Parser.cs (129)
72
if (location is null || !
_knownSymbols
.Compilation.ContainsLocation(location))
100
Debug.Assert(
_knownSymbols
.JsonSerializerContextType != null);
114
if (!
_knownSymbols
.JsonSerializerContextType.IsAssignableFrom(contextTypeSymbol))
143
LanguageVersion? langVersion =
_knownSymbols
.Compilation.GetLanguageVersion();
202
type =
_knownSymbols
.Compilation.EraseCompileTimeMetadata(type);
294
Debug.Assert(
_knownSymbols
.JsonSerializableAttributeType != null);
295
Debug.Assert(
_knownSymbols
.JsonSourceGenerationOptionsAttributeType != null);
304
if (SymbolEqualityComparer.Default.Equals(attributeClass,
_knownSymbols
.JsonSerializableAttributeType))
314
else if (SymbolEqualityComparer.Default.Equals(attributeClass,
_knownSymbols
.JsonSourceGenerationOptionsAttributeType))
335
Debug.Assert(
_knownSymbols
.JsonSerializableAttributeType != null);
342
if (!SymbolEqualityComparer.Default.Equals(attributeData.AttributeClass,
_knownSymbols
.JsonSerializableAttributeType))
629
if (location is null || !
_knownSymbols
.Compilation.ContainsLocation(location))
637
Type =
_knownSymbols
.Compilation.EraseCompileTimeMetadata(typeSymbol),
722
Debug.Assert(
_knownSymbols
.JsonStringEnumConverterOfTType != null);
723
INamedTypeSymbol converterSymbol =
_knownSymbols
.JsonStringEnumConverterOfTType.Construct(type);
758
constructorSetsRequiredMembers = defaultCtor?.ContainsAttribute(
_knownSymbols
.SetsRequiredMembersAttributeType) == true;
783
bool useDefaultCtorInAnnotatedStructs = type.GetCompatibleGenericBaseType(
_knownSymbols
.KeyValuePair) is null;
794
implementsIJsonOnSerializing =
_knownSymbols
.IJsonOnSerializingType.IsAssignableFrom(type);
795
implementsIJsonOnSerialized =
_knownSymbols
.IJsonOnSerializedType.IsAssignableFrom(type);
884
&&
_knownSymbols
.SupportsGenericUnsafeAccessors
921
&&
_knownSymbols
.UnsafeAccessorAttributeType is not null
983
if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonNumberHandlingAttributeType))
988
else if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonUnmappedMemberHandlingAttributeType))
993
else if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonObjectCreationHandlingAttributeType))
998
else if (
_knownSymbols
.JsonNamingPolicyAttributeType?.IsAssignableFrom(attributeType) == true)
1014
else if (!foundJsonConverterAttribute &&
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeType))
1020
if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonIgnoreAttributeType))
1041
if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonDerivedTypeAttributeType))
1065
else if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonPolymorphicAttributeType))
1097
SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonUnionAttributeType))
1241
derivedType = resolvedDerivedType ??
_knownSymbols
.ObjectType;
1252
derivedType =
_knownSymbols
.ObjectType;
1461
if (!
_knownSymbols
.Compilation.TryValidateGenericConstraints(requiredParams, successfulSubstitution, out ITypeParameterSymbol? failedParam, out ITypeSymbol? failedArg))
1581
SymbolEqualityComparer.Default.Equals(valueProperty.Type,
_knownSymbols
.ObjectType))
1724
ITypeSymbol root =
_knownSymbols
.Compilation.GetSpecialType(SpecialType.System_Void);
1853
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.HalfType) ||
1854
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.Int128Type) ||
1855
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.UInt128Type) ||
1856
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.BFloat16Type) ||
1857
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.Decimal32Type) ||
1858
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.Decimal64Type) ||
1859
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.Decimal128Type))
1870
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.DateTimeOffsetType) ||
1871
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.DateOnlyType) ||
1872
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.TimeOnlyType) ||
1873
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.TimeSpanType) ||
1874
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.GuidType) ||
1875
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.UriType) ||
1876
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.VersionType) ||
1893
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonElementType) ||
1894
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonDocumentType) ||
1895
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonNodeType) ||
1896
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonValueType) ||
1902
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonObjectType))
1907
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonArrayType))
1914
if (type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType) is not null ||
1915
type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType) is not null ||
1916
_knownSymbols
.IDictionaryType.IsAssignableFrom(type))
1949
SymbolEqualityComparer.Default.Equals(named.OriginalDefinition,
_knownSymbols
.MemoryType);
1955
SymbolEqualityComparer.Default.Equals(named.OriginalDefinition,
_knownSymbols
.ReadOnlyMemoryType);
1959
INamedTypeSymbol? converterAttr =
_knownSymbols
.JsonConverterAttributeType;
1978
INamedTypeSymbol? numberHandlingAttr =
_knownSymbols
.JsonNumberHandlingAttributeType;
2012
if (SymbolEqualityComparer.Default.Equals(type.OriginalDefinition,
_knownSymbols
.MemoryType))
2014
Debug.Assert(!SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.MemoryByteType));
2020
if (SymbolEqualityComparer.Default.Equals(type.OriginalDefinition,
_knownSymbols
.ReadOnlyMemoryType))
2022
Debug.Assert(!SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.ReadOnlyMemoryByteType));
2029
if (type.GetCompatibleGenericBaseType(
_knownSymbols
.IAsyncEnumerableOfTType) is INamedTypeSymbol iAsyncEnumerableType)
2036
if (!
_knownSymbols
.IEnumerableType.IsAssignableFrom(type))
2048
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.KeyedCollectionType)) != null)
2053
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ListOfTType)) != null)
2058
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.DictionaryOfTKeyTValueType)) != null)
2064
else if (
_knownSymbols
.IsImmutableDictionaryType(type, out immutableCollectionFactoryTypeFullName))
2071
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType)) != null)
2078
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType)) != null)
2085
else if (
_knownSymbols
.IsImmutableEnumerableType(type, out immutableCollectionFactoryTypeFullName))
2090
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IListOfTType)) != null)
2095
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ISetOfTType)) != null)
2100
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadOnlySetOfTType)) != null)
2105
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ICollectionOfTType)) != null)
2110
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.StackOfTType)) != null)
2115
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.QueueOfTType)) != null)
2120
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ConcurrentStackType)) != null)
2125
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ConcurrentQueueType)) != null)
2130
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IEnumerableOfTType)) != null)
2135
else if (
_knownSymbols
.IDictionaryType.IsAssignableFrom(type))
2138
keyType =
_knownSymbols
.StringType;
2139
valueType =
_knownSymbols
.ObjectType;
2142
else if (
_knownSymbols
.IListType.IsAssignableFrom(type))
2145
valueType =
_knownSymbols
.ObjectType;
2147
else if (
_knownSymbols
.StackType.IsAssignableFrom(type))
2150
valueType =
_knownSymbols
.ObjectType;
2152
else if (
_knownSymbols
.QueueType.IsAssignableFrom(type))
2155
valueType =
_knownSymbols
.ObjectType;
2160
valueType =
_knownSymbols
.ObjectType;
2168
INamedTypeSymbol? dictionary =
_knownSymbols
.DictionaryOfTKeyTValueType?.Construct(keyType, valueType);
2362
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonObjectType))
2367
INamedTypeSymbol? actualDictionaryType = type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType);
2370
if (SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[0],
_knownSymbols
.StringType) &&
2371
(SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType) ||
2372
SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[1],
_knownSymbols
.JsonElementType)))
2380
INamedTypeSymbol? actualReadOnlyDictionaryType = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType);
2383
if (SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[0],
_knownSymbols
.StringType) &&
2384
(SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType) ||
2385
SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.JsonElementType)))
2388
INamedTypeSymbol? dictionaryType = SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType)
2389
?
_knownSymbols
.StringObjectDictionaryType
2390
:
_knownSymbols
.StringJsonElementDictionaryType;
2394
Conversion conversion =
_knownSymbols
.Compilation.ClassifyConversion(dictionaryType, type);
2536
&&
_knownSymbols
.SupportsGenericUnsafeAccessors
2562
CanUseUnsafeAccessors =
_knownSymbols
.UnsafeAccessorAttributeType is not null
2619
if (converterType is null &&
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeType))
2623
else if (memberNamingPolicy is null &&
_knownSymbols
.JsonNamingPolicyAttributeType?.IsAssignableFrom(attributeType) == true)
2813
constructorSetsRequiredMembers = constructor?.ContainsAttribute(
_knownSymbols
.SetsRequiredMembersAttributeType) == true;
2960
Debug.Assert(
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeData.AttributeClass));
2962
if (!SymbolEqualityComparer.Default.Equals(attributeData.AttributeClass,
_knownSymbols
.JsonConverterAttributeType))
2999
!
_knownSymbols
.JsonConverterType.IsAssignableFrom(namedConverterType) ||
3006
if (
_knownSymbols
.JsonStringEnumConverterType.IsAssignableFrom(namedConverterType))
3026
!
_knownSymbols
.JsonTypeClassifierFactoryType.IsAssignableFrom(namedClassifierType) ||
3220
cmp.Equals(type,
_knownSymbols
.DateTimeOffsetType) || cmp.Equals(type,
_knownSymbols
.GuidType))
3225
if (cmp.Equals(type,
_knownSymbols
.ByteArrayType))
3288
if (constructor.ContainsAttribute(
_knownSymbols
.JsonConstructorAttributeType))
3307
if (constructor.ContainsAttribute(
_knownSymbols
.JsonConstructorAttributeType))
3331
=>
_knownSymbols
.Compilation.IsSymbolAccessibleWithin(symbol, within);
3336
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.SerializationInfoType, type) ||
3337
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.IntPtrType, type) ||
3338
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.UIntPtrType, type) ||
3339
_knownSymbols
.MemberInfoType.IsAssignableFrom(type) ||
3340
_knownSymbols
.DelegateType.IsAssignableFrom(type) ||