22 references to SynthesizedReadOnlyListKind
Microsoft.CodeAnalysis.CSharp (22)
Emitter\Model\PEModuleBuilder.cs (2)
54private readonly NamedTypeSymbol[] _readOnlyListTypes = new NamedTypeSymbol[(int)SynthesizedReadOnlyListKind.List + 1]; 2132internal NamedTypeSymbol EnsureReadOnlyListTypeExists(SyntaxNode syntaxNode, SynthesizedReadOnlyListKind kind, DiagnosticBag diagnostics)
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (7)
512var kind = useKnownLength 514? SynthesizedReadOnlyListKind.SingleElement 515: SynthesizedReadOnlyListKind.Array 516: SynthesizedReadOnlyListKind.List; 526SynthesizedReadOnlyListKind.SingleElement => this.VisitExpression((BoundExpression)elements.Single()), 528SynthesizedReadOnlyListKind.Array => createArray(node, ArrayTypeSymbol.CreateSZArray(_compilation.Assembly, elementType)), 530SynthesizedReadOnlyListKind.List => CreateAndPopulateList(
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"));