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