88 references to ElementType
Microsoft.CodeAnalysis.CSharp (61)
Binder\Binder_Attributes.cs (1)
925
((ArrayTypeSymbol)type).
ElementType
.SpecialType == SpecialType.System_Object)
Binder\Binder_Conversions.cs (1)
580
method.Parameters[0].Type is ArrayTypeSymbol { IsSZArray: true,
ElementType
: TypeParameterSymbol });
Binder\Binder_Crefs.cs (1)
740
return ContainsNestedTypeOfUnconstructedGenericType(((ArrayTypeSymbol)type).
ElementType
);
Binder\Binder_Expressions.cs (3)
4288
TypeSymbol elemType = type.
ElementType
;
9680
return new BoundArrayAccess(node, expr, BuildArgumentsForErrorRecovery(arguments), arrayType.
ElementType
, hasErrors: true);
9708
: arrayType.
ElementType
;
Binder\Binder_Statements.cs (1)
1268
elementType = ((ArrayTypeSymbol)initializerType).
ElementType
;
Binder\DecisionDagBuilder.cs (2)
1556
TypeSymbol e1 = array1.
ElementType
.EnumUnderlyingTypeOrSelf();
1557
TypeSymbol e2 = array2.
ElementType
.EnumUnderlyingTypeOrSelf();
Binder\Semantics\AccessCheck.cs (1)
152
return IsSymbolAccessibleCore(((ArrayTypeSymbol)symbol).
ElementType
, within, null, out failedThroughTypeCheck, compilation, ref useSiteInfo, basesBeingResolved);
Binder\Semantics\Conversions\ConversionsBase.cs (4)
3741
HasExplicitReferenceConversion(sourceArray.
ElementType
, destinationArray.
ElementType
, ref useSiteInfo);
3769
if (HasExplicitReferenceConversion(sourceArray.
ElementType
, ((NamedTypeSymbol)destination).TypeArgumentWithDefinitionUseSiteDiagnostics(0, ref useSiteInfo).Type, ref useSiteInfo))
3790
var destinationElement = destinationArray.
ElementType
;
Binder\Semantics\OverloadResolution\OverloadResolution.cs (3)
2798
return MoreSpecificType(arr1.
ElementType
, arr2.
ElementType
, ref useSiteInfo);
3231
elementType = arrayType.
ElementType
;
CodeGen\EmitArrayInitializer.cs (3)
48
var initializationStyle = ShouldEmitBlockInitializer(arrayType.
ElementType
, initExprs);
478
elementType = arrayType.
ElementType
;
665
EmitSymbolToken(arrayType.
ElementType
, wrappedExpression.Syntax);
CodeGen\EmitExpression.cs (4)
2397
EmitSymbolToken(arrayType.
ElementType
, expression.Syntax);
3240
var elementType = arrayType.
ElementType
;
4006
return IsVarianceCast(((ArrayTypeSymbol)to).
ElementType
, ((ArrayTypeSymbol)from).
ElementType
);
Compilation\CSharpCompilation.cs (1)
2277
return (array.IsSZArray && array.
ElementType
.SpecialType == SpecialType.System_String, returnsTaskOrTaskOfInt);
Compiler\ClsComplianceChecker.cs (4)
986
return IsCompliantType(((ArrayTypeSymbol)type).
ElementType
, context);
1385
bool elementTypesDiffer = !TypeSymbol.Equals(xArrayType.
ElementType
, yArrayType.
ElementType
, TypeCompareKind.ConsiderEverything2);
1420
return arrayType.
ElementType
.Kind == SymbolKind.ArrayType;
DocumentationComments\DocumentationCommentIDVisitor.PartVisitor.cs (1)
44
Visit(symbol.
ElementType
, builder);
Emitter\EditAndContinue\CSharpSymbolMatcher.cs (4)
156
var otherElementType = (TypeSymbol?)Visit(symbol.
ElementType
);
580
AreTypesEqual(type.
ElementType
, other.
ElementType
);
868
var translatedElementType = (TypeSymbol)this.Visit(symbol.
ElementType
);
Emitter\Model\SynthesizedPrivateImplementationDetailsStaticConstructor.cs (1)
55
factory.Array(payloadArrayType.
ElementType
, factory.Binary(BinaryOperatorKind.Addition, factory.SpecialType(SpecialType.System_Int32), factory.MaximumMethodDefIndex(), factory.Literal(1))));
FlowAnalysis\DefiniteAssignment.cs (2)
907
type is not ArrayTypeSymbol { IsSZArray: true,
ElementType
.SpecialType: SpecialType.System_Byte })
2640
MarkFieldsUsed(((ArrayTypeSymbol)type).
ElementType
);
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (1)
340
var boundType = _bound.Typeof(arrayType.
ElementType
, _bound.WellKnownType(WellKnownType.System_Type));
Lowering\LocalRewriter\LocalRewriter_Call.cs (2)
1131
optimized = CreateArrayEmptyCallIfAvailable(possibleParamsArray.Syntax, ((ArrayTypeSymbol)possibleParamsArray.Type!).
ElementType
);
1411
BoundExpression? arrayEmpty = CreateArrayEmptyCallIfAvailable(syntax, arrayType.
ElementType
);
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (2)
792
var elementType = ((ArrayTypeSymbol)arrayTemp.Type).
ElementType
;
860
var spanOfElementType = spanCtorArray.ContainingType.Construct(arrayType.
ElementType
);
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (1)
857
return (type as ArrayTypeSymbol)?.
ElementType
.IsSealed == true;
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (1)
143
Debug.Assert(byteArray.
ElementType
.SpecialType == SpecialType.System_Byte);
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (2)
932
type: arrayType.
ElementType
));
1111
type: arrayType.
ElementType
));
Lowering\SyntheticBoundNodeFactory.cs (1)
1198
return new BoundArrayAccess(Syntax, array, indices, ((ArrayTypeSymbol)array.Type).
ElementType
);
Symbols\ArrayTypeSymbol.cs (2)
383
current = cur.
ElementType
;
503
ITypeSymbolInternal IArrayTypeSymbolInternal.ElementType =>
ElementType
;
Symbols\Attributes\SourceAttributeData.cs (1)
320
specType = ((ArrayTypeSymbol)parameterType).
ElementType
.SpecialType;
Symbols\Compilation_WellKnownMembers.cs (2)
1084
return array.
ElementType
;
1169
return array.
ElementType
;
Symbols\Metadata\PE\DynamicTypeDecoder.cs (2)
312
TypeSymbol transformedElementType = TransformType(arrayType.
ElementType
);
318
return TypeSymbol.Equals(transformedElementType, arrayType.
ElementType
, TypeCompareKind.ConsiderEverything2) ?
Symbols\Metadata\PE\MetadataDecoder.cs (1)
222
return IsOrClosedOverATypeFromAssemblies(((ArrayTypeSymbol)symbol).
ElementType
, assemblies);
Symbols\Retargeting\RetargetingSymbolTranslator.cs (1)
651
return IsOrClosedOverAnExplicitLocalType(((ArrayTypeSymbol)symbol).
ElementType
);
Symbols\Source\SourceMethodSymbolWithAttributes.cs (1)
1443
static (m, systemType) => m is FieldSymbol { Type: ArrayTypeSymbol {
ElementType
: NamedTypeSymbol elementType } } && elementType.Equals(systemType, TypeCompareKind.ConsiderEverything),
Symbols\SymbolDistinguisher.cs (1)
151
symbol = ((ArrayTypeSymbol)symbol).
ElementType
;
Symbols\TypeSymbolExtensions.cs (1)
277
type = arrayType.
ElementType
;
Symbols\TypeUnification.cs (1)
270
return Contains(((ArrayTypeSymbol)type).
ElementType
, typeParam);
Symbols\VarianceSafety.cs (1)
335
return IsVarianceUnsafe(((ArrayTypeSymbol)type).
ElementType
, requireOutputSafety, requireInputSafety, context, locationProvider, locationArg, diagnostics);
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (3)
Emit\EmitMetadataTests.cs (3)
437
Assert.Same(classA, method1Ret.
ElementType
);
439
Assert.Same(classA, method2Ret.
ElementType
);
441
Assert.Same(classA, method3Ret.
ElementType
);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (9)
Semantics\ImplicitlyTypeArraysTests.cs (1)
46
Assert.Equal(typeM, localA.
ElementType
);
Semantics\InheritanceBindingTests.cs (4)
8470
Assert.True(((ArrayTypeSymbol)c2Goo.Parameters[0].Type).
ElementType
.IsNullableType());
8554
Assert.True(((ArrayTypeSymbol)c2Goo.ReturnType).
ElementType
.IsNullableType());
8628
Assert.True(((ArrayTypeSymbol)dGoo.Parameters[0].Type).
ElementType
.IsNullableType());
8697
Assert.True(((ArrayTypeSymbol)dGoo.ReturnType).
ElementType
.IsNullableType());
Semantics\NullableReferenceTypesTests.cs (4)
139519
Assert.True(((ArrayTypeSymbol)c2Goo.Parameters[0].Type).
ElementType
.IsReferenceType);
139607
Assert.True(((ArrayTypeSymbol)c2Goo.ReturnType).
ElementType
.IsReferenceType);
139685
Assert.True(((ArrayTypeSymbol)dGoo.Parameters[0].Type).
ElementType
.IsReferenceType);
139758
Assert.True(((ArrayTypeSymbol)dGoo.ReturnType).
ElementType
.IsReferenceType);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (13)
Symbols\Metadata\MetadataTypeTests.cs (3)
310
Assert.Equal("EventData", type2.
ElementType
.Name);
312
Assert.Equal("Object", type3.
ElementType
.Name);
324
Assert.True(type2.
ElementType
.IsValueType);
Symbols\Metadata\PE\LoadCustomModifiers.cs (1)
90
Assert.Equal("System.Int32", p5Type.
ElementType
.ToTestDisplayString());
Symbols\Metadata\PE\NoPiaInstantiationOfGenericClassAndStruct.cs (1)
490
Assert.Equal(SymbolKind.ErrorType, ((ArrayTypeSymbol)localField.Type).
ElementType
.Kind);
Symbols\MockSymbolTests.cs (2)
31
Assert.Same(elementType, ats1.
ElementType
);
39
Assert.Same(elementType, ats2.
ElementType
);
Symbols\Retargeting\RetargetCustomModifiers.cs (1)
99
Assert.Equal("System.Int32", p5Type.
ElementType
.ToTestDisplayString());
Symbols\Source\BaseClassTests.cs (2)
1343
var carr2 = carr1.
ElementType
as ArrayTypeSymbol;
1344
Assert.Equal(c, carr2.
ElementType
);
Symbols\Source\CustomModifierCopyTests.cs (1)
2131
var comparisonType = isArrayType ? ((ArrayTypeSymbol)paramType).
ElementType
: paramType;
Symbols\Source\ModifierTests.cs (1)
168
Assert.Equal(intType, substitutedArrayType.
ElementType
);
Symbols\TypeTests.cs (1)
1582
Assert.Same(comp.GetSpecialType(SpecialType.System_Single), (memType as ArrayTypeSymbol).
ElementType
.GetNullableUnderlyingType());
Microsoft.CodeAnalysis.CSharp.Test.Utilities (2)
Extensions.cs (1)
522
if (!IsEqual(arySym.
ElementType
, expType.GetElementType()))
FunctionPointerUtilities.cs (1)
344
arrayTypeVerifier(((ArrayTypeSymbol)typeSymbol).
ElementType
);