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),
1004
if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonNumberHandlingAttributeType))
1009
else if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonUnmappedMemberHandlingAttributeType))
1014
else if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonObjectCreationHandlingAttributeType))
1019
else if (
_knownSymbols
.JsonNamingPolicyAttributeType?.IsAssignableFrom(attributeType) == true)
1035
else if (!foundJsonConverterAttribute &&
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeType))
1041
if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonIgnoreAttributeType))
1062
if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonDerivedTypeAttributeType))
1086
else if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonPolymorphicAttributeType))
1118
SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonUnionAttributeType))
1262
derivedType = resolvedDerivedType ??
_knownSymbols
.ObjectType;
1273
derivedType =
_knownSymbols
.ObjectType;
1482
if (!
_knownSymbols
.Compilation.TryValidateGenericConstraints(requiredParams, successfulSubstitution, out ITypeParameterSymbol? failedParam, out ITypeSymbol? failedArg))
1602
SymbolEqualityComparer.Default.Equals(valueProperty.Type,
_knownSymbols
.ObjectType))
1745
ITypeSymbol root =
_knownSymbols
.Compilation.GetSpecialType(SpecialType.System_Void);
1872
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.HalfType) ||
1873
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.Int128Type) ||
1874
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.UInt128Type) ||
1875
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.BFloat16Type) ||
1876
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.Decimal32Type) ||
1877
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.Decimal64Type) ||
1878
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.Decimal128Type))
1889
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.DateTimeOffsetType) ||
1890
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.DateOnlyType) ||
1891
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.TimeOnlyType) ||
1892
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.TimeSpanType) ||
1893
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.GuidType) ||
1894
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.UriType) ||
1895
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.VersionType) ||
1912
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonElementType) ||
1913
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonDocumentType) ||
1914
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonNodeType) ||
1915
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonValueType) ||
1921
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonObjectType))
1926
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonArrayType))
1933
if (type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType) is not null ||
1934
type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType) is not null ||
1935
_knownSymbols
.IDictionaryType.IsAssignableFrom(type))
1968
SymbolEqualityComparer.Default.Equals(named.OriginalDefinition,
_knownSymbols
.MemoryType);
1974
SymbolEqualityComparer.Default.Equals(named.OriginalDefinition,
_knownSymbols
.ReadOnlyMemoryType);
1978
INamedTypeSymbol? converterAttr =
_knownSymbols
.JsonConverterAttributeType;
1997
INamedTypeSymbol? numberHandlingAttr =
_knownSymbols
.JsonNumberHandlingAttributeType;
2032
if (SymbolEqualityComparer.Default.Equals(type.OriginalDefinition,
_knownSymbols
.MemoryType))
2034
Debug.Assert(!SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.MemoryByteType));
2040
if (SymbolEqualityComparer.Default.Equals(type.OriginalDefinition,
_knownSymbols
.ReadOnlyMemoryType))
2042
Debug.Assert(!SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.ReadOnlyMemoryByteType));
2049
if (type.GetCompatibleGenericBaseType(
_knownSymbols
.IAsyncEnumerableOfTType) is INamedTypeSymbol iAsyncEnumerableType)
2056
if (!
_knownSymbols
.IEnumerableType.IsAssignableFrom(type))
2068
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.KeyedCollectionType)) != null)
2073
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ListOfTType)) != null)
2078
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.DictionaryOfTKeyTValueType)) != null)
2084
else if (
_knownSymbols
.IsImmutableDictionaryType(type, out immutableCollectionFactoryTypeFullName))
2091
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType)) != null)
2098
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType)) != null)
2105
else if (
_knownSymbols
.IsImmutableEnumerableType(type, out immutableCollectionFactoryTypeFullName))
2110
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IListOfTType)) != null)
2115
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ISetOfTType)) != null)
2120
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadOnlySetOfTType)) != null)
2125
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ICollectionOfTType)) != null)
2130
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.StackOfTType)) != null)
2135
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.QueueOfTType)) != null)
2140
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ConcurrentStackType)) != null)
2145
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ConcurrentQueueType)) != null)
2150
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IEnumerableOfTType)) != null)
2155
else if (
_knownSymbols
.IDictionaryType.IsAssignableFrom(type))
2158
keyType =
_knownSymbols
.StringType;
2159
valueType =
_knownSymbols
.ObjectType;
2162
else if (
_knownSymbols
.IListType.IsAssignableFrom(type))
2165
valueType =
_knownSymbols
.ObjectType;
2167
else if (
_knownSymbols
.StackType.IsAssignableFrom(type))
2170
valueType =
_knownSymbols
.ObjectType;
2172
else if (
_knownSymbols
.QueueType.IsAssignableFrom(type))
2175
valueType =
_knownSymbols
.ObjectType;
2180
valueType =
_knownSymbols
.ObjectType;
2188
INamedTypeSymbol? dictionary =
_knownSymbols
.DictionaryOfTKeyTValueType?.Construct(keyType, valueType);
2379
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonObjectType))
2384
INamedTypeSymbol? actualDictionaryType = type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType);
2387
if (SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[0],
_knownSymbols
.StringType) &&
2388
(SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType) ||
2389
SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[1],
_knownSymbols
.JsonElementType)))
2397
INamedTypeSymbol? actualReadOnlyDictionaryType = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType);
2400
if (SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[0],
_knownSymbols
.StringType) &&
2401
(SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType) ||
2402
SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.JsonElementType)))
2405
INamedTypeSymbol? dictionaryType = SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType)
2406
?
_knownSymbols
.StringObjectDictionaryType
2407
:
_knownSymbols
.StringJsonElementDictionaryType;
2411
Conversion conversion =
_knownSymbols
.Compilation.ClassifyConversion(dictionaryType, type);
2572
CanUseUnsafeAccessors =
_knownSymbols
.UnsafeAccessorAttributeType is not null
2574
||
_knownSymbols
.SupportsGenericUnsafeAccessors),
2575
OpenDeclaringTypeFQN = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2577
OpenPropertyTypeFQN = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2579
DeclaringTypeParameterNames = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } namedType &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2581
DeclaringTypeParameterConstraintClauses = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } namedType2 &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2630
if (converterType is null &&
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeType))
2634
else if (memberNamingPolicy is null &&
_knownSymbols
.JsonNamingPolicyAttributeType?.IsAssignableFrom(attributeType) == true)
2824
constructorSetsRequiredMembers = constructor?.ContainsAttribute(
_knownSymbols
.SetsRequiredMembersAttributeType) == true;
2969
Debug.Assert(
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeData.AttributeClass));
2971
if (!SymbolEqualityComparer.Default.Equals(attributeData.AttributeClass,
_knownSymbols
.JsonConverterAttributeType))
3008
!
_knownSymbols
.JsonConverterType.IsAssignableFrom(namedConverterType) ||
3015
if (
_knownSymbols
.JsonStringEnumConverterType.IsAssignableFrom(namedConverterType))
3035
!
_knownSymbols
.JsonTypeClassifierFactoryType.IsAssignableFrom(namedClassifierType) ||
3229
cmp.Equals(type,
_knownSymbols
.DateTimeOffsetType) || cmp.Equals(type,
_knownSymbols
.GuidType))
3234
if (cmp.Equals(type,
_knownSymbols
.ByteArrayType))
3297
if (constructor.ContainsAttribute(
_knownSymbols
.JsonConstructorAttributeType))
3316
if (constructor.ContainsAttribute(
_knownSymbols
.JsonConstructorAttributeType))
3340
=>
_knownSymbols
.Compilation.IsSymbolAccessibleWithin(symbol, within);
3345
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.SerializationInfoType, type) ||
3346
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.IntPtrType, type) ||
3347
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.UIntPtrType, type) ||
3348
_knownSymbols
.MemberInfoType.IsAssignableFrom(type) ||
3349
_knownSymbols
.DelegateType.IsAssignableFrom(type) ||