Binding\Binder_Expressions.vb (15)
672If typeSym.IsArrayType AndAlso DirectCast(typeSym, ArrayTypeSymbol).ElementType.SpecialType = SpecialType.System_Void Then
1505Dim targetArrayType As ArrayTypeSymbol = TryCast(destination, ArrayTypeSymbol)
1521sourceType = ArrayTypeSymbol.CreateVBArray(targetElementType, Nothing, 1, Compilation)
1572Private Sub ReportArrayLiteralDiagnostics(arrayLiteral As BoundArrayLiteral, targetArrayType As ArrayTypeSymbol, diagnostics As BindingDiagnosticBag)
3850type = DirectCast(type, ArrayTypeSymbol).ElementType
3872type = DirectCast(type, ArrayTypeSymbol).ElementType
3909Dim arrayType As ArrayTypeSymbol = DirectCast(expr.Type, ArrayTypeSymbol)
4093Dim inferredArrayType = ArrayTypeSymbol.CreateVBArray(inferredElementType, Nothing, knownSizes.Length, Compilation)
4151type As ArrayTypeSymbol,
4199type As ArrayTypeSymbol,
4525Not (expressionType.IsArrayType() AndAlso DirectCast(expressionType, ArrayTypeSymbol).ElementType.IsVoidType()) Then
4573Debug.Assert(dominantType.IsArrayType AndAlso DirectCast(dominantType, ArrayTypeSymbol).Rank = 1 AndAlso DirectCast(dominantType, ArrayTypeSymbol).ElementType.SpecialType = SpecialType.System_Object)
Binding\Binder_Statements.vb (10)
709Dim arrayType As ArrayTypeSymbol = Nothing
714arrayType = DirectCast(redimTargetType, ArrayTypeSymbol)
717arrayType = ArrayTypeSymbol.CreateVBArray(redimTargetType, Nothing, boundIndices.Length, Compilation)
1641Dim rhsElementType As TypeSymbol = DirectCast(valueType, ArrayTypeSymbol).ElementType
1646rhsElementType = DirectCast(rhsElementType, ArrayTypeSymbol).ElementType
1655If DirectCast(defaultType, ArrayTypeSymbol).Rank <> DirectCast(valueType, ArrayTypeSymbol).Rank Then
1683Dim lhsArrayType = DirectCast(lhsType, ArrayTypeSymbol)
1684Dim rhsArrayType = DirectCast(rhsType, ArrayTypeSymbol)
3947Dim arrayType = DirectCast(collectionType, ArrayTypeSymbol)
CodeGen\EmitExpression.vb (8)
565If DirectCast(arrayAccess.Expression.Type, ArrayTypeSymbol).IsSZArray Then
626_builder.EmitArrayElementLoad(_module.Translate(DirectCast(arrayAccess.Expression.Type, ArrayTypeSymbol)), arrayAccess.Expression.Syntax, _diagnostics)
1452Return IsVarianceCast(DirectCast(toType, ArrayTypeSymbol).ElementType, DirectCast(fromType, ArrayTypeSymbol).ElementType)
1481Dim arrayType = DirectCast(expression.Type, ArrayTypeSymbol)
1919Dim arrayType = DirectCast(array.Type, ArrayTypeSymbol)
1962Private Sub EmitArrayElementStore(arrayType As ArrayTypeSymbol, syntaxNode As SyntaxNode)
1973Private Sub EmitVectorElementStore(arrayType As ArrayTypeSymbol, syntaxNode As SyntaxNode)
Emit\EditAndContinue\VisualBasicSymbolMatcher.vb (10)
286Public Overrides Function VisitArrayType(symbol As ArrayTypeSymbol) As Symbol
295Return ArrayTypeSymbol.CreateSZArray(otherElementType, otherModifiers, Me._otherAssembly)
298Return ArrayTypeSymbol.CreateMDArray(otherElementType, otherModifiers, symbol.Rank, symbol.Sizes, symbol.LowerBounds, Me._otherAssembly)
541Private Function AreArrayTypesEqual(type As ArrayTypeSymbol, other As ArrayTypeSymbol) As Boolean
628Return AreArrayTypesEqual(DirectCast(type, ArrayTypeSymbol), DirectCast(other, ArrayTypeSymbol))
715Public Overrides Function VisitArrayType(symbol As ArrayTypeSymbol) As Symbol
720Return ArrayTypeSymbol.CreateSZArray(translatedElementType, translatedModifiers, symbol.BaseTypeNoUseSiteDiagnostics.ContainingAssembly)
723Return ArrayTypeSymbol.CreateMDArray(translatedElementType, translatedModifiers, symbol.Rank, symbol.Sizes, symbol.LowerBounds, symbol.BaseTypeNoUseSiteDiagnostics.ContainingAssembly)
Generated\BoundNodes.xml.Generated.vb (8)
2919Public Sub New(syntax As SyntaxNode, operand As BoundExpression, indices As ImmutableArray(Of BoundExpression), arrayTypeOpt As ArrayTypeSymbol, preserve As Boolean, Optional hasErrors As Boolean = False)
2951Private ReadOnly _ArrayTypeOpt As ArrayTypeSymbol
2952Public ReadOnly Property ArrayTypeOpt As ArrayTypeSymbol
2970Public Function Update(operand As BoundExpression, indices As ImmutableArray(Of BoundExpression), arrayTypeOpt As ArrayTypeSymbol, preserve As Boolean) As BoundRedimClause
4009Public Sub New(syntax As SyntaxNode, hasDominantType As Boolean, numberOfCandidates As Integer, inferredType As ArrayTypeSymbol, bounds As ImmutableArray(Of BoundExpression), initializer As BoundArrayInitialization, binder As Binder, Optional hasErrors As Boolean = False)
4040Private ReadOnly _InferredType As ArrayTypeSymbol
4041Public ReadOnly Property InferredType As ArrayTypeSymbol
4073Public Function Update(hasDominantType As Boolean, numberOfCandidates As Integer, inferredType As ArrayTypeSymbol, bounds As ImmutableArray(Of BoundExpression), initializer As BoundArrayInitialization, binder As Binder) As BoundArrayLiteral
Semantics\TypeInference\TypeArgumentInference.vb (9)
193inferredType = ArrayTypeSymbol.CreateVBArray(arrayType.ElementType, Nothing, arrayType.Rank, arrayLiteral.Binder.Compilation.Assembly)
967Dim arrayType = DirectCast(targetType, ArrayTypeSymbol)
1095AddTypeToGraph(DirectCast(parameterType, ArrayTypeSymbol).ElementType, argNode, isOutgoingEdge, haveSeenTypeParameters)
1263Dim argumentArray = DirectCast(argumentType, ArrayTypeSymbol)
1264Dim paramArrayType = DirectCast(paramType, ArrayTypeSymbol)
1317Return RefersToGenericParameterToInferArgumentFor(DirectCast(parameterType, ArrayTypeSymbol).ElementType)
1564Dim parameterArray = DirectCast(parameterType, ArrayTypeSymbol)
1565Dim argumentArray = DirectCast(argumentType, ArrayTypeSymbol)
1795Not (baseSearchTypeKind = SymbolKind.ArrayType AndAlso DirectCast(baseSearchType, ArrayTypeSymbol).IsSZArray) Then
Symbols\ArrayTypeSymbol.vb (16)
25Friend Shared Function CreateVBArray(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), rank As Integer, compilation As VisualBasicCompilation) As ArrayTypeSymbol
32Friend Shared Function CreateVBArray(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), rank As Integer, declaringAssembly As AssemblySymbol) As ArrayTypeSymbol
47) As ArrayTypeSymbol
66Friend Shared Function CreateSZArray(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), compilation As VisualBasicCompilation) As ArrayTypeSymbol
70Friend Shared Function CreateSZArray(elementType As TypeSymbol, customModifiers As ImmutableArray(Of CustomModifier), declaringAssembly As AssemblySymbol) As ArrayTypeSymbol
112Friend Function HasSameShapeAs(other As ArrayTypeSymbol) As Boolean
141Friend Function HasSameSizesAndLowerBoundsAs(other As ArrayTypeSymbol) As Boolean
319Return Equals(TryCast(other, ArrayTypeSymbol), comparison)
322Public Overloads Function Equals(other As ArrayTypeSymbol, compareKind As TypeCompareKind) As Boolean
356Dim cur = DirectCast(current, ArrayTypeSymbol)
364Friend MustOverride Function WithElementType(elementType As TypeSymbol) As ArrayTypeSymbol
438Return Me.Equals(TryCast(symbol, ArrayTypeSymbol))
508Dim newArray As ArrayTypeSymbol
571Friend Overrides Function WithElementType(newElementType As TypeSymbol) As ArrayTypeSymbol
623Friend Overrides Function WithElementType(newElementType As TypeSymbol) As ArrayTypeSymbol
675Friend Overrides Function WithElementType(newElementType As TypeSymbol) As ArrayTypeSymbol
Microsoft.CodeAnalysis.VisualBasic.ExpressionEvaluator.ExpressionCompiler.UnitTests (2)