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