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);
1869
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.HalfType) ||
1870
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.Int128Type) ||
1871
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.UInt128Type) ||
1872
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.BFloat16Type) ||
1873
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.Decimal32Type) ||
1874
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.Decimal64Type) ||
1875
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.Decimal128Type))
1886
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.DateTimeOffsetType) ||
1887
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.DateOnlyType) ||
1888
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.TimeOnlyType) ||
1889
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.TimeSpanType) ||
1890
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.GuidType) ||
1891
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.UriType) ||
1892
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.VersionType) ||
1909
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonElementType) ||
1910
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonDocumentType) ||
1911
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonNodeType) ||
1912
SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonValueType) ||
1918
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonObjectType))
1923
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonArrayType))
1930
if (type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType) is not null ||
1931
type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType) is not null ||
1932
_knownSymbols
.IDictionaryType.IsAssignableFrom(type))
1965
SymbolEqualityComparer.Default.Equals(named.OriginalDefinition,
_knownSymbols
.MemoryType);
1971
SymbolEqualityComparer.Default.Equals(named.OriginalDefinition,
_knownSymbols
.ReadOnlyMemoryType);
1975
INamedTypeSymbol? converterAttr =
_knownSymbols
.JsonConverterAttributeType;
1994
INamedTypeSymbol? numberHandlingAttr =
_knownSymbols
.JsonNumberHandlingAttributeType;
2029
if (SymbolEqualityComparer.Default.Equals(type.OriginalDefinition,
_knownSymbols
.MemoryType))
2031
Debug.Assert(!SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.MemoryByteType));
2037
if (SymbolEqualityComparer.Default.Equals(type.OriginalDefinition,
_knownSymbols
.ReadOnlyMemoryType))
2039
Debug.Assert(!SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.ReadOnlyMemoryByteType));
2046
if (type.GetCompatibleGenericBaseType(
_knownSymbols
.IAsyncEnumerableOfTType) is INamedTypeSymbol iAsyncEnumerableType)
2053
if (!
_knownSymbols
.IEnumerableType.IsAssignableFrom(type))
2065
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.KeyedCollectionType)) != null)
2070
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ListOfTType)) != null)
2075
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.DictionaryOfTKeyTValueType)) != null)
2081
else if (
_knownSymbols
.IsImmutableDictionaryType(type, out immutableCollectionFactoryTypeFullName))
2088
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType)) != null)
2095
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType)) != null)
2102
else if (
_knownSymbols
.IsImmutableEnumerableType(type, out immutableCollectionFactoryTypeFullName))
2107
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IListOfTType)) != null)
2112
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ISetOfTType)) != null)
2117
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadOnlySetOfTType)) != null)
2122
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ICollectionOfTType)) != null)
2127
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.StackOfTType)) != null)
2132
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.QueueOfTType)) != null)
2137
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ConcurrentStackType)) != null)
2142
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ConcurrentQueueType)) != null)
2147
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IEnumerableOfTType)) != null)
2152
else if (
_knownSymbols
.IDictionaryType.IsAssignableFrom(type))
2155
keyType =
_knownSymbols
.StringType;
2156
valueType =
_knownSymbols
.ObjectType;
2159
else if (
_knownSymbols
.IListType.IsAssignableFrom(type))
2162
valueType =
_knownSymbols
.ObjectType;
2164
else if (
_knownSymbols
.StackType.IsAssignableFrom(type))
2167
valueType =
_knownSymbols
.ObjectType;
2169
else if (
_knownSymbols
.QueueType.IsAssignableFrom(type))
2172
valueType =
_knownSymbols
.ObjectType;
2177
valueType =
_knownSymbols
.ObjectType;
2185
INamedTypeSymbol? dictionary =
_knownSymbols
.DictionaryOfTKeyTValueType?.Construct(keyType, valueType);
2376
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonObjectType))
2381
INamedTypeSymbol? actualDictionaryType = type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType);
2384
if (SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[0],
_knownSymbols
.StringType) &&
2385
(SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType) ||
2386
SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[1],
_knownSymbols
.JsonElementType)))
2394
INamedTypeSymbol? actualReadOnlyDictionaryType = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType);
2397
if (SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[0],
_knownSymbols
.StringType) &&
2398
(SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType) ||
2399
SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.JsonElementType)))
2402
INamedTypeSymbol? dictionaryType = SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType)
2403
?
_knownSymbols
.StringObjectDictionaryType
2404
:
_knownSymbols
.StringJsonElementDictionaryType;
2408
Conversion conversion =
_knownSymbols
.Compilation.ClassifyConversion(dictionaryType, type);
2569
CanUseUnsafeAccessors =
_knownSymbols
.UnsafeAccessorAttributeType is not null
2571
||
_knownSymbols
.SupportsGenericUnsafeAccessors),
2572
OpenDeclaringTypeFQN = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2574
OpenPropertyTypeFQN = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2576
DeclaringTypeParameterNames = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } namedType &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2578
DeclaringTypeParameterConstraintClauses = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } namedType2 &&
_knownSymbols
.SupportsGenericUnsafeAccessors
2627
if (converterType is null &&
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeType))
2631
else if (memberNamingPolicy is null &&
_knownSymbols
.JsonNamingPolicyAttributeType?.IsAssignableFrom(attributeType) == true)
2821
constructorSetsRequiredMembers = constructor?.ContainsAttribute(
_knownSymbols
.SetsRequiredMembersAttributeType) == true;
2966
Debug.Assert(
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeData.AttributeClass));
2968
if (!SymbolEqualityComparer.Default.Equals(attributeData.AttributeClass,
_knownSymbols
.JsonConverterAttributeType))
3005
!
_knownSymbols
.JsonConverterType.IsAssignableFrom(namedConverterType) ||
3012
if (
_knownSymbols
.JsonStringEnumConverterType.IsAssignableFrom(namedConverterType))
3032
!
_knownSymbols
.JsonTypeClassifierFactoryType.IsAssignableFrom(namedClassifierType) ||
3226
cmp.Equals(type,
_knownSymbols
.DateTimeOffsetType) || cmp.Equals(type,
_knownSymbols
.GuidType))
3231
if (cmp.Equals(type,
_knownSymbols
.ByteArrayType))
3294
if (constructor.ContainsAttribute(
_knownSymbols
.JsonConstructorAttributeType))
3313
if (constructor.ContainsAttribute(
_knownSymbols
.JsonConstructorAttributeType))
3337
=>
_knownSymbols
.Compilation.IsSymbolAccessibleWithin(symbol, within);
3342
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.SerializationInfoType, type) ||
3343
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.IntPtrType, type) ||
3344
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.UIntPtrType, type) ||
3345
_knownSymbols
.MemberInfoType.IsAssignableFrom(type) ||
3346
_knownSymbols
.DelegateType.IsAssignableFrom(type) ||