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