1 write to _knownSymbols
System.Text.Json.SourceGeneration (1)
JsonSourceGenerator.Parser.cs (1)
80
_knownSymbols
= knownSymbols;
127 references to _knownSymbols
System.Text.Json.SourceGeneration (127)
JsonSourceGenerator.Parser.cs (127)
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))
652
if (location is null || !
_knownSymbols
.Compilation.ContainsLocation(location))
660
Type =
_knownSymbols
.Compilation.EraseCompileTimeMetadata(typeSymbol),
744
Debug.Assert(
_knownSymbols
.JsonStringEnumConverterOfTType != null);
745
INamedTypeSymbol converterSymbol =
_knownSymbols
.JsonStringEnumConverterOfTType.Construct(type);
780
constructorSetsRequiredMembers = defaultCtor?.ContainsAttribute(
_knownSymbols
.SetsRequiredMembersAttributeType) == true;
805
bool useDefaultCtorInAnnotatedStructs = type.GetCompatibleGenericBaseType(
_knownSymbols
.KeyValuePair) is null;
816
implementsIJsonOnSerializing =
_knownSymbols
.IJsonOnSerializingType.IsAssignableFrom(type);
817
implementsIJsonOnSerialized =
_knownSymbols
.IJsonOnSerializedType.IsAssignableFrom(type);
926
&&
_knownSymbols
.UnsafeAccessorAttributeType is not null
928
||
_knownSymbols
.SupportsGenericUnsafeAccessors),
981
if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonNumberHandlingAttributeType))
986
else if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonUnmappedMemberHandlingAttributeType))
991
else if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonObjectCreationHandlingAttributeType))
996
else if (
_knownSymbols
.JsonNamingPolicyAttributeType?.IsAssignableFrom(attributeType) == true)
1012
else if (!foundJsonConverterAttribute &&
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeType))
1018
if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonIgnoreAttributeType))
1039
if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonDerivedTypeAttributeType))
1080
else if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonPolymorphicAttributeType))
1108
SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonUnionAttributeType))
1288
if (!
_knownSymbols
.Compilation.TryValidateGenericConstraints(requiredParams, successfulSubstitution, out ITypeParameterSymbol? failedParam, out ITypeSymbol? failedArg))
1408
SymbolEqualityComparer.Default.Equals(valueProperty.Type,
_knownSymbols
.ObjectType))
1551
ITypeSymbol root =
_knownSymbols
.Compilation.GetSpecialType(SpecialType.System_Void);
1684
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.HalfType) ||
1685
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.Int128Type) ||
1686
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.UInt128Type))
1697
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.DateTimeOffsetType) ||
1698
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.DateOnlyType) ||
1699
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.TimeOnlyType) ||
1700
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.TimeSpanType) ||
1701
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.GuidType) ||
1702
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.UriType) ||
1703
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.VersionType) ||
1720
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonElementType) ||
1721
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonDocumentType) ||
1722
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonNodeType) ||
1723
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonObjectType) ||
1724
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonValueType))
1729
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonArrayType))
1736
if (type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType) is not null ||
1737
type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType) is not null ||
1738
_knownSymbols
.IDictionaryType.IsAssignableFrom(type))
1771
SymbolEqualityComparer.Default.Equals(named.OriginalDefinition,
_knownSymbols
.MemoryType);
1777
SymbolEqualityComparer.Default.Equals(named.OriginalDefinition,
_knownSymbols
.ReadOnlyMemoryType);
1781
INamedTypeSymbol? converterAttr =
_knownSymbols
.JsonConverterAttributeType;
1800
INamedTypeSymbol? numberHandlingAttr =
_knownSymbols
.JsonNumberHandlingAttributeType;
1835
if (SymbolEqualityComparer.Default.Equals(type.OriginalDefinition,
_knownSymbols
.MemoryType))
1837
Debug.Assert(!SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.MemoryByteType));
1843
if (SymbolEqualityComparer.Default.Equals(type.OriginalDefinition,
_knownSymbols
.ReadOnlyMemoryType))
1845
Debug.Assert(!SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.ReadOnlyMemoryByteType));
1852
if (type.GetCompatibleGenericBaseType(
_knownSymbols
.IAsyncEnumerableOfTType) is INamedTypeSymbol iAsyncEnumerableType)
1859
if (!
_knownSymbols
.IEnumerableType.IsAssignableFrom(type))
1871
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.KeyedCollectionType)) != null)
1876
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ListOfTType)) != null)
1881
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.DictionaryOfTKeyTValueType)) != null)
1887
else if (
_knownSymbols
.IsImmutableDictionaryType(type, out immutableCollectionFactoryTypeFullName))
1894
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType)) != null)
1901
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType)) != null)
1908
else if (
_knownSymbols
.IsImmutableEnumerableType(type, out immutableCollectionFactoryTypeFullName))
1913
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IListOfTType)) != null)
1918
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ISetOfTType)) != null)
1923
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadOnlySetOfTType)) != null)
1928
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ICollectionOfTType)) != null)
1933
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.StackOfTType)) != null)
1938
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.QueueOfTType)) != null)
1943
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ConcurrentStackType)) != null)
1948
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ConcurrentQueueType)) != null)
1953
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IEnumerableOfTType)) != null)
1958
else if (
_knownSymbols
.IDictionaryType.IsAssignableFrom(type))
1961
keyType =
_knownSymbols
.StringType;
1962
valueType =
_knownSymbols
.ObjectType;
1965
else if (
_knownSymbols
.IListType.IsAssignableFrom(type))
1968
valueType =
_knownSymbols
.ObjectType;
1970
else if (
_knownSymbols
.StackType.IsAssignableFrom(type))
1973
valueType =
_knownSymbols
.ObjectType;
1975
else if (
_knownSymbols
.QueueType.IsAssignableFrom(type))
1978
valueType =
_knownSymbols
.ObjectType;
1983
valueType =
_knownSymbols
.ObjectType;
1991
INamedTypeSymbol? dictionary =
_knownSymbols
.DictionaryOfTKeyTValueType?.Construct(keyType, valueType);
2182
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonObjectType))
2187
INamedTypeSymbol? actualDictionaryType = type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType);
2190
if (SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[0],
_knownSymbols
.StringType) &&
2191
(SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType) ||
2192
SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[1],
_knownSymbols
.JsonElementType)))
2200
INamedTypeSymbol? actualReadOnlyDictionaryType = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType);
2203
if (SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[0],
_knownSymbols
.StringType) &&
2204
(SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType) ||
2205
SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.JsonElementType)))
2208
INamedTypeSymbol? dictionaryType = SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType)
2209
?
_knownSymbols
.StringObjectDictionaryType
2210
:
_knownSymbols
.StringJsonElementDictionaryType;
2214
Conversion conversion =
_knownSymbols
.Compilation.ClassifyConversion(dictionaryType, type);
2375
CanUseUnsafeAccessors =
_knownSymbols
.UnsafeAccessorAttributeType is not null
2377
||
_knownSymbols
.SupportsGenericUnsafeAccessors),
2378
OpenDeclaringTypeFQN = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2380
OpenPropertyTypeFQN = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2382
DeclaringTypeParameterNames = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } namedType &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2384
DeclaringTypeParameterConstraintClauses = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } namedType2 &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2433
if (converterType is null &&
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeType))
2437
else if (memberNamingPolicy is null &&
_knownSymbols
.JsonNamingPolicyAttributeType?.IsAssignableFrom(attributeType) == true)
2627
constructorSetsRequiredMembers = constructor?.ContainsAttribute(
_knownSymbols
.SetsRequiredMembersAttributeType) == true;
2772
Debug.Assert(
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeData.AttributeClass));
2774
if (!SymbolEqualityComparer.Default.Equals(attributeData.AttributeClass,
_knownSymbols
.JsonConverterAttributeType))
2811
!
_knownSymbols
.JsonConverterType.IsAssignableFrom(namedConverterType) ||
2818
if (
_knownSymbols
.JsonStringEnumConverterType.IsAssignableFrom(namedConverterType))
2838
!
_knownSymbols
.JsonTypeClassifierFactoryType.IsAssignableFrom(namedClassifierType) ||
3032
cmp.Equals(type,
_knownSymbols
.DateTimeOffsetType) || cmp.Equals(type,
_knownSymbols
.GuidType))
3037
if (cmp.Equals(type,
_knownSymbols
.ByteArrayType))
3100
if (constructor.ContainsAttribute(
_knownSymbols
.JsonConstructorAttributeType))
3119
if (constructor.ContainsAttribute(
_knownSymbols
.JsonConstructorAttributeType))
3143
=>
_knownSymbols
.Compilation.IsSymbolAccessibleWithin(symbol, within);
3148
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.SerializationInfoType, type) ||
3149
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.IntPtrType, type) ||
3150
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.UIntPtrType, type) ||
3151
_knownSymbols
.MemberInfoType.IsAssignableFrom(type) ||
3152
_knownSymbols
.DelegateType.IsAssignableFrom(type) ||