58 references to TryGetInlineArrayElementField
Microsoft.CodeAnalysis.CSharp (20)
Binder\Binder.ValueChecks.cs (1)
919
getItemOrSliceHelper = getItemOrSliceHelper.AsMember(getItemOrSliceHelper.ContainingType.Construct(ImmutableArray.Create(elementAccess.Expression.Type.
TryGetInlineArrayElementField
().TypeWithAnnotations)));
Binder\Binder_Conversions.cs (1)
448
FieldSymbol? elementField = source.Type.
TryGetInlineArrayElementField
();
Binder\Binder_Expressions.cs (1)
9421
Debug.Assert(expr.Type.
TryGetInlineArrayElementField
() is not null);
Binder\ForEachEnumeratorInfo.cs (1)
75
(collectionType.HasInlineArrayAttribute(out _) && collectionType.
TryGetInlineArrayElementField
() is FieldSymbol elementField && elementType.Equals(elementField.TypeWithAnnotations, TypeCompareKind.ConsiderEverything)));
Binder\Semantics\Conversions\ConversionsBase.cs (1)
1147
source.
TryGetInlineArrayElementField
() is { TypeWithAnnotations: var elementType } &&
BoundTree\BoundInlineArrayAccess.cs (2)
62
Debug.Assert(((NamedTypeSymbol)Type).TypeArgumentsWithAnnotationsNoUseSiteDiagnostics[0].Equals(Expression.Type?.
TryGetInlineArrayElementField
()?.TypeWithAnnotations ?? default, TypeCompareKind.ConsiderEverything));
70
Debug.Assert(Type.Equals(Expression.Type?.
TryGetInlineArrayElementField
()?.Type, TypeCompareKind.ConsiderEverything));
FlowAnalysis\DefiniteAssignment.cs (1)
1599
int slot = MakeMemberSlot(elementAccess.Expression, elementAccess.Expression.Type.
TryGetInlineArrayElementField
());
FlowAnalysis\NullableWalker.cs (3)
5041
TypeWithAnnotations type = expressionType.
TryGetInlineArrayElementField
()!.TypeWithAnnotations;
8630
value.Type.
TryGetInlineArrayElementField
() is not null)
11693
getEnumeratorType = spanType.Construct(ImmutableArray.Create(convertedResult.Type!.
TryGetInlineArrayElementField
()!.TypeWithAnnotations));
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (1)
772
elementRef = elementRef.Construct(inlineArrayType, inlineArrayType.
TryGetInlineArrayElementField
()!.Type);
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (3)
335
return createSpan.Construct(node.Expression.Type, node.Expression.Type.
TryGetInlineArrayElementField
()!.Type);
362
elementRef = elementRef.Construct(node.Expression.Type, node.Expression.Type.
TryGetInlineArrayElementField
()!.Type);
381
elementRef = elementRef.Construct(node.Expression.Type, node.Expression.Type.
TryGetInlineArrayElementField
()!.Type);
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (1)
228
refLocal.Type.
TryGetInlineArrayElementField
() is not null);
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (3)
316
(local.SynthesizedKind == SynthesizedLocalKind.ForEachArray && local.Type.HasInlineArrayAttribute(out _) && local.Type.
TryGetInlineArrayElementField
() is object));
518
(local.SynthesizedKind == SynthesizedLocalKind.ForEachArray && local.Type.HasInlineArrayAttribute(out _) && local.Type.
TryGetInlineArrayElementField
() is object));
861
(leftLocal.SynthesizedKind == SynthesizedLocalKind.ForEachArray && leftLocal.Type.HasInlineArrayAttribute(out _) && leftLocal.Type.
TryGetInlineArrayElementField
() is object));
Lowering\StateMachineRewriter\StateMachineRewriter.cs (1)
175
(synthesizedKind == SynthesizedLocalKind.ForEachArray && local.Type.HasInlineArrayAttribute(out _) && local.Type.
TryGetInlineArrayElementField
() is object));
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (38)
Semantics\InlineArrayTests.cs (38)
167
Assert.Equal(SpecialType.System_Int32, buffer.
TryGetInlineArrayElementField
().Type.SpecialType);
190
Assert.Equal("T", buffer.
TryGetInlineArrayElementField
().Type.ToTestDisplayString());
196
Assert.Equal(SpecialType.System_Int32, bufferOfInt.
TryGetInlineArrayElementField
().Type.SpecialType);
236
Assert.Equal(SpecialType.System_Int32, buffer.
TryGetInlineArrayElementField
().Type.SpecialType);
501
Assert.Null(buffer.
TryGetInlineArrayElementField
());
565
Assert.Null(buffer.
TryGetInlineArrayElementField
());
590
Assert.Equal(SpecialType.System_Int32, buffer.
TryGetInlineArrayElementField
().Type.SpecialType);
657
Assert.Null(buffer.
TryGetInlineArrayElementField
());
747
Assert.Null(buffer.
TryGetInlineArrayElementField
());
829
Assert.Null(buffer.
TryGetInlineArrayElementField
());
932
Assert.Null(buffer.
TryGetInlineArrayElementField
());
974
Assert.Null(buffer.
TryGetInlineArrayElementField
());
1061
Assert.Null(buffer.
TryGetInlineArrayElementField
());
1151
Assert.Null(buffer.
TryGetInlineArrayElementField
());
1173
Assert.Equal(SpecialType.System_Int32, buffer.
TryGetInlineArrayElementField
().Type.SpecialType);
1195
Assert.Equal(SpecialType.System_Int32, buffer.
TryGetInlineArrayElementField
().Type.SpecialType);
1225
Assert.Equal(SpecialType.System_Int32, buffer.
TryGetInlineArrayElementField
().Type.SpecialType);
1253
Assert.Equal(SpecialType.System_Int32, buffer.
TryGetInlineArrayElementField
().Type.SpecialType);
1313
Assert.Equal(SpecialType.System_Int32, buffer.
TryGetInlineArrayElementField
().Type.SpecialType);
1339
Assert.Equal(SpecialType.System_Int32, buffer.
TryGetInlineArrayElementField
().Type.SpecialType);
1370
Assert.Equal(SpecialType.System_Int32, buffer.
TryGetInlineArrayElementField
().Type.SpecialType);
1398
Assert.Null(buffer.
TryGetInlineArrayElementField
());
1423
Assert.Null(buffer.
TryGetInlineArrayElementField
());
1447
Assert.Null(buffer.
TryGetInlineArrayElementField
());
1502
Assert.Equal(SpecialType.System_Int32, buffer.
TryGetInlineArrayElementField
().Type.SpecialType);
1538
Assert.Equal("System.Void*", buffer.
TryGetInlineArrayElementField
().Type.ToTestDisplayString());
1581
Assert.Equal("System.Int32 Enclosing.Buffer._element0", buffer.
TryGetInlineArrayElementField
().ToTestDisplayString());
1616
Assert.Equal("System.Int32 Enclosing<System.Int32>.Buffer._element0", buffer.
TryGetInlineArrayElementField
().ToTestDisplayString());
1651
Assert.Equal("System.Int32 Enclosing.Buffer<System.Int32>._element0", buffer.
TryGetInlineArrayElementField
().ToTestDisplayString());
1686
Assert.Equal("System.Int32 Enclosing<System.Int32>.Buffer<System.String>._element0", buffer.
TryGetInlineArrayElementField
().ToTestDisplayString());
1721
Assert.Equal("System.String Enclosing<System.Int32>.Buffer<System.String>._element0", buffer.
TryGetInlineArrayElementField
().ToTestDisplayString());
1748
Assert.Null(buffer.
TryGetInlineArrayElementField
());
1771
Assert.NotNull(buffer.
TryGetInlineArrayElementField
());
1794
Assert.NotNull(buffer.
TryGetInlineArrayElementField
());
1822
Assert.NotNull(buffer.
TryGetInlineArrayElementField
());
2212
Assert.Null(buffer.
TryGetInlineArrayElementField
());
2239
Assert.Equal(SpecialType.System_Int32, buffer.
TryGetInlineArrayElementField
().Type.SpecialType);
2262
Assert.Null(buffer.
TryGetInlineArrayElementField
());