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);
941
&&
_knownSymbols
.UnsafeAccessorAttributeType is not null
943
||
_knownSymbols
.SupportsGenericUnsafeAccessors),
1003
if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonNumberHandlingAttributeType))
1008
else if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonUnmappedMemberHandlingAttributeType))
1013
else if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonObjectCreationHandlingAttributeType))
1018
else if (
_knownSymbols
.JsonNamingPolicyAttributeType?.IsAssignableFrom(attributeType) == true)
1034
else if (!foundJsonConverterAttribute &&
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeType))
1040
if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonIgnoreAttributeType))
1061
if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonDerivedTypeAttributeType))
1085
else if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonPolymorphicAttributeType))
1117
SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonUnionAttributeType))
1259
derivedType = resolvedDerivedType ??
_knownSymbols
.ObjectType;
1270
derivedType =
_knownSymbols
.ObjectType;
1479
if (!
_knownSymbols
.Compilation.TryValidateGenericConstraints(requiredParams, successfulSubstitution, out ITypeParameterSymbol? failedParam, out ITypeSymbol? failedArg))
1599
SymbolEqualityComparer.Default.Equals(valueProperty.Type,
_knownSymbols
.ObjectType))
1742
ITypeSymbol root =
_knownSymbols
.Compilation.GetSpecialType(SpecialType.System_Void);
1875
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.HalfType) ||
1876
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.Int128Type) ||
1877
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.UInt128Type) ||
1878
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.BFloat16Type) ||
1879
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.Decimal32Type) ||
1880
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.Decimal64Type) ||
1881
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.Decimal128Type))
1892
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.DateTimeOffsetType) ||
1893
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.DateOnlyType) ||
1894
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.TimeOnlyType) ||
1895
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.TimeSpanType) ||
1896
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.GuidType) ||
1897
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.UriType) ||
1898
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.VersionType) ||
1915
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonElementType) ||
1916
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonDocumentType) ||
1917
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonNodeType) ||
1918
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonObjectType) ||
1919
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonValueType))
1924
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonArrayType))
1931
if (type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType) is not null ||
1932
type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType) is not null ||
1933
_knownSymbols
.IDictionaryType.IsAssignableFrom(type))
1966
SymbolEqualityComparer.Default.Equals(named.OriginalDefinition,
_knownSymbols
.MemoryType);
1972
SymbolEqualityComparer.Default.Equals(named.OriginalDefinition,
_knownSymbols
.ReadOnlyMemoryType);
1976
INamedTypeSymbol? converterAttr =
_knownSymbols
.JsonConverterAttributeType;
1995
INamedTypeSymbol? numberHandlingAttr =
_knownSymbols
.JsonNumberHandlingAttributeType;
2030
if (SymbolEqualityComparer.Default.Equals(type.OriginalDefinition,
_knownSymbols
.MemoryType))
2032
Debug.Assert(!SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.MemoryByteType));
2038
if (SymbolEqualityComparer.Default.Equals(type.OriginalDefinition,
_knownSymbols
.ReadOnlyMemoryType))
2040
Debug.Assert(!SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.ReadOnlyMemoryByteType));
2047
if (type.GetCompatibleGenericBaseType(
_knownSymbols
.IAsyncEnumerableOfTType) is INamedTypeSymbol iAsyncEnumerableType)
2054
if (!
_knownSymbols
.IEnumerableType.IsAssignableFrom(type))
2066
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.KeyedCollectionType)) != null)
2071
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ListOfTType)) != null)
2076
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.DictionaryOfTKeyTValueType)) != null)
2082
else if (
_knownSymbols
.IsImmutableDictionaryType(type, out immutableCollectionFactoryTypeFullName))
2089
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType)) != null)
2096
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType)) != null)
2103
else if (
_knownSymbols
.IsImmutableEnumerableType(type, out immutableCollectionFactoryTypeFullName))
2108
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IListOfTType)) != null)
2113
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ISetOfTType)) != null)
2118
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadOnlySetOfTType)) != null)
2123
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ICollectionOfTType)) != null)
2128
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.StackOfTType)) != null)
2133
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.QueueOfTType)) != null)
2138
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ConcurrentStackType)) != null)
2143
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ConcurrentQueueType)) != null)
2148
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IEnumerableOfTType)) != null)
2153
else if (
_knownSymbols
.IDictionaryType.IsAssignableFrom(type))
2156
keyType =
_knownSymbols
.StringType;
2157
valueType =
_knownSymbols
.ObjectType;
2160
else if (
_knownSymbols
.IListType.IsAssignableFrom(type))
2163
valueType =
_knownSymbols
.ObjectType;
2165
else if (
_knownSymbols
.StackType.IsAssignableFrom(type))
2168
valueType =
_knownSymbols
.ObjectType;
2170
else if (
_knownSymbols
.QueueType.IsAssignableFrom(type))
2173
valueType =
_knownSymbols
.ObjectType;
2178
valueType =
_knownSymbols
.ObjectType;
2186
INamedTypeSymbol? dictionary =
_knownSymbols
.DictionaryOfTKeyTValueType?.Construct(keyType, valueType);
2377
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonObjectType))
2382
INamedTypeSymbol? actualDictionaryType = type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType);
2385
if (SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[0],
_knownSymbols
.StringType) &&
2386
(SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType) ||
2387
SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[1],
_knownSymbols
.JsonElementType)))
2395
INamedTypeSymbol? actualReadOnlyDictionaryType = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType);
2398
if (SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[0],
_knownSymbols
.StringType) &&
2399
(SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType) ||
2400
SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.JsonElementType)))
2403
INamedTypeSymbol? dictionaryType = SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType)
2404
?
_knownSymbols
.StringObjectDictionaryType
2405
:
_knownSymbols
.StringJsonElementDictionaryType;
2409
Conversion conversion =
_knownSymbols
.Compilation.ClassifyConversion(dictionaryType, type);
2570
CanUseUnsafeAccessors =
_knownSymbols
.UnsafeAccessorAttributeType is not null
2572
||
_knownSymbols
.SupportsGenericUnsafeAccessors),
2573
OpenDeclaringTypeFQN = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2575
OpenPropertyTypeFQN = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2577
DeclaringTypeParameterNames = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } namedType &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2579
DeclaringTypeParameterConstraintClauses = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } namedType2 &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2628
if (converterType is null &&
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeType))
2632
else if (memberNamingPolicy is null &&
_knownSymbols
.JsonNamingPolicyAttributeType?.IsAssignableFrom(attributeType) == true)
2822
constructorSetsRequiredMembers = constructor?.ContainsAttribute(
_knownSymbols
.SetsRequiredMembersAttributeType) == true;
2967
Debug.Assert(
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeData.AttributeClass));
2969
if (!SymbolEqualityComparer.Default.Equals(attributeData.AttributeClass,
_knownSymbols
.JsonConverterAttributeType))
3006
!
_knownSymbols
.JsonConverterType.IsAssignableFrom(namedConverterType) ||
3013
if (
_knownSymbols
.JsonStringEnumConverterType.IsAssignableFrom(namedConverterType))
3033
!
_knownSymbols
.JsonTypeClassifierFactoryType.IsAssignableFrom(namedClassifierType) ||
3227
cmp.Equals(type,
_knownSymbols
.DateTimeOffsetType) || cmp.Equals(type,
_knownSymbols
.GuidType))
3232
if (cmp.Equals(type,
_knownSymbols
.ByteArrayType))
3295
if (constructor.ContainsAttribute(
_knownSymbols
.JsonConstructorAttributeType))
3314
if (constructor.ContainsAttribute(
_knownSymbols
.JsonConstructorAttributeType))
3338
=>
_knownSymbols
.Compilation.IsSymbolAccessibleWithin(symbol, within);
3343
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.SerializationInfoType, type) ||
3344
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.IntPtrType, type) ||
3345
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.UIntPtrType, type) ||
3346
_knownSymbols
.MemberInfoType.IsAssignableFrom(type) ||
3347
_knownSymbols
.DelegateType.IsAssignableFrom(type) ||