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);
255
Debug.Assert(
_knownSymbols
.JsonSerializableAttributeType != null);
256
Debug.Assert(
_knownSymbols
.JsonSourceGenerationOptionsAttributeType != null);
265
if (SymbolEqualityComparer.Default.Equals(attributeClass,
_knownSymbols
.JsonSerializableAttributeType))
275
else if (SymbolEqualityComparer.Default.Equals(attributeClass,
_knownSymbols
.JsonSourceGenerationOptionsAttributeType))
296
Debug.Assert(
_knownSymbols
.JsonSerializableAttributeType != null);
303
if (!SymbolEqualityComparer.Default.Equals(attributeData.AttributeClass,
_knownSymbols
.JsonSerializableAttributeType))
574
if (location is null || !
_knownSymbols
.Compilation.ContainsLocation(location))
582
Type =
_knownSymbols
.Compilation.EraseCompileTimeMetadata(typeSymbol),
656
Debug.Assert(
_knownSymbols
.JsonStringEnumConverterOfTType != null);
657
INamedTypeSymbol converterSymbol =
_knownSymbols
.JsonStringEnumConverterOfTType.Construct(type);
692
constructorSetsRequiredMembers = defaultCtor?.ContainsAttribute(
_knownSymbols
.SetsRequiredMembersAttributeType) == true;
711
bool useDefaultCtorInAnnotatedStructs = type.GetCompatibleGenericBaseType(
_knownSymbols
.KeyValuePair) is null;
722
implementsIJsonOnSerializing =
_knownSymbols
.IJsonOnSerializingType.IsAssignableFrom(type);
723
implementsIJsonOnSerialized =
_knownSymbols
.IJsonOnSerializedType.IsAssignableFrom(type);
829
&&
_knownSymbols
.UnsafeAccessorAttributeType is not null
831
||
_knownSymbols
.SupportsGenericUnsafeAccessors),
880
if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonNumberHandlingAttributeType))
885
else if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonUnmappedMemberHandlingAttributeType))
890
else if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonObjectCreationHandlingAttributeType))
895
else if (
_knownSymbols
.JsonNamingPolicyAttributeType?.IsAssignableFrom(attributeType) == true)
911
else if (!foundJsonConverterAttribute &&
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeType))
917
if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonIgnoreAttributeType))
938
if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonDerivedTypeAttributeType))
976
else if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonPolymorphicAttributeType))
1004
SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonUnionAttributeType))
1184
if (!
_knownSymbols
.Compilation.TryValidateGenericConstraints(requiredParams, successfulSubstitution, out ITypeParameterSymbol? failedParam, out ITypeSymbol? failedArg))
1304
SymbolEqualityComparer.Default.Equals(valueProperty.Type,
_knownSymbols
.ObjectType))
1444
ITypeSymbol root =
_knownSymbols
.Compilation.GetSpecialType(SpecialType.System_Void);
1577
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.HalfType) ||
1578
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.Int128Type) ||
1579
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.UInt128Type))
1590
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.DateTimeOffsetType) ||
1591
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.DateOnlyType) ||
1592
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.TimeOnlyType) ||
1593
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.TimeSpanType) ||
1594
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.GuidType) ||
1595
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.UriType) ||
1596
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.VersionType) ||
1613
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonElementType) ||
1614
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonDocumentType) ||
1615
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonNodeType) ||
1616
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonObjectType) ||
1617
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonValueType))
1622
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonArrayType))
1629
if (type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType) is not null ||
1630
type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType) is not null ||
1631
_knownSymbols
.IDictionaryType.IsAssignableFrom(type))
1664
SymbolEqualityComparer.Default.Equals(named.OriginalDefinition,
_knownSymbols
.MemoryType);
1670
SymbolEqualityComparer.Default.Equals(named.OriginalDefinition,
_knownSymbols
.ReadOnlyMemoryType);
1674
INamedTypeSymbol? converterAttr =
_knownSymbols
.JsonConverterAttributeType;
1693
INamedTypeSymbol? numberHandlingAttr =
_knownSymbols
.JsonNumberHandlingAttributeType;
1728
if (SymbolEqualityComparer.Default.Equals(type.OriginalDefinition,
_knownSymbols
.MemoryType))
1730
Debug.Assert(!SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.MemoryByteType));
1736
if (SymbolEqualityComparer.Default.Equals(type.OriginalDefinition,
_knownSymbols
.ReadOnlyMemoryType))
1738
Debug.Assert(!SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.ReadOnlyMemoryByteType));
1745
if (type.GetCompatibleGenericBaseType(
_knownSymbols
.IAsyncEnumerableOfTType) is INamedTypeSymbol iAsyncEnumerableType)
1752
if (!
_knownSymbols
.IEnumerableType.IsAssignableFrom(type))
1764
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.KeyedCollectionType)) != null)
1769
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ListOfTType)) != null)
1774
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.DictionaryOfTKeyTValueType)) != null)
1780
else if (
_knownSymbols
.IsImmutableDictionaryType(type, out immutableCollectionFactoryTypeFullName))
1787
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType)) != null)
1794
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType)) != null)
1801
else if (
_knownSymbols
.IsImmutableEnumerableType(type, out immutableCollectionFactoryTypeFullName))
1806
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IListOfTType)) != null)
1811
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ISetOfTType)) != null)
1816
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadOnlySetOfTType)) != null)
1821
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ICollectionOfTType)) != null)
1826
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.StackOfTType)) != null)
1831
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.QueueOfTType)) != null)
1836
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ConcurrentStackType)) != null)
1841
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ConcurrentQueueType)) != null)
1846
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IEnumerableOfTType)) != null)
1851
else if (
_knownSymbols
.IDictionaryType.IsAssignableFrom(type))
1854
keyType =
_knownSymbols
.StringType;
1855
valueType =
_knownSymbols
.ObjectType;
1858
else if (
_knownSymbols
.IListType.IsAssignableFrom(type))
1861
valueType =
_knownSymbols
.ObjectType;
1863
else if (
_knownSymbols
.StackType.IsAssignableFrom(type))
1866
valueType =
_knownSymbols
.ObjectType;
1868
else if (
_knownSymbols
.QueueType.IsAssignableFrom(type))
1871
valueType =
_knownSymbols
.ObjectType;
1876
valueType =
_knownSymbols
.ObjectType;
1884
INamedTypeSymbol? dictionary =
_knownSymbols
.DictionaryOfTKeyTValueType?.Construct(keyType, valueType);
2076
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonObjectType))
2081
INamedTypeSymbol? actualDictionaryType = type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType);
2084
if (SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[0],
_knownSymbols
.StringType) &&
2085
(SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType) ||
2086
SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[1],
_knownSymbols
.JsonElementType)))
2094
INamedTypeSymbol? actualReadOnlyDictionaryType = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType);
2097
if (SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[0],
_knownSymbols
.StringType) &&
2098
(SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType) ||
2099
SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.JsonElementType)))
2102
INamedTypeSymbol? dictionaryType = SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType)
2103
?
_knownSymbols
.StringObjectDictionaryType
2104
:
_knownSymbols
.StringJsonElementDictionaryType;
2108
Conversion conversion =
_knownSymbols
.Compilation.ClassifyConversion(dictionaryType, type);
2251
CanUseUnsafeAccessors =
_knownSymbols
.UnsafeAccessorAttributeType is not null
2253
||
_knownSymbols
.SupportsGenericUnsafeAccessors),
2254
OpenDeclaringTypeFQN = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2256
OpenPropertyTypeFQN = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2258
DeclaringTypeParameterNames = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } namedType &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2260
DeclaringTypeParameterConstraintClauses = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } namedType2 &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2308
if (converterType is null &&
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeType))
2312
else if (memberNamingPolicy is null &&
_knownSymbols
.JsonNamingPolicyAttributeType?.IsAssignableFrom(attributeType) == true)
2511
constructorSetsRequiredMembers = constructor?.ContainsAttribute(
_knownSymbols
.SetsRequiredMembersAttributeType) == true;
2647
Debug.Assert(
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeData.AttributeClass));
2649
if (!SymbolEqualityComparer.Default.Equals(attributeData.AttributeClass,
_knownSymbols
.JsonConverterAttributeType))
2684
!
_knownSymbols
.JsonConverterType.IsAssignableFrom(namedConverterType) ||
2691
if (
_knownSymbols
.JsonStringEnumConverterType.IsAssignableFrom(namedConverterType))
2705
!
_knownSymbols
.JsonTypeClassifierFactoryType.IsAssignableFrom(namedClassifierType) ||
2895
cmp.Equals(type,
_knownSymbols
.DateTimeOffsetType) || cmp.Equals(type,
_knownSymbols
.GuidType))
2900
if (cmp.Equals(type,
_knownSymbols
.ByteArrayType))
2963
if (constructor.ContainsAttribute(
_knownSymbols
.JsonConstructorAttributeType))
2982
if (constructor.ContainsAttribute(
_knownSymbols
.JsonConstructorAttributeType))
3006
=>
_knownSymbols
.Compilation.IsSymbolAccessibleWithin(symbol, within);
3011
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.SerializationInfoType, type) ||
3012
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.IntPtrType, type) ||
3013
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.UIntPtrType, type) ||
3014
_knownSymbols
.MemberInfoType.IsAssignableFrom(type) ||
3015
_knownSymbols
.DelegateType.IsAssignableFrom(type) ||