21 references to SynthesizedReadOnlyListKind
Microsoft.CodeAnalysis.CSharp (21)
Emitter\Model\PEModuleBuilder.cs (1)
1944internal NamedTypeSymbol EnsureReadOnlyListTypeExists(SyntaxNode syntaxNode, SynthesizedReadOnlyListKind kind, DiagnosticBag diagnostics)
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (7)
425var kind = useKnownLength 427? SynthesizedReadOnlyListKind.SingleElement 428: SynthesizedReadOnlyListKind.Array 429: SynthesizedReadOnlyListKind.List; 439SynthesizedReadOnlyListKind.SingleElement => this.VisitExpression((BoundExpression)elements.Single()), 441SynthesizedReadOnlyListKind.Array => createArray(node, ArrayTypeSymbol.CreateSZArray(_compilation.Assembly, elementType)), 443SynthesizedReadOnlyListKind.List => CreateAndPopulateList(node, elementType, elements),
Symbols\Synthesized\GeneratedNames.cs (4)
474internal static string MakeSynthesizedReadOnlyListName(SynthesizedReadOnlyListKind kind, int generation) 479SynthesizedReadOnlyListKind.Array => "<>z__ReadOnlyArray", 480SynthesizedReadOnlyListKind.List => "<>z__ReadOnlyList", 481SynthesizedReadOnlyListKind.SingleElement => "<>z__ReadOnlySingleElementList",
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListTypeSymbol.cs (9)
128internal static NamedTypeSymbol Create(SourceModuleSymbol containingModule, string name, SynthesizedReadOnlyListKind kind) 206if (kind == SynthesizedReadOnlyListKind.List) 266private SynthesizedReadOnlyListTypeSymbol(SourceModuleSymbol containingModule, string name, SynthesizedReadOnlyListKind kind, bool hasReadOnlyInterfaces) 278SynthesizedReadOnlyListKind.SingleElement => typeParameter, 279SynthesizedReadOnlyListKind.Array => compilation.CreateArrayTypeSymbol(elementType: typeParameter), 280SynthesizedReadOnlyListKind.List => compilation.GetWellKnownType(WellKnownType.System_Collections_Generic_List_T).Construct(typeArgs), 284_enumeratorType = kind == SynthesizedReadOnlyListKind.SingleElement ? new SynthesizedReadOnlyListEnumeratorTypeSymbol(this, typeParameter) : null; 285_field = new SynthesizedFieldSymbol(this, fieldType, kind == SynthesizedReadOnlyListKind.SingleElement ? "_item" : "_items", isReadOnly: true); 318new SynthesizedReadOnlyListConstructor(this, fieldType, kind == SynthesizedReadOnlyListKind.SingleElement ? "item" : "items"));