1 write to _knownSymbols
System.Text.Json.SourceGeneration (1)
JsonSourceGenerator.Parser.cs (1)
68
_knownSymbols
= knownSymbols;
87 references to _knownSymbols
System.Text.Json.SourceGeneration (87)
JsonSourceGenerator.Parser.cs (87)
57
if (location is null || !
_knownSymbols
.Compilation.ContainsLocation(location))
85
Debug.Assert(
_knownSymbols
.JsonSerializerContextType != null);
98
if (!
_knownSymbols
.JsonSerializerContextType.IsAssignableFrom(contextTypeSymbol))
127
LanguageVersion? langVersion =
_knownSymbols
.Compilation.GetLanguageVersion();
219
type =
_knownSymbols
.Compilation.EraseCompileTimeMetadata(type);
243
Debug.Assert(
_knownSymbols
.JsonSerializableAttributeType != null);
244
Debug.Assert(
_knownSymbols
.JsonSourceGenerationOptionsAttributeType != null);
253
if (SymbolEqualityComparer.Default.Equals(attributeClass,
_knownSymbols
.JsonSerializableAttributeType))
263
else if (SymbolEqualityComparer.Default.Equals(attributeClass,
_knownSymbols
.JsonSourceGenerationOptionsAttributeType))
284
Debug.Assert(
_knownSymbols
.JsonSerializableAttributeType != null);
291
if (!SymbolEqualityComparer.Default.Equals(attributeData.AttributeClass,
_knownSymbols
.JsonSerializableAttributeType))
546
if (location is null || !
_knownSymbols
.Compilation.ContainsLocation(location))
554
Type =
_knownSymbols
.Compilation.EraseCompileTimeMetadata(typeSymbol),
621
Debug.Assert(
_knownSymbols
.JsonStringEnumConverterOfTType != null);
622
INamedTypeSymbol converterSymbol =
_knownSymbols
.JsonStringEnumConverterOfTType.Construct(type);
657
constructorSetsRequiredMembers = defaultCtor?.ContainsAttribute(
_knownSymbols
.SetsRequiredMembersAttributeType) == true;
676
bool useDefaultCtorInAnnotatedStructs = type.GetCompatibleGenericBaseType(
_knownSymbols
.KeyValuePair) is null;
690
implementsIJsonOnSerializing =
_knownSymbols
.IJsonOnSerializingType.IsAssignableFrom(type);
691
implementsIJsonOnSerialized =
_knownSymbols
.IJsonOnSerializedType.IsAssignableFrom(type);
766
if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonNumberHandlingAttributeType))
771
else if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonUnmappedMemberHandlingAttributeType))
776
else if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonObjectCreationHandlingAttributeType))
781
else if (!foundJsonConverterAttribute &&
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeType))
787
if (SymbolEqualityComparer.Default.Equals(attributeType,
_knownSymbols
.JsonDerivedTypeAttributeType))
818
if (SymbolEqualityComparer.Default.Equals(type.OriginalDefinition,
_knownSymbols
.MemoryType))
820
Debug.Assert(!SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.MemoryByteType));
826
if (SymbolEqualityComparer.Default.Equals(type.OriginalDefinition,
_knownSymbols
.ReadOnlyMemoryType))
828
Debug.Assert(!SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.ReadOnlyMemoryByteType));
835
if (type.GetCompatibleGenericBaseType(
_knownSymbols
.IAsyncEnumerableOfTType) is INamedTypeSymbol iAsyncEnumerableType)
842
if (!
_knownSymbols
.IEnumerableType.IsAssignableFrom(type))
854
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.KeyedCollectionType)) != null)
859
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ListOfTType)) != null)
864
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.DictionaryOfTKeyTValueType)) != null)
870
else if (
_knownSymbols
.IsImmutableDictionaryType(type, out immutableCollectionFactoryTypeFullName))
877
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType)) != null)
884
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType)) != null)
891
else if (
_knownSymbols
.IsImmutableEnumerableType(type, out immutableCollectionFactoryTypeFullName))
896
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IListOfTType)) != null)
901
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ISetOfTType)) != null)
906
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadOnlySetOfTType)) != null)
911
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ICollectionOfTType)) != null)
916
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.StackOfTType)) != null)
921
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.QueueOfTType)) != null)
926
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ConcurrentStackType)) != null)
931
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.ConcurrentQueueType)) != null)
936
else if ((actualTypeToConvert = type.GetCompatibleGenericBaseType(
_knownSymbols
.IEnumerableOfTType)) != null)
941
else if (
_knownSymbols
.IDictionaryType.IsAssignableFrom(type))
944
keyType =
_knownSymbols
.StringType;
945
valueType =
_knownSymbols
.ObjectType;
948
else if (
_knownSymbols
.IListType.IsAssignableFrom(type))
951
valueType =
_knownSymbols
.ObjectType;
953
else if (
_knownSymbols
.StackType.IsAssignableFrom(type))
956
valueType =
_knownSymbols
.ObjectType;
958
else if (
_knownSymbols
.QueueType.IsAssignableFrom(type))
961
valueType =
_knownSymbols
.ObjectType;
966
valueType =
_knownSymbols
.ObjectType;
974
INamedTypeSymbol? dictionary =
_knownSymbols
.DictionaryOfTKeyTValueType?.Construct(keyType, valueType);
1164
if (SymbolEqualityComparer.Default.Equals(type,
_knownSymbols
.JsonObjectType))
1169
INamedTypeSymbol? actualDictionaryType = type.GetCompatibleGenericBaseType(
_knownSymbols
.IDictionaryOfTKeyTValueType);
1172
if (SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[0],
_knownSymbols
.StringType) &&
1173
(SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType) ||
1174
SymbolEqualityComparer.Default.Equals(actualDictionaryType.TypeArguments[1],
_knownSymbols
.JsonElementType)))
1182
INamedTypeSymbol? actualReadOnlyDictionaryType = type.GetCompatibleGenericBaseType(
_knownSymbols
.IReadonlyDictionaryOfTKeyTValueType);
1185
if (SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[0],
_knownSymbols
.StringType) &&
1186
(SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType) ||
1187
SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.JsonElementType)))
1190
INamedTypeSymbol? dictionaryType = SymbolEqualityComparer.Default.Equals(actualReadOnlyDictionaryType.TypeArguments[1],
_knownSymbols
.ObjectType)
1191
?
_knownSymbols
.StringObjectDictionaryType
1192
:
_knownSymbols
.StringJsonElementDictionaryType;
1196
Conversion conversion =
_knownSymbols
.Compilation.ClassifyConversion(dictionaryType, type);
1356
if (converterType is null &&
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeType))
1545
constructorSetsRequiredMembers = constructor?.ContainsAttribute(
_knownSymbols
.SetsRequiredMembersAttributeType) == true;
1662
Debug.Assert(
_knownSymbols
.JsonConverterAttributeType.IsAssignableFrom(attributeData.AttributeClass));
1664
if (!SymbolEqualityComparer.Default.Equals(attributeData.AttributeClass,
_knownSymbols
.JsonConverterAttributeType))
1678
!
_knownSymbols
.JsonConverterType.IsAssignableFrom(namedConverterType) ||
1685
if (
_knownSymbols
.JsonStringEnumConverterType.IsAssignableFrom(converterType))
1769
cmp.Equals(type,
_knownSymbols
.DateTimeOffsetType) || cmp.Equals(type,
_knownSymbols
.GuidType))
1774
if (cmp.Equals(type,
_knownSymbols
.ByteArrayType))
1837
if (constructor.ContainsAttribute(
_knownSymbols
.JsonConstructorAttributeType))
1856
if (constructor.ContainsAttribute(
_knownSymbols
.JsonConstructorAttributeType))
1880
=>
_knownSymbols
.Compilation.IsSymbolAccessibleWithin(symbol, within);
1885
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.SerializationInfoType, type) ||
1886
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.IntPtrType, type) ||
1887
SymbolEqualityComparer.Default.Equals(
_knownSymbols
.UIntPtrType, type) ||
1888
_knownSymbols
.MemberInfoType.IsAssignableFrom(type) ||
1889
_knownSymbols
.DelegateType.IsAssignableFrom(type) ||