1 write to _knownSymbols
System.Text.Json.SourceGeneration (1)
JsonSourceGenerator.Parser.cs (1)
77
_knownSymbols
= knownSymbols;
98 references to _knownSymbols
System.Text.Json.SourceGeneration (98)
JsonSourceGenerator.Parser.cs (98)
66
if (location is null || !
_knownSymbols
.Compilation.ContainsLocation(location))
94
Debug.Assert(
_knownSymbols
.JsonSerializerContextType != null);
107
if (!
_knownSymbols
.JsonSerializerContextType.IsAssignableFrom(contextTypeSymbol))
136
LanguageVersion? langVersion =
_knownSymbols
.Compilation.GetLanguageVersion();
228
type =
_knownSymbols
.Compilation.EraseCompileTimeMetadata(type);
252
Debug.Assert(
_knownSymbols
.JsonSerializableAttributeType != null);
253
Debug.Assert(
_knownSymbols
.JsonSourceGenerationOptionsAttributeType != null);
262
if (SymbolEqualityComparer.Default.Equals(attributeClass,
_knownSymbols
.JsonSerializableAttributeType))
272
else if (SymbolEqualityComparer.Default.Equals(attributeClass,
_knownSymbols
.JsonSourceGenerationOptionsAttributeType))
293
Debug.Assert(
_knownSymbols
.JsonSerializableAttributeType != null);
300
if (!SymbolEqualityComparer.Default.Equals(attributeData.AttributeClass,
_knownSymbols
.JsonSerializableAttributeType))
555
if (location is null || !
_knownSymbols
.Compilation.ContainsLocation(location))
563
Type =
_knownSymbols
.Compilation.EraseCompileTimeMetadata(typeSymbol),
633
Debug.Assert(
_knownSymbols
.JsonStringEnumConverterOfTType != null);
634
INamedTypeSymbol converterSymbol =
_knownSymbols
.JsonStringEnumConverterOfTType.Construct(type);
669
constructorSetsRequiredMembers = defaultCtor?.ContainsAttribute(
_knownSymbols
.SetsRequiredMembersAttributeType) == true;
688
bool useDefaultCtorInAnnotatedStructs = type.GetCompatibleGenericBaseType(
_knownSymbols
.KeyValuePair) is null;
699
implementsIJsonOnSerializing =
_knownSymbols
.IJsonOnSerializingType.IsAssignableFrom(type);
700
implementsIJsonOnSerialized =
_knownSymbols
.IJsonOnSerializedType.IsAssignableFrom(type);
749
&&
_knownSymbols
.UnsafeAccessorAttributeType is not null
751
||
_knownSymbols
.SupportsGenericUnsafeAccessors),
788
if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonNumberHandlingAttributeType))
793
else if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonUnmappedMemberHandlingAttributeType))
798
else if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonObjectCreationHandlingAttributeType))
803
else if (
_knownSymbols
.JsonNamingPolicyAttributeType?.IsAssignableFrom(attributeType) == true)
819
else if (!foundJsonConverterAttribute &&
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeType))
825
if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonIgnoreAttributeType))
846
if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonDerivedTypeAttributeType))
877
if (SymbolEqualityComparer.Default.Equals(type.OriginalDefinition,
_knownSymbols
.MemoryType))
879
Debug.Assert(!SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.MemoryByteType));
885
if (SymbolEqualityComparer.Default.Equals(type.OriginalDefinition,
_knownSymbols
.ReadOnlyMemoryType))
887
Debug.Assert(!SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.ReadOnlyMemoryByteType));
894
if (type.GetCompatibleGenericBaseType(
_knownSymbols
.IAsyncEnumerableOfTType) is INamedTypeSymbol iAsyncEnumerableType)
901
if (!
_knownSymbols
.IEnumerableType.IsAssignableFrom(type))
913
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.KeyedCollectionType)) != null)
918
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ListOfTType)) != null)
923
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.DictionaryOfTKeyTValueType)) != null)
929
else if (
_knownSymbols
.IsImmutableDictionaryType(type, out immutableCollectionFactoryTypeFullName))
936
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType)) != null)
943
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType)) != null)
950
else if (
_knownSymbols
.IsImmutableEnumerableType(type, out immutableCollectionFactoryTypeFullName))
955
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IListOfTType)) != null)
960
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ISetOfTType)) != null)
965
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadOnlySetOfTType)) != null)
970
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ICollectionOfTType)) != null)
975
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.StackOfTType)) != null)
980
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.QueueOfTType)) != null)
985
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ConcurrentStackType)) != null)
990
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ConcurrentQueueType)) != null)
995
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IEnumerableOfTType)) != null)
1000
else if (
_knownSymbols
.IDictionaryType.IsAssignableFrom(type))
1003
keyType =
_knownSymbols
.StringType;
1004
valueType =
_knownSymbols
.ObjectType;
1007
else if (
_knownSymbols
.IListType.IsAssignableFrom(type))
1010
valueType =
_knownSymbols
.ObjectType;
1012
else if (
_knownSymbols
.StackType.IsAssignableFrom(type))
1015
valueType =
_knownSymbols
.ObjectType;
1017
else if (
_knownSymbols
.QueueType.IsAssignableFrom(type))
1020
valueType =
_knownSymbols
.ObjectType;
1025
valueType =
_knownSymbols
.ObjectType;
1033
INamedTypeSymbol? dictionary =
_knownSymbols
.DictionaryOfTKeyTValueType?.Construct(keyType, valueType);
1225
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonObjectType))
1230
INamedTypeSymbol? actualDictionaryType = type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType);
1233
if (SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[0],
_knownSymbols
.StringType) &&
1234
(SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType) ||
1235
SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[1],
_knownSymbols
.JsonElementType)))
1243
INamedTypeSymbol? actualReadOnlyDictionaryType = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType);
1246
if (SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[0],
_knownSymbols
.StringType) &&
1247
(SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType) ||
1248
SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.JsonElementType)))
1251
INamedTypeSymbol? dictionaryType = SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType)
1252
?
_knownSymbols
.StringObjectDictionaryType
1253
:
_knownSymbols
.StringJsonElementDictionaryType;
1257
Conversion conversion =
_knownSymbols
.Compilation.ClassifyConversion(dictionaryType, type);
1400
CanUseUnsafeAccessors =
_knownSymbols
.UnsafeAccessorAttributeType is not null
1402
||
_knownSymbols
.SupportsGenericUnsafeAccessors),
1403
OpenDeclaringTypeFQN = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } &&
_knownSymbols
.SupportsGenericUnsafeAccessors
1405
OpenPropertyTypeFQN = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } &&
_knownSymbols
.SupportsGenericUnsafeAccessors
1407
DeclaringTypeParameterNames = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } namedType &&
_knownSymbols
.SupportsGenericUnsafeAccessors
1409
DeclaringTypeParameterConstraintClauses = memberInfo.ContainingType is INamedTypeSymbol { IsGenericType: true } namedType2 &&
_knownSymbols
.SupportsGenericUnsafeAccessors
1457
if (converterType is null &&
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeType))
1461
else if (memberNamingPolicy is null &&
_knownSymbols
.JsonNamingPolicyAttributeType?.IsAssignableFrom(attributeType) == true)
1660
constructorSetsRequiredMembers = constructor?.ContainsAttribute(
_knownSymbols
.SetsRequiredMembersAttributeType) == true;
1796
Debug.Assert(
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeData.AttributeClass));
1798
if (!SymbolEqualityComparer.Default.Equals(attributeData.AttributeClass,
_knownSymbols
.JsonConverterAttributeType))
1833
!
_knownSymbols
.JsonConverterType.IsAssignableFrom(namedConverterType) ||
1840
if (
_knownSymbols
.JsonStringEnumConverterType.IsAssignableFrom(namedConverterType))
2027
cmp.Equals(type,
_knownSymbols
.DateTimeOffsetType) || cmp.Equals(type,
_knownSymbols
.GuidType))
2032
if (cmp.Equals(type,
_knownSymbols
.ByteArrayType))
2095
if (constructor.ContainsAttribute(
_knownSymbols
.JsonConstructorAttributeType))
2114
if (constructor.ContainsAttribute(
_knownSymbols
.JsonConstructorAttributeType))
2138
=>
_knownSymbols
.Compilation.IsSymbolAccessibleWithin(symbol, within);
2143
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.SerializationInfoType, type) ||
2144
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.IntPtrType, type) ||
2145
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.UIntPtrType, type) ||
2146
_knownSymbols
.MemberInfoType.IsAssignableFrom(type) ||
2147
_knownSymbols
.DelegateType.IsAssignableFrom(type) ||