Analysis\FlowAnalysis\AbstractFlowPass.vb (38)
59Private _placeholderReplacementMap As Dictionary(Of BoundValuePlaceholderBase, BoundExpression)
306Private Function IsConstantTrue(node As BoundExpression) As Boolean
321Private Function IsConstantFalse(node As BoundExpression) As Boolean
620Protected Sub SetPlaceholderSubstitute(placeholder As BoundValuePlaceholderBase, newSubstitute As BoundExpression)
624_placeholderReplacementMap = New Dictionary(Of BoundValuePlaceholderBase, BoundExpression)()
637Protected ReadOnly Property GetPlaceholderSubstitute(placeholder As BoundValuePlaceholderBase) As BoundExpression
639Dim value As BoundExpression = Nothing
686Dim expression = TryCast(node, BoundExpression)
696Protected Overrides Function VisitExpressionWithoutStackGuard(node As BoundExpression) As BoundExpression
697Return DirectCast(MyBase.Visit(node), BoundExpression)
704Protected Overridable Sub VisitLvalue(node As BoundExpression, Optional dontLeaveRegion As Boolean = False)
729Dim substitute As BoundExpression = GetPlaceholderSubstitute(DirectCast(node, BoundValuePlaceholderBase))
750Protected Sub VisitCondition(node As BoundExpression)
766Private Sub AdjustConditionalState(node As BoundExpression)
783Protected Sub VisitRvalue(node As BoundExpression, Optional rwContext As ReadWriteContext = ReadWriteContext.None, Optional dontLeaveRegion As Boolean = False)
829Dim replacement As BoundExpression = GetPlaceholderSubstitute(node)
885Dim initializerExpr As BoundExpression = DirectCast(initializer, BoundAssignmentOperator).Right
911Dim initializerExpr As BoundExpression = DirectCast(initializer, BoundAssignmentOperator).Right
1089Private Sub VisitExpressionAsStatement(node As BoundExpression)
1123Private Sub VisitLateBoundArguments(arguments As ImmutableArray(Of BoundExpression), isByRef As Boolean)
1134Protected Overridable Sub VisitLateBoundArgument(arg As BoundExpression, isByRef As Boolean)
1155Dim receiverOpt As BoundExpression = node.ReceiverOpt
1170Dim originalReceiver As BoundExpression = If(methodGroup IsNot Nothing, methodGroup.ReceiverOpt, Nothing)
1205Private Sub VisitCallReceiver(receiver As BoundExpression, method As MethodSymbol)
1217Private Sub WriteLValueCallReceiver(receiver As BoundExpression, method As MethodSymbol)
1236Private Sub VisitArguments(arguments As ImmutableArray(Of BoundExpression), parameters As ImmutableArray(Of ParameterSymbol))
1256Protected Overridable Sub WriteArgument(arg As BoundExpression, isOut As Boolean)
1259Protected Overridable Sub VisitArgument(arg As BoundExpression, p As ParameterSymbol)
1276Dim receiverOpt As BoundExpression = node.ReceiverOpt
1291Dim originalReceiver As BoundExpression = If(methodGroup IsNot Nothing, methodGroup.ReceiverOpt, Nothing)
1321VisitRvalue(TryCast(child, BoundExpression))
1334Dim expression = TryCast(child, BoundExpression)
1644Dim replacement As BoundExpression = GetPlaceholderSubstitute(node)
1705Dim originalReceiver As BoundExpression = If(propertyGroup IsNot Nothing, propertyGroup.ReceiverOpt, Nothing)
1738Private Sub VisitUnreachableReceiver(receiver As BoundExpression)
2107Dim child As BoundExpression = node.Left
2508Dim expr As BoundExpression = node.ExpressionOpt
Analysis\FlowAnalysis\DataFlowPass.vb (21)
280Protected Overridable Sub NoteWrite(variable As Symbol, value As BoundExpression)
326Dim substitute As BoundExpression = GetPlaceholderSubstitute(DirectCast(node, BoundValuePlaceholderBase))
352Protected Overridable Sub NoteWrite(node As BoundExpression, value As BoundExpression)
416Protected Function MakeSlotsForExpression(node As BoundExpression) As SlotCollection
469Dim substitute As BoundExpression = Me.GetPlaceholderSubstitute(DirectCast(node, BoundValuePlaceholderBase))
994Protected Overrides Sub VisitLvalue(node As BoundExpression, Optional dontLeaveRegion As Boolean = False)
1011Private Function IsAssigned(node As BoundExpression, ByRef unassignedSlot As Integer) As Boolean
1051Dim substitute As BoundExpression = Me.GetPlaceholderSubstitute(DirectCast(node, BoundValuePlaceholderBase))
1111Dim receiver As BoundExpression = boundFieldAccess.ReceiverOpt
1333Protected Overridable Sub Assign(node As BoundNode, value As BoundExpression, Optional assigned As Boolean = True)
1386Dim expression = DirectCast(node, BoundExpression)
1395Dim substitute As BoundExpression = Me.GetPlaceholderSubstitute(DirectCast(node, BoundValuePlaceholderBase))
1633Protected Overridable Function TreatTheLocalAsAssignedWithinTheLambda(local As LocalSymbol, right As BoundExpression) As Boolean
1637Private Shared Function IsConvertedLambda(value As BoundExpression) As Boolean
1796Dim left As BoundExpression = node.Left
1921Protected NotOverridable Overrides Sub VisitArgument(arg As BoundExpression, p As ParameterSymbol)
1934Protected Overrides Sub WriteArgument(arg As BoundExpression, isOut As Boolean)
1943Protected Sub CheckAssignedFromArgumentWrite(expr As BoundExpression, node As SyntaxNode)
1973Protected Overrides Sub VisitLateBoundArgument(arg As BoundExpression, isByRef As Boolean)
2013Private Function DeclaredVariableIsAlwaysAssignedBeforeInitializer(syntax As SyntaxNode, boundInitializer As BoundExpression,
Binding\Binder_AnonymousTypes.vb (16)
21Private Function BindAnonymousObjectCreationExpression(node As AnonymousObjectCreationExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
27initExpressions As ImmutableArray(Of BoundExpression),
28diagnostics As BindingDiagnosticBag) As BoundExpression
42initExpressions As ImmutableArray(Of BoundExpression),
43Optional hasErrors As Boolean = False) As BoundExpression
58initExpressions As ImmutableArray(Of BoundExpression),
108diagnostics As BindingDiagnosticBag) As BoundExpression
114Return BadExpression(owningSyntax, ImmutableArray(Of BoundExpression).Empty, ErrorTypeSymbol.UnknownResultType)
212typeLocationToken As SyntaxToken) As BoundExpression
217Dim boundInitializers(fieldsCount - 1) As BoundExpression
243Dim boundExpression As BoundExpression = initializerBinder.BindRValue(initExpression, diagnostics)
278Dim result As BoundExpression = Me.CreateAnonymousObjectCreationExpression(owningSyntax,
292initExpressions As ImmutableArray(Of BoundExpression),
382<Out> ByRef wholeMemberAccessExpressionBound As Boolean) As BoundExpression
465Protected Overrides Function TryBindOmittedLeftForDictionaryAccess(node As MemberAccessExpressionSyntax, accessingBinder As Binder, diagnostics As BindingDiagnosticBag) As BoundExpression
472Protected Overrides Function TryBindOmittedLeftForConditionalAccess(node As ConditionalAccessExpressionSyntax, accessingBinder As Binder, diagnostics As BindingDiagnosticBag) As BoundExpression
Binding\Binder_Attributes.vb (24)
256Dim boundArguments As ImmutableArray(Of BoundExpression) = analyzedArguments.positionalArguments
257Dim boundNamedArguments As ImmutableArray(Of BoundExpression) = analyzedArguments.namedArguments
353Dim argumentInfo As (Arguments As ImmutableArray(Of BoundExpression), DefaultArguments As BitVector) = PassArguments(node.Name, methodResult, boundArguments, diagnostics)
381Dim boundArguments As ImmutableArray(Of BoundExpression)
382Dim namedArguments As ImmutableArray(Of BoundExpression)
390Dim boundArgumentsBuilder As ArrayBuilder(Of BoundExpression) = ArrayBuilder(Of BoundExpression).GetInstance
391Dim namedArgumentsBuilder As ArrayBuilder(Of BoundExpression) = Nothing
403Dim expression As BoundExpression = BindValue(simpleArgument.Expression, diagnostics)
408namedArgumentsBuilder = ArrayBuilder(Of BoundExpression).GetInstance()
432diagnostics As BindingDiagnosticBag) As BoundExpression
442Dim rValue As BoundExpression = Me.BindValue(namedArg.Expression, diagnostics)
444Dim lValue As BoundExpression = Nothing
532lValue = New BoundPropertyAccess(identifierName, propertySym, Nothing, PropertyAccessKind.Set, Not isReadOnly, Nothing, ImmutableArray(Of BoundExpression).Empty, defaultArguments:=BitVector.Null, hasErrors)
560Private Sub MarkEmbeddedTypeReferenceIfNeeded(expression As BoundExpression)
681Public Function VisitPositionalArguments(arguments As ImmutableArray(Of BoundExpression), diag As BindingDiagnosticBag) As ImmutableArray(Of TypedConstant)
685Private Function VisitArguments(arguments As ImmutableArray(Of BoundExpression), diag As BindingDiagnosticBag) As ImmutableArray(Of TypedConstant)
701Public Function VisitNamedArguments(arguments As ImmutableArray(Of BoundExpression), diag As BindingDiagnosticBag) As ImmutableArray(Of KeyValuePair(Of String, TypedConstant))
723Private Function VisitNamedArgument(argument As BoundExpression, diag As BindingDiagnosticBag) As Nullable(Of KeyValuePair(Of String, TypedConstant))
743Public Function VisitExpression(node As BoundExpression, diagBag As BindingDiagnosticBag) As TypedConstant
903Public positionalArguments As ImmutableArray(Of BoundExpression)
904Public namedArguments As ImmutableArray(Of BoundExpression)
906Public Sub New(positionalArguments As ImmutableArray(Of BoundExpression), namedArguments As ImmutableArray(Of BoundExpression))
Binding\Binder_Conversions.vb (31)
23) As BoundExpression
25Dim result As BoundExpression
47) As BoundExpression
60) As BoundExpression
72argument As BoundExpression,
75) As BoundExpression
167) As BoundExpression
179argument As BoundExpression,
182) As BoundExpression
266) As BoundExpression
302expression As BoundExpression,
305) As BoundExpression
315argument As BoundExpression,
320) As BoundExpression
351Dim result As BoundExpression
409Private Shared Function ApplyNullableIsTrueOperator(argument As BoundExpression, booleanType As TypeSymbol) As BoundNullableIsTrueOperator
419argument As BoundExpression,
426) As BoundExpression
971argument As BoundExpression,
1061Dim converted = ArrayBuilder(Of BoundExpression).GetInstance(sourceElementTypes.Length)
1077argument As BoundExpression,
1141arguments:=ImmutableArray.Create(Of BoundExpression)(argument),
1180ByRef argument As BoundExpression,
1194Dim enclosed As BoundExpression = parenthesized.Expression
1296) As BoundExpression
1303Dim anonymousDelegate As BoundExpression = ReclassifyUnboundLambdaExpression(unboundLambda, diagnostics)
1498) As BoundExpression
1604Private Function ReclassifyInterpolatedStringExpression(conversionSemantics As SyntaxKind, tree As SyntaxNode, convKind As ConversionKind, isExplicit As Boolean, node As BoundInterpolatedStringExpression, targetType As TypeSymbol, diagnostics As BindingDiagnosticBag) As BoundExpression
1621diagnostics As BindingDiagnosticBag) As BoundExpression
1649Dim convertedArguments = ArrayBuilder(Of BoundExpression).GetInstance(arguments.Length)
1660Dim result As BoundExpression = New BoundConvertedTupleLiteral(
Binding\Binder_Expressions.vb (155)
25) As BoundExpression
38) As BoundExpression
95Dim operand As BoundExpression = BindExpression(DirectCast(node, ParenthesizedExpressionSyntax).Expression,
259Return BadExpression(node, ImmutableArray(Of BoundExpression).Empty, ErrorTypeSymbol.UnknownResultType)
268Return New BoundBadExpression(node, LookupResultKind.Empty, ImmutableArray(Of Symbol).Empty, ImmutableArray(Of BoundExpression).Empty, resultType, hasErrors:=True)
275Private Shared Function BadExpression(node As SyntaxNode, expr As BoundExpression, resultType As TypeSymbol) As BoundBadExpression
283Private Shared Function BadExpression(node As SyntaxNode, expr As BoundExpression, resultKind As LookupResultKind, resultType As TypeSymbol) As BoundBadExpression
291Private Shared Function BadExpression(node As SyntaxNode, exprs As ImmutableArray(Of BoundExpression), resultType As TypeSymbol) As BoundBadExpression
295Private Shared Function BadExpression(expr As BoundExpression) As BoundBadExpression
300Private Shared Function BadExpression(resultKind As LookupResultKind, wrappedExpression As BoundExpression) As BoundBadExpression
309Private Function BindTupleExpression(node As TupleExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
317ImmutableArray(Of BoundExpression).Empty)
325Dim boundArguments = ArrayBuilder(Of BoundExpression).GetInstance(arguments.Count)
352Dim boundArgument As BoundExpression = BindValue(argumentSyntax.Expression, diagnostics)
505Private Function GetTupleFieldType(expression As BoundExpression,
576Public Function BindNamespaceOrTypeExpression(node As TypeSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
600Public Function BindNamespaceOrTypeOrExpressionSyntaxForSemanticModel(node As ExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
603Dim result As BoundExpression = Me.BindNamespaceOrTypeExpression(DirectCast(node, TypeSyntax), diagnostics)
613Dim boundParent As BoundExpression = BindNamespaceOrTypeOrExpressionSyntaxForSemanticModel(DirectCast(node.Parent, QualifiedNameSyntax), BindingDiagnosticBag.Discarded)
636Private Shared Sub BindNamespaceOrTypeSyntaxForSemanticModelGetExpressionSymbols(expression As BoundExpression, symbols As ArrayBuilder(Of Symbol))
653Private Function BindQualifiedName(name As QualifiedNameSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
657Private Function BindGetTypeExpression(node As GetTypeExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
679Private Function BindNameOfExpression(node As NameOfExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
702Dim argument As BoundExpression = BindExpression(node.Argument, diagnostics)
747Private Function BindTypeOfExpression(node As TypeOfExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
797) As BoundExpression
803Private Function AdjustReceiverTypeOrValue(receiver As BoundExpression,
807ByRef resolvedTypeOrValueExpression As BoundExpression) As BoundExpression
812Private Function AdjustReceiverTypeOrValue(receiver As BoundExpression,
816ByRef qualKind As QualificationKind) As BoundExpression
817Dim unused As BoundExpression = Nothing
826Private Function AdjustReceiverTypeOrValue(receiver As BoundExpression,
832ByRef resolvedTypeOrValueExpression As BoundExpression) As BoundExpression
871Private Shared Function AdjustReceiverAmbiguousTypeOrValue(receiver As BoundExpression, diagnostics As BindingDiagnosticBag) As BoundExpression
881Private Shared Function AdjustReceiverAmbiguousTypeOrValue(ByRef group As BoundMethodOrPropertyGroup, diagnostics As BindingDiagnosticBag) As BoundExpression
917Private Function AdjustReceiverValue(receiver As BoundExpression,
919diagnostics As BindingDiagnosticBag) As BoundExpression
939expr As BoundExpression,
941) As BoundExpression
944Dim access As BoundExpression = Me.MakeRValue(conditionalAccess.AccessExpression, diagnostics)
998Dim instance As BoundExpression = TryDefaultInstanceProperty(DirectCast(expr, BoundTypeExpression), diagnostics)
1037Friend Function TryDefaultInstanceProperty(typeExpr As BoundTypeExpression, diagnostics As BindingDiagnosticBag) As BoundExpression
1104Dim result As BoundExpression = (New DefaultInstancePropertyBinder(Me)).BindValue(ret.Expression, exprDiagnostics)
1210expr As BoundExpression,
1212) As BoundExpression
1217Dim enclosed As BoundExpression = MakeValue(parenthesized.Expression, diagnostics)
1293Private Function GetAccessThroughType(receiverOpt As BoundExpression) As TypeSymbol
1319) As BoundExpression
1326expr As BoundExpression,
1328) As BoundExpression
1332Dim enclosed As BoundExpression = MakeRValue(parenthesized.Expression, diagnostics)
1400expr As BoundExpression
1401) As BoundExpression
1407expr As BoundExpression,
1409) As BoundExpression
1422Dim enclosed As BoundExpression = ReclassifyExpression(parenthesized.Expression, diagnostics)
1469diagnostics As BindingDiagnosticBag) As BoundExpression
1486Dim argument As BoundExpression = ApplyImplicitConversion(arrayLiteral.Syntax, arrayLiteral.InferredType, arrayLiteral, BindingDiagnosticBag.Discarded)
1532Dim bounds As ImmutableArray(Of BoundExpression)
1552Dim expr As BoundExpression = arrayCreation
1612Dim initializers = ArrayBuilder(Of BoundExpression).GetInstance
1636Dim initializers = ImmutableArray(Of BoundExpression).Empty
1640initializers = ImmutableArray.Create(Of BoundExpression)(arrayInitialization)
1649) As BoundExpression
1660) As BoundExpression
1670) As BoundExpression
1681) As BoundExpression
1689expression As BoundExpression,
1691) As BoundExpression
1708Dim newArguments(invocation.ArgumentsOpt.Length - 1) As BoundExpression
1725Friend Shared Function IsValidAssignmentTarget(expression As BoundExpression) As Boolean
1763Private Shared Sub ReportAssignmentToRValue(expr As BoundExpression, diagnostics As BindingDiagnosticBag)
1780node As BoundExpression,
1810Friend Function IsLValueFieldAccess(field As FieldSymbol, receiver As BoundExpression) As Boolean
1906Private Function BindTernaryConditionalExpression(node As TernaryConditionalExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
1923Dim array = ArrayBuilder(Of BoundExpression).GetInstance(2)
1967Private Shared Function IsConstantAllowingCompileTimeFolding(candidate As BoundExpression) As Boolean
1973Private Function BindBinaryConditionalExpression(node As BinaryConditionalExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
1995Dim array = ArrayBuilder(Of BoundExpression).GetInstance(2)
2083Dim boundSecondArgWithConversions As BoundExpression = boundSecondArg
2120testExpression As BoundExpression,
2121elseExpression As BoundExpression,
2126Optional explicitConversion As Boolean = False) As BoundExpression
2128Dim convertedTestExpression As BoundExpression = Nothing
2421Optional skipLocalsAndParameters As Boolean = False) As BoundExpression
2511Dim boundExpr As BoundExpression = BindSimpleName(result, node, options, typeArguments, diagnostics)
2526diagnostics As BindingDiagnosticBag) As BoundExpression
2531Dim receiver As BoundExpression = Nothing
2551Dim boundExpr As BoundExpression = BindSymbolAccess(node, result, options, receiver, typeArguments, QualificationKind.Unqualified, diagnostics)
2579Private Function TryBindInteractiveReceiver(syntax As VisualBasicSyntaxNode, currentMember As Symbol, currentType As NamedTypeSymbol, memberDeclaringType As NamedTypeSymbol) As BoundExpression
2595Private Function BindMemberAccess(node As MemberAccessExpressionSyntax, eventContext As Boolean, diagnostics As BindingDiagnosticBag) As BoundExpression
2597Dim boundLeft As BoundExpression = Nothing
2637Private Function BindLeftOfPotentialColorColorMemberAccess(parentNode As MemberAccessExpressionSyntax, leftOpt As ExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
2763Protected Function BindMemberAccess(node As VisualBasicSyntaxNode, left As BoundExpression, right As SimpleNameSyntax, eventContext As Boolean, diagnostics As BindingDiagnosticBag) As BoundExpression
2956<Out> ByRef wholeMemberAccessExpressionBound As Boolean) As BoundExpression
2963accessingBinder As Binder) As BoundExpression
3046receiver As BoundExpression,
3049diagnostics As BindingDiagnosticBag) As BoundExpression
3107If(receiver IsNot Nothing, ImmutableArray.Create(receiver), ImmutableArray(Of BoundExpression).Empty),
3349Private Function AdjustReceiverNamespace(lookupResult As LookupResult, receiver As BoundExpression) As BoundExpression
3430Dim receiver As BoundExpression = namespaceReceiver.UnevaluatedReceiverOpt
3547Public Function BindLabel(node As LabelSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
3574ImmutableArray(Of BoundExpression).Empty,
3610Private Function CheckSharedSymbolAccess(node As SyntaxNode, isShared As Boolean, <[In], Out> ByRef receiver As BoundExpression, qualKind As QualificationKind, diagnostics As BindingDiagnosticBag) As Boolean
3638Dim instance As BoundExpression = TryDefaultInstanceProperty(DirectCast(receiver, BoundTypeExpression), diagnostics)
3690diagnostics As BindingDiagnosticBag) As BoundExpression
3695Private Function BindDictionaryAccess(node As MemberAccessExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
3697Dim left As BoundExpression
3741Dim boundArguments = ImmutableArray.Create(Of BoundExpression)(arg)
3752Dim defaultPropertyGroup As BoundExpression = BindDefaultPropertyGroup(node, left, diagnostics)
3765boundArguments:=ImmutableArray.Create(Of BoundExpression)(arg),
3806Private Shared Sub ReportNoDefaultProperty(expr As BoundExpression, diagnostics As BindingDiagnosticBag)
3824Private Shared Sub ReportQualNotObjectRecord(expr As BoundExpression, diagnostics As BindingDiagnosticBag)
3829Private Shared Sub ReportDefaultMemberNotProperty(expr As BoundExpression, diagnostics As BindingDiagnosticBag)
3836Private Shared Function GenerateBadExpression(node As InvocationExpressionSyntax, target As BoundExpression, boundArguments As ImmutableArray(Of BoundExpression)) As BoundExpression
3837Dim children = ArrayBuilder(Of BoundExpression).GetInstance()
3883Private Function BindArrayAccess(node As InvocationExpressionSyntax, expr As BoundExpression, boundArguments As ImmutableArray(Of BoundExpression), argumentNames As ImmutableArray(Of String), diagnostics As BindingDiagnosticBag) As BoundExpression
3891Dim convertedArguments = ArrayBuilder(Of BoundExpression).GetInstance(boundArguments.Length)
4045Private Function BindArrayCreationExpression(node As ArrayCreationExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
4052Dim boundArguments As ImmutableArray(Of BoundExpression) = Nothing
4076diagnostics As BindingDiagnosticBag) As BoundExpression
4095Dim sizes As ImmutableArray(Of BoundExpression) = CreateArrayBounds(node, knownSizes, diagnostics)
4100Private Function CreateArrayBounds(node As SyntaxNode, knownSizes() As DimensionSize, diagnostics As BindingDiagnosticBag) As ImmutableArray(Of BoundExpression)
4102Dim sizes = New BoundExpression(rank - 1) {}
4179Dim initializers As ArrayBuilder(Of BoundExpression) = ArrayBuilder(Of BoundExpression).GetInstance
4202allInitializers As ArrayBuilder(Of BoundExpression),
4206Dim initializers = ArrayBuilder(Of BoundExpression).GetInstance
4231Dim boundExpression As BoundExpression
4260init = New BoundArrayInitialization(expr, ImmutableArray(Of BoundExpression).Empty, arrayInitType, hasErrors:=True)
4311Optional errorOnEmptyBound As Boolean = False) As ImmutableArray(Of BoundExpression)
4318Dim boundArgumentsBuilder As ArrayBuilder(Of BoundExpression) = ArrayBuilder(Of BoundExpression).GetInstance
4332Dim upperBound As BoundExpression = Nothing
4450Expressions As ArrayBuilder(Of BoundExpression),
4487For Each expression As BoundExpression In Expressions
4613) As BoundExpression
4621Dim operand As BoundExpression = BindExpression(node.Expression, diagnostics)
4628operand As BoundExpression,
4631) As BoundExpression
4675Dim getAwaiter As BoundExpression = Nothing
4676Dim isCompleted As BoundExpression = Nothing
4677Dim getResult As BoundExpression = Nothing
4728ImmutableArray(Of BoundExpression).Empty,
4777ImmutableArray(Of BoundExpression).Empty,
4826ImmutableArray(Of BoundExpression).Empty,
Binding\Binder_Initializers.vb (16)
280Dim fieldAccess As BoundExpression = New BoundFieldAccess(firstFieldSymbol.Syntax,
287Dim boundInitExpression As BoundExpression = BindFieldInitializerExpression(equalsValueOrAsNewSyntax, firstFieldSymbol, diagnostics)
315Friend Function BindFieldInitializerExpression(equalsValueOrAsNewSyntax As SyntaxNode, fieldSymbol As FieldSymbol, diagnostics As BindingDiagnosticBag) As BoundExpression
326Dim boundInitExpression As BoundExpression = BindFieldOrPropertyInitializerExpression(equalsValueOrAsNewSyntax,
347Dim boundPropertyOrFieldAccess As BoundExpression
367arguments:=ImmutableArray(Of BoundExpression).Empty,
376Dim boundInitExpression As BoundExpression = BindPropertyInitializerExpression(initValueOrAsNewNode, propertySymbol, diagnostics)
384Friend Function BindPropertyInitializerExpression(initValueOrAsNewNode As SyntaxNode, propertySymbol As PropertySymbol, diagnostics As BindingDiagnosticBag) As BoundExpression
396) As BoundExpression
397Dim boundInitExpression As BoundExpression = Nothing
497) As BoundExpression
499Dim boundInitValue As BoundExpression = Nothing
593<Out> ByRef constValue As ConstantValue) As BoundExpression
596Dim valueExpression As BoundExpression = Nothing
649) As BoundExpression
652Dim boundInitValue As BoundExpression = BindValue(equalsValueSyntax.Value, diagnostics)
Binding\Binder_Invocation.vb (86)
23receiver As BoundExpression,
73Dim receiver As BoundExpression = boundMemberGroup.ReceiverOpt
105Private Function BindDirectConstructorCall(node As InvocationExpressionSyntax, group As BoundMethodGroup, diagnostics As BindingDiagnosticBag) As BoundExpression
106Dim boundArguments As ImmutableArray(Of BoundExpression) = Nothing
161Private Function BindInvocationExpression(node As InvocationExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
164Dim target As BoundExpression
187Dim boundArguments As ImmutableArray(Of BoundExpression) = Nothing
214Dim instance As BoundExpression = TryDefaultInstanceProperty(typeExp, diagnostics)
253target As BoundExpression,
254boundArguments As ImmutableArray(Of BoundExpression),
259diagnostics As BindingDiagnosticBag) As BoundExpression
323Dim badExpressionChildren = ArrayBuilder(Of BoundExpression).GetInstance()
349Dim defaultPropertyGroup As BoundExpression = BindDefaultPropertyGroup(If(node.Expression, node), target, diagnostics)
393boundArguments As ImmutableArray(Of BoundExpression),
397diagnostics As BindingDiagnosticBag) As BoundExpression
411Dim result As BoundExpression = Nothing
422ImmutableArray(Of BoundExpression).Empty,
434Dim receiverOpt As BoundExpression = DirectCast(withoutArgs, BoundPropertyAccess).ReceiverOpt
442Dim receiverOpt As BoundExpression = DirectCast(withoutArgs, BoundCall).ReceiverOpt
520Private Function BindDefaultPropertyGroup(node As VisualBasicSyntaxNode, target As BoundExpression, diagnostics As BindingDiagnosticBag) As BoundExpression
522Dim defaultMemberGroup As BoundExpression = Nothing
727boundArguments As ImmutableArray(Of BoundExpression),
736) As BoundExpression
781Dim builder = ArrayBuilder(Of BoundExpression).GetInstance()
826boundArguments As ImmutableArray(Of BoundExpression),
828asyncLambdaSubToFunctionMismatch As ImmutableArray(Of BoundExpression),
831) As BoundExpression
848Dim argumentInfo As (Arguments As ImmutableArray(Of BoundExpression), DefaultArguments As BitVector) = PassArguments(node, bestResult, boundArguments, diagnostics)
854Dim receiver As BoundExpression = group.ReceiverOpt
868Dim resolvedTypeOrValueReceiver As BoundExpression = Nothing
931Dim newReceiver As BoundExpression = If(receiver IsNot Nothing, Nothing, If(resolvedTypeOrValueReceiver, methodGroup.ReceiverOpt))
969Dim newReceiver As BoundExpression = If(receiver IsNot Nothing, Nothing, If(resolvedTypeOrValueReceiver, propertyGroup.ReceiverOpt))
1013Friend Sub WarnOnRecursiveAccess(node As BoundExpression, accessKind As PropertyAccessKind, diagnostics As BindingDiagnosticBag)
1028receiver As BoundExpression,
1032) As BoundExpression
1039Dim oldReceiver As BoundExpression = receiver
1084arguments As ImmutableArray(Of BoundExpression),
1192boundArguments As ImmutableArray(Of BoundExpression),
1202) As BoundExpression
1222boundArguments As ImmutableArray(Of BoundExpression),
1233) As BoundExpression
1244Dim result As BoundExpression = ReportOverloadResolutionFailureAndProduceBoundNode(
1272boundArguments As ImmutableArray(Of BoundExpression),
1280) As BoundExpression
1347boundArguments As ImmutableArray(Of BoundExpression),
1357) As BoundExpression
1369boundArguments = ImmutableArray(Of BoundExpression).Empty
1623Dim childBoundNodes As ImmutableArray(Of BoundExpression)
1627childBoundNodes = ImmutableArray(Of BoundExpression).Empty
1629childBoundNodes = ImmutableArray.Create(Of BoundExpression)(groupOpt)
1632Dim builder = ArrayBuilder(Of BoundExpression).GetInstance()
1831arguments As ImmutableArray(Of BoundExpression),
1841arguments = ImmutableArray(Of BoundExpression).Empty
1938arguments As ImmutableArray(Of BoundExpression),
1984arguments As ImmutableArray(Of BoundExpression),
1999arguments = ImmutableArray(Of BoundExpression).Empty
2304Dim argument As BoundExpression = Nothing
2477argument As BoundExpression,
2546argument As BoundExpression,
2634arguments As ImmutableArray(Of BoundExpression),
2636) As (Arguments As ImmutableArray(Of BoundExpression), DefaultArguments As BitVector)
2641arguments = ImmutableArray(Of BoundExpression).Empty
2647Dim argumentsInOrder = ArrayBuilder(Of BoundExpression).GetInstance(paramCount)
2704Dim argument As BoundExpression = Nothing
2711Dim items = ArrayBuilder(Of BoundExpression).GetInstance(paramArrayItems.Count)
2723(New BoundExpression() {New BoundLiteral(node,
2781Dim adjustedArgument As BoundExpression = PassArgument(argument, conversion, candidateIsAProperty, conversionBack, targetType, param, diagnostics)
2800argument As BoundExpression,
2807) As BoundExpression
2823argument As BoundExpression,
2829) As BoundExpression
2931Dim argBuilder As ArrayBuilder(Of BoundExpression) = Nothing
2938argBuilder = ArrayBuilder(Of BoundExpression).GetInstance
2961argument As BoundExpression,
2965) As BoundExpression
2981ByRef boundArguments As ImmutableArray(Of BoundExpression),
3011ByRef boundArguments As ImmutableArray(Of BoundExpression),
3025Dim boundArgumentsBuilder As ArrayBuilder(Of BoundExpression) = ArrayBuilder(Of BoundExpression).GetInstance
3102arguments As ImmutableArray(Of BoundExpression),
3103reducedExtensionReceiverOpt As BoundExpression) As BoundExpression
3104Dim defaultArgument As BoundExpression = Nothing
3190Dim convertedValue As BoundExpression = ApplyImplicitConversion(syntax, param.Type, literal, ignoreDiagnostics)
3274ImmutableArray.Create(Of BoundExpression)(argument),
Binding\Binder_ObjectInitializer.vb (34)
16) As BoundExpression
34Dim boundArguments As ImmutableArray(Of BoundExpression) = Nothing
42Dim boundNodes = ArrayBuilder(Of BoundExpression).GetInstance()
49Dim boundInitializer As BoundExpression =
77) As BoundExpression
124arguments:=ImmutableArray(Of BoundExpression).Empty,
136Dim boundArguments As ImmutableArray(Of BoundExpression) = Nothing
160arguments As ImmutableArray(Of BoundExpression),
161diagnostics As BindingDiagnosticBag) As BoundExpression
175boundArguments As ImmutableArray(Of BoundExpression),
177) As ImmutableArray(Of BoundExpression)
192boundArguments As ImmutableArray(Of BoundExpression),
197) As BoundExpression
349Dim resultExpression As BoundExpression
430Dim children = ArrayBuilder(Of BoundExpression).GetInstance()
465Dim argumentInfo As (Arguments As ImmutableArray(Of BoundExpression), DefaultArguments As BitVector) = PassArguments(typeNode, methodResult, boundArguments, diagnostics)
480Dim children = ArrayBuilder(Of BoundExpression).GetInstance()
515boundArguments As ImmutableArray(Of BoundExpression),
518) As BoundExpression
615Dim boundAssignmentValues(initializerCount - 1) As BoundExpression
632Dim memberAssignments = ArrayBuilder(Of BoundExpression).GetInstance
646Dim target As BoundExpression
733Dim assignmentOperator As BoundExpression = BindAssignment(namedFieldInitializer, target, value, diagnostics)
768Dim unusedExpression As BoundExpression = Nothing
837Dim addInvocationExpressions As ImmutableArray(Of BoundExpression)
856Dim addInvocations(initializerCount - 1) As BoundExpression
887) As BoundExpression
889Dim arguments = ArrayBuilder(Of BoundExpression).GetInstance
950Private ReadOnly _receiver As BoundExpression
952Public Sub New(containingBinder As Binder, receiver As BoundExpression)
966) As BoundExpression
971Protected Friend Overrides Function TryBindOmittedLeftForXmlMemberAccess(node As XmlMemberAccessExpressionSyntax, diagnostics As BindingDiagnosticBag, accessingBinder As Binder) As BoundExpression
982) As BoundExpression
987Protected Overrides Function TryBindOmittedLeftForConditionalAccess(node As ConditionalAccessExpressionSyntax, accessingBinder As Binder, diagnostics As BindingDiagnosticBag) As BoundExpression
Binding\Binder_Operators.vb (47)
19) As BoundExpression
25Dim left As BoundExpression = BindExpression(node.Left, diagnostics)
26Dim right As BoundExpression = BindExpression(node.Right, diagnostics)
32left As BoundExpression,
33right As BoundExpression,
37) As BoundExpression
44Dim result As BoundExpression
64targetArgument As BoundExpression,
65otherArgument As BoundExpression,
68) As BoundExpression
71Dim result As BoundExpression
123) As BoundExpression
178Dim left As BoundExpression = BindValue(child, diagnostics, propagateIsOperandOfConditionalBranch)
183Dim right As BoundExpression = BindValue(binary.Right, diagnostics, propagateIsOperandOfConditionalBranch)
198left As BoundExpression,
199right As BoundExpression,
205) As BoundExpression
440Dim beforeConversion As BoundExpression = left
521Dim result As BoundExpression = New BoundBinaryOperator(node, operatorKind Or If(isOperandOfConditionalBranch, BinaryOperatorKind.IsOperandOfConditionalBranch, Nothing),
540Private Function ForceLiftToEmptyString(left As BoundExpression, stringType As TypeSymbol, diagnostics As BindingDiagnosticBag) As BoundExpression
558left As BoundExpression,
559right As BoundExpression,
567Dim result As BoundExpression
578ImmutableArray.Create(Of BoundExpression)(left, right),
588ImmutableArray.Create(Of BoundExpression)(left, right),
624left As BoundExpression,
625right As BoundExpression,
635Dim leftOperand As BoundExpression = Nothing
637Dim test As BoundExpression = Nothing
715Dim argumentInfo As (Arguments As ImmutableArray(Of BoundExpression), DefaultArguments As BitVector) =
716PassArguments(node, bitwiseAnalysis, ImmutableArray.Create(Of BoundExpression)(left, right), diagnostics)
727ImmutableArray.Create(Of BoundExpression)(leftPlaceholder, argumentInfo.Arguments(1)),
767operand As BoundExpression,
782ByRef dbNullOperand As BoundExpression,
897Private Shared Function IsKnownToBeNullableNothing(expr As BoundExpression) As Boolean
931left As BoundExpression,
932right As BoundExpression,
977ByRef left As BoundExpression,
978ByRef right As BoundExpression,
1104Private Function BindUnaryOperator(node As UnaryExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
1106Dim operand As BoundExpression = BindValue(node.Operand, diagnostics)
1210operand As BoundExpression,
1216Dim result As BoundExpression
1229ImmutableArray.Create(Of BoundExpression)(operand),
1239ImmutableArray.Create(Of BoundExpression)(operand),
1249operand As BoundExpression,
Binding\Binder_Query.vb (140)
33expression As BoundExpression,
38Friend Overridable Function BindGroupAggregationExpression(group As GroupAggregationSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
45Friend Overridable Function BindFunctionAggregationExpression([function] As FunctionAggregationSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
59) As BoundExpression
229Dim aggregationSelector As BoundExpression = Nothing
246Dim selectors = New BoundExpression(aggregationVariablesCount - 1) {}
261Dim result As BoundExpression = BindAnonymousObjectCreationExpression(aggregate,
324Dim letSelector As BoundExpression = letSelectorBinder.BindAggregateClauseFirstSelector(aggregate, operatorsEnumerator,
343Dim underlyingExpression As BoundExpression
346underlyingExpression = BadExpression(aggregate, ImmutableArray.Create(Of BoundExpression)(source, letSelectorLambda),
358ImmutableArray.Create(Of BoundExpression)(letSelectorLambda),
381firstSelectExpression As BoundExpression,
445Dim compoundKeyReferencePart1 As BoundExpression
447Dim compoundKeyReferencePart2 As BoundExpression
465ImmutableArray(Of BoundExpression).Empty).MakeCompilerGenerated()
483ImmutableArray(Of BoundExpression).Empty).MakeCompilerGenerated()
505ImmutableArray(Of BoundExpression).Empty).MakeCompilerGenerated()
518Dim selectSelector As BoundExpression = intoBinder.BindIntoSelector(aggregate,
538Dim underlyingExpression As BoundExpression
541underlyingExpression = BadExpression(aggregate, ImmutableArray.Create(Of BoundExpression)(letOperator, selectSelectorLambda),
553ImmutableArray.Create(Of BoundExpression)(selectSelectorLambda),
602Dim selector As BoundExpression = New BoundParameter(param.Syntax,
621Dim boundCallOrBadExpression As BoundExpression
624ImmutableArray.Create(Of BoundExpression)(selectorLambda),
668Dim selector As BoundExpression = selectorBinder.BindSelectClauseSelector(clauseSyntax,
682Dim boundCallOrBadExpression As BoundExpression
685boundCallOrBadExpression = BadExpression(clauseSyntax, ImmutableArray.Create(Of BoundExpression)(source, selectorLambda),
695ImmutableArray.Create(Of BoundExpression)(selectorLambda),
805Dim selector As BoundExpression = selectorBinder.BindLetClauseVariableSelector(variable,
819Dim boundCallOrBadExpression As BoundExpression
822boundCallOrBadExpression = BadExpression(variable, ImmutableArray.Create(Of BoundExpression)(source, selectorLambda),
841ImmutableArray.Create(Of BoundExpression)(selectorLambda),
1064Dim joinSelector As BoundExpression
1134Dim boundCallOrBadExpression As BoundExpression
1137boundCallOrBadExpression = BadExpression(variable, ImmutableArray.Create(Of BoundExpression)(source, manySelectorLambda, joinSelectorLambda),
1157ImmutableArray.Create(Of BoundExpression)(manySelectorLambda, joinSelectorLambda),
1458Dim joinSelector As BoundExpression
1516Dim boundCallOrBadExpression As BoundExpression
1519boundCallOrBadExpression = BadExpression(join, ImmutableArray.Create(Of BoundExpression)(outer, inner, outerKeyLambda, innerKeyLambda, joinSelectorLambda),
1534ImmutableArray.Create(Of BoundExpression)(inner, outerKeyLambda, innerKeyLambda, joinSelectorLambda),
1699Dim boundCallOrBadExpression As BoundExpression
1702boundCallOrBadExpression = BadExpression(groupJoin, ImmutableArray.Create(Of BoundExpression)(outer, inner, outerKeyLambda, innerKeyLambda, intoLambda),
1720ImmutableArray.Create(Of BoundExpression)(inner, outerKeyLambda, innerKeyLambda, intoLambda),
1792Dim groupByArguments() As BoundExpression
1805Dim boundCallOrBadExpression As BoundExpression
1809ImmutableArray.Create(Of BoundExpression)(source).AddRange(groupByArguments),
1978Dim groupByArguments() As BoundExpression
2058Dim groupJoinArguments() As BoundExpression = {inner, outerKeyLambda, innerKeyLambda, inferenceLambda}
2132Dim intoSelector As BoundExpression = intoBinder.BindIntoSelector(clauseSyntax,
2325Dim predicate As BoundExpression = filterBinder.BindValue(condition, diagnostics)
2345Dim convertedToBoolean As BoundExpression = filterBinder.ApplyImplicitConversion(condition,
2373Dim boundCallOrBadExpression As BoundExpression
2376boundCallOrBadExpression = BadExpression(operatorSyntax, ImmutableArray.Create(Of BoundExpression)(source, filterLambda),
2386ImmutableArray.Create(Of BoundExpression)(filterLambda),
2413Dim boundCallOrBadExpression As BoundExpression
2422ImmutableArray(Of BoundExpression).Empty,
2478Dim boundCount As BoundExpression = Me.BindValue(partition.Count, diagnostics)
2481Dim boundCallOrBadExpression As BoundExpression
2560Dim key As BoundExpression = keyBinder.BindValue(ordering.Expression, diagnostics)
2570Dim boundCallOrBadExpression As BoundExpression
2573boundCallOrBadExpression = BadExpression(ordering, ImmutableArray.Create(Of BoundExpression)(sourceOrPreviousOrdering, keyLambda),
2607ImmutableArray.Create(Of BoundExpression)(keyLambda),
2690) As BoundExpression
2737) As BoundExpression
2740Dim selector As BoundExpression
2767Dim selectors = New BoundExpression(selectVariables.Count - 1) {}
2813<Out()> ByRef selector As BoundExpression,
2935) As BoundExpression
2938Dim selector As BoundExpression = Nothing
2986) As BoundExpression
3003Dim letSelector As BoundExpression
3034Dim compoundKeyReferencePart1 As BoundExpression
3036Dim compoundKeyReferencePart2 As BoundExpression
3118) As BoundExpression
3125Dim joinSelector As BoundExpression
3179Optional rangeVarValueOpt As BoundExpression = Nothing
3180) As BoundExpression
3185Dim selectors As BoundExpression()
3209selectors = New BoundExpression(lastIndex) {}
3224selectors = New BoundExpression(lastIndex) {}
3293Dim outerKey As BoundExpression
3294Dim innerKey As BoundExpression
3328Dim outerKeys(joinConditions.Count - 1) As BoundExpression
3329Dim innerKeys(joinConditions.Count - 1) As BoundExpression
3393<Out()> ByRef outerKey As BoundExpression,
3396<Out()> ByRef innerKey As BoundExpression,
3419Dim left As BoundExpression = outerKeyBinder.BindRValue(joinCondition.Left, diagnostics)
3439Dim right As BoundExpression = innerKeyBinder.BindRValue(joinCondition.Right, diagnostics)
3524outerKey As BoundExpression,
3527innerKey As BoundExpression,
3649Public Function DetermineTheSide(node As BoundExpression, diagnostics As BindingDiagnosticBag) As Result
3700node As BoundExpression,
3734Protected ReadOnly m_GroupReference As BoundExpression
3741groupReference As BoundExpression,
3756) As BoundExpression
3766compoundKeyReferencePart1 As BoundExpression,
3768compoundKeyReferencePart2 As BoundExpression,
3775) As BoundExpression
3784Dim selectors As BoundExpression()
3793Dim intoSelector As BoundExpression
3803selectors = New BoundExpression(fieldsToReserveForAggregationVariables + 1 - 1) {}
3813selectors = New BoundExpression(fieldsToReserveForAggregationVariables + 2 - 1) {}
3832selectors = New BoundExpression(keys + fieldsToReserveForAggregationVariables - 1) {}
3855Dim selector As BoundExpression = Nothing
3907) As BoundExpression
3929Dim arguments As ImmutableArray(Of BoundExpression)
3933arguments = ImmutableArray(Of BoundExpression).Empty
3948arguments = ImmutableArray.Create(Of BoundExpression)(aggregationLambda)
3952Dim boundCallOrBadExpression As BoundExpression
4011<Out()> ByRef selector As BoundExpression,
4103groupReference As BoundExpression,
4111Friend Overrides Function BindGroupAggregationExpression(group As GroupAggregationSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
4132Dim queryable As BoundExpression = ConvertToQueryableType(source, diagnostics, variableType)
4273Dim selector As BoundExpression = selectorBinder.ApplyImplicitConversion(syntax.AsClause, targetVariableType,
4292Dim boundCallOrBadExpression As BoundExpression
4295ImmutableArray.Create(Of BoundExpression)(selectorLambda),
4320source As BoundExpression,
4323) As BoundExpression
4349Dim result As BoundExpression = Nothing
4353Dim asQueryable As BoundExpression = BindQueryOperatorCall(source.Syntax, source, StringConstants.AsQueryableMethod,
4354ImmutableArray(Of BoundExpression).Empty,
4371Dim asEnumerable As BoundExpression = BindQueryOperatorCall(source.Syntax, source, StringConstants.AsEnumerableMethod,
4372ImmutableArray(Of BoundExpression).Empty,
4392Dim cast As BoundExpression = BindQueryOperatorCall(source.Syntax, source, StringConstants.CastMethod,
4395ImmutableArray(Of BoundExpression).Empty,
4417Private Function InferControlVariableType(source As BoundExpression, diagnostics As BindingDiagnosticBag) As TypeSymbol
4551source As BoundExpression,
4589source As BoundExpression,
4591arguments As ImmutableArray(Of BoundExpression),
4594) As BoundExpression
4606source As BoundExpression,
4609arguments As ImmutableArray(Of BoundExpression),
4612) As BoundExpression
4627source As BoundExpression,
4630arguments As ImmutableArray(Of BoundExpression),
4633) As BoundExpression
4639Dim boundCall As BoundExpression = Nothing
4674Dim arg As BoundExpression = arguments(i)
4689Dim childBoundNodes As ImmutableArray(Of BoundExpression)
4694Dim builder = ArrayBuilder(Of BoundExpression).GetInstance()
Binding\Binder_SelectCase.vb (18)
56Private Function BindSelectExpression(node As ExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
222Dim conditionOpt As BoundExpression = Nothing
223Dim operandE1 As BoundExpression = BindCaseClauseExpression(
252Dim conditionOpt As BoundExpression = Nothing
255Dim value As BoundExpression = BindCaseClauseExpression(
284Dim lowerBoundConditionOpt As BoundExpression = Nothing
287Dim lowerBound As BoundExpression = BindCaseClauseExpression(
298Dim upperBoundConditionOpt As BoundExpression = Nothing
299Dim upperBound As BoundExpression = BindCaseClauseExpression(
319ByRef conditionOpt As BoundExpression,
321) As BoundExpression
323Dim caseExpr As BoundExpression = BindValue(expressionSyntax, diagnostics)
400Dim caseStatementCondition As BoundExpression = Nothing
407Dim clauseCondition As BoundExpression = Nothing
454Private Function ComputeCaseClauseCondition(caseClause As BoundCaseClause, <Out()> ByRef conditionOpt As BoundExpression, selectExpression As BoundRValuePlaceholder, diagnostics As BindingDiagnosticBag) As BoundCaseClause
470Private Function ComputeRelationalCaseClauseCondition(boundClause As BoundRelationalCaseClause, <Out()> ByRef conditionOpt As BoundExpression, selectExpression As BoundRValuePlaceholder, diagnostics As BindingDiagnosticBag) As BoundCaseClause
488Private Function ComputeSimpleCaseClauseCondition(boundClause As BoundSimpleCaseClause, <Out()> ByRef conditionOpt As BoundExpression, selectExpression As BoundRValuePlaceholder, diagnostics As BindingDiagnosticBag) As BoundCaseClause
504Private Function ComputeRangeCaseClauseCondition(boundClause As BoundRangeCaseClause, <Out()> ByRef conditionOpt As BoundExpression, selectExpression As BoundRValuePlaceholder, diagnostics As BindingDiagnosticBag) As BoundCaseClause
Binding\Binder_Statements.vb (120)
487If Not _binder.IsInAsyncContext() AndAlso TypeOf node Is BoundExpression Then
698Dim boundIndices As ImmutableArray(Of BoundExpression) = ImmutableArray(Of BoundExpression).Empty
768Dim target As BoundExpression = BindAssignmentTarget(operand, diagnostics)
800Dim boundLabelExpression As BoundExpression = BindExpression(node.Label, diagnostics)
1091Dim declarationInitializer As BoundExpression = Nothing
1093Dim boundArrayBounds As ImmutableArray(Of BoundExpression) = Nothing
1269<Out()> ByRef valueExpression As BoundExpression,
1353Dim inferFrom As BoundExpression = valueExpression
1432<Out()> ByRef fromValueExpression As BoundExpression,
1433<Out()> ByRef toValueExpression As BoundExpression,
1434<Out()> ByRef stepValueExpression As BoundExpression,
1471Dim array = ArrayBuilder(Of BoundExpression).GetInstance(2)
1506<Out()> ByRef collectionExpression As BoundExpression,
1510<Out()> ByRef boundGetEnumeratorCall As BoundExpression,
1512<Out()> ByRef boundMoveNextCall As BoundExpression,
1513<Out()> ByRef boundCurrentAccess As BoundExpression,
1584valueExpression As BoundExpression,
1896Friend Function AdjustAssignmentTarget(node As SyntaxNode, op1 As BoundExpression, diagnostics As BindingDiagnosticBag, ByRef isError As Boolean) As BoundExpression
1976Private Function BindAssignment(node As SyntaxNode, op1 As BoundExpression, op2 As BoundExpression, diagnostics As BindingDiagnosticBag) As BoundAssignmentOperator
1996left As BoundExpression,
1997right As BoundExpression,
2007Dim assignmentTarget As BoundExpression = AdjustAssignmentTarget(node, left, diagnostics, isError)
2009Dim rValue As BoundExpression
2105Dim op1 As BoundExpression = Me.BindAssignmentTarget(node.Left, diagnostics)
2106Dim op2 As BoundExpression = Me.BindValue(node.Right, diagnostics)
2176Dim target As BoundExpression = BindAssignmentTarget(targetSyntax, diagnostics)
2181Dim start As BoundExpression = ApplyImplicitConversion(startSyntax, int32, BindValue(startSyntax, diagnostics), diagnostics)
2183Dim lengthOpt As BoundExpression = Nothing
2194Dim source As BoundExpression = ApplyImplicitConversion(node.Right, stringType, BindValue(node.Right, diagnostics), diagnostics)
2199Dim assignmentTarget As BoundExpression = AdjustAssignmentTarget(targetSyntax, target, diagnostics, isError)
2209Dim original As BoundExpression
2221Dim right As BoundExpression = New BoundMidResult(node,
2242Dim eventAccess As BoundExpression = BindEventAccess(node.EventExpression, diagnostics, actualEventAccess, eventSymbol)
2249Dim toCheck As BoundExpression = handlerExpression
2366<Out()> ByRef eventSymbol As EventSymbol) As BoundExpression
2383Dim errorRecovery As BoundExpression = BindRValue(node, BindingDiagnosticBag.Discarded)
2391Dim result As BoundExpression
2433Dim target As BoundExpression = BindSimpleName(node.Name, False, diagnostics, skipLocalsAndParameters:=True)
2446Dim boundArguments As ImmutableArray(Of BoundExpression) = Nothing
2453Dim receiver As BoundExpression
2583Dim boundExpression As BoundExpression
2603Private Sub WarnOnUnobservedCallThatReturnsAnAwaitable(statement As ExpressionStatementSyntax, boundExpression As BoundExpression, diagnostics As BindingDiagnosticBag)
2676Dim boundExpression As BoundExpression = BindRValue(printStmt.Expression, diagnostics)
2681Dim boundInvocation As BoundExpression = BindInvocationExpressionAsStatement(callStmt.Invocation, diagnostics)
2686Private Function BindInvocationExpressionAsStatement(expression As ExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
2690Friend Function ReclassifyInvocationExpressionAsStatement(boundInvocation As BoundExpression, diagnostics As BindingDiagnosticBag) As BoundExpression
2731Dim condition As BoundExpression
2751Dim conditions As ArrayBuilder(Of BoundExpression) = ArrayBuilder(Of BoundExpression).GetInstance()
2788Dim topCondition As BoundExpression = Nothing
2789Dim bottomCondition As BoundExpression = Nothing
2824Dim condition As BoundExpression = BindBooleanExpression(node.WhileStatement.Condition, diagnostics)
2848Dim controlVariable As BoundExpression = Nothing
2878Dim controlVariable As BoundExpression = Nothing
2880Dim nextVariables As ImmutableArray(Of BoundExpression) = Nothing
2911<Out()> ByRef controlVariable As BoundExpression,
3011<Out()> ByRef nextVariables As ImmutableArray(Of BoundExpression),
3029nextVariables = ImmutableArray(Of BoundExpression).Empty
3038Dim nextVariableBuilder As ArrayBuilder(Of BoundExpression) = ArrayBuilder(Of BoundExpression).GetInstance
3075controlVariableOpt As BoundExpression,
3082Dim initialValue As BoundExpression = Nothing
3083Dim limit As BoundExpression = Nothing
3084Dim stepValue As BoundExpression = Nothing
3181Dim lessThanOrEqual As BoundExpression = BindForLoopUserDefinedOperator(syntax, BinaryOperatorKind.LessThanOrEqual, leftOperandPlaceholder, rightOperandPlaceholder, diagnostics)
3187Dim greaterThanOrEqual As BoundExpression = BindForLoopUserDefinedOperator(syntax, BinaryOperatorKind.GreaterThanOrEqual, leftOperandPlaceholder, rightOperandPlaceholder, diagnostics)
3217Dim nextVariables As ImmutableArray(Of BoundExpression) = Nothing
3243left As BoundExpression,
3244right As BoundExpression,
3328controlVariableOpt As BoundExpression,
3340Dim boundGetEnumeratorCall As BoundExpression = Nothing
3342Dim boundMoveNextCall As BoundExpression = Nothing
3343Dim boundCurrentAccess As BoundExpression = Nothing
3346Dim boundDisposeCondition As BoundExpression = Nothing
3347Dim boundDisposeCast As BoundExpression = Nothing
3349Dim boundCurrentConversion As BoundExpression = Nothing
3352Dim collection As BoundExpression = Nothing
3416Dim boundElement As BoundExpression
3499Dim nextVariables As ImmutableArray(Of BoundExpression) = Nothing
3561<Out()> ByRef controlVariable As BoundExpression,
3598Private Function VerifyForLoopControlReference(controlVariable As BoundExpression, diagnostics As BindingDiagnosticBag) As Boolean
3679collection As BoundExpression,
3683<Out()> ByRef boundGetEnumeratorCall As BoundExpression,
3685<Out()> ByRef boundMoveNextCall As BoundExpression,
3686<Out()> ByRef boundCurrentAccess As BoundExpression,
3691) As BoundExpression
4030collection As BoundExpression,
4032<Out()> ByRef boundGetEnumeratorCall As BoundExpression,
4034<Out()> ByRef boundMoveNextCall As BoundExpression,
4035<Out()> ByRef boundCurrentAccess As BoundExpression,
4192) As BoundExpression
4196ImmutableArray(Of BoundExpression).Empty,
4411Dim resourceExpression As BoundExpression = Nothing
4421Dim placeholderInfo = New Dictionary(Of TypeSymbol, ValueTuple(Of BoundRValuePlaceholder, BoundExpression, BoundExpression))()
4531placeholderInfo As Dictionary(Of TypeSymbol, ValueTuple(Of BoundRValuePlaceholder, BoundExpression, BoundExpression)),
4566placeholderInfo As Dictionary(Of TypeSymbol, ValueTuple(Of BoundRValuePlaceholder, BoundExpression, BoundExpression)),
4585Dim disposeConversion As BoundExpression = Nothing
4586Dim disposeCondition As BoundExpression = Nothing
4597New ValueTuple(Of BoundRValuePlaceholder, BoundExpression, BoundExpression)(
4698Dim lockExpression As BoundExpression = BindRValue(node.SyncLockStatement.Expression, diagnostics)
4755Dim exceptionSource As BoundExpression = Nothing
4756Dim exceptionFilter As BoundExpression = Nothing
4780Dim originalExceptionValue As BoundExpression = exceptionSource
4918Private Function BindBooleanExpression(node As ExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
4920Dim expr As BoundExpression = Me.BindValue(node, diagnostics, isOperandOfConditionalBranch:=True)
4994Dim arg As BoundExpression = Me.BindValue(expressionSyntax, diagnostics)
5001Dim arg As BoundExpression = Nothing
5106Dim arg As BoundExpression = Me.BindValue(expressionSyntax, diagnostics)
5183Dim value As BoundExpression = BindRValue(expressionSyntax, diagnostics)
5204Dim value As BoundExpression = ApplyImplicitConversion(node.ErrorNumber,
5230Dim boundLabelExpression As BoundExpression = BindExpression(node.Label, diagnostics)
5269Dim boundLabelExpression As BoundExpression = BindExpression(onError.Label, diagnostics)
Binding\Binder_XmlLiterals.vb (82)
18diagnostics As BindingDiagnosticBag) As BoundExpression
27ImmutableArray.Create(Of BoundExpression)(str),
32Private Function BindXmlDocument(syntax As XmlDocumentSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
42ImmutableArray.Create(Of BoundExpression)(declaration, New BoundLiteral(syntax, ConstantValue.Nothing, Nothing)),
45Dim childNodeBuilder = ArrayBuilder(Of BoundExpression).GetInstance()
56Private Function BindXmlDeclaration(syntax As XmlDeclarationSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
63ImmutableArray.Create(Of BoundExpression)(version, encoding, standalone),
77Private Function BindXmlProcessingInstruction(syntax As XmlProcessingInstructionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
83ImmutableArray.Create(Of BoundExpression)(target, data),
91diagnostics As BindingDiagnosticBag) As BoundExpression
98diagnostics As BindingDiagnosticBag) As BoundExpression
109diagnostics As BindingDiagnosticBag) As BoundExpression
149diagnostics As BindingDiagnosticBag) As BoundExpression
155Dim argument As BoundExpression
188ImmutableArray.Create(Of BoundExpression)(argument),
191Dim childNodeBuilder = ArrayBuilder(Of BoundExpression).GetInstance()
218objectCreation As BoundExpression,
219childNodes As ImmutableArray(Of BoundExpression),
228Dim sideEffectBuilder = ArrayBuilder(Of BoundExpression).GetInstance()
303sideEffectBuilder.Add(BindInvocationExpressionIfGroupNotNothing(syntax, addGroup, ImmutableArray.Create(Of BoundExpression)(expr), diagnostics))
307Dim xmlnsAttributes As BoundExpression = Nothing
319sideEffectBuilder.Add(BindInvocationExpressionIfGroupNotNothing(syntax, addGroup, ImmutableArray.Create(Of BoundExpression)(attribute), diagnostics))
326xmlnsAttributes = BindObjectCreationExpression(syntax, xmlnsAttributesPlaceholder.Type, ImmutableArray(Of BoundExpression).Empty, diagnostics).MakeCompilerGenerated()
327sideEffectBuilder.Add(BindInvocationExpressionIfGroupNotNothing(syntax, addGroup, ImmutableArray.Create(Of BoundExpression)(xmlnsAttributesPlaceholder), diagnostics))
346expr As BoundExpression,
351diagnostics As BindingDiagnosticBag) As BoundExpression
369ImmutableArray.Create(Of BoundExpression)(prefixesPlaceholder, namespacesPlaceholder, xmlnsAttributesPlaceholder, expr),
399diagnostics As BindingDiagnosticBag) As BoundExpression
415prefix As BoundExpression,
416[namespace] As BoundExpression,
422Dim objectCreation As BoundExpression
426ImmutableArray.Create(Of BoundExpression)(prefix, [namespace]),
431objectCreation = BindInvocationExpressionIfGroupNotNothing(syntax, group, ImmutableArray.Create(Of BoundExpression)(prefix, [namespace]), diagnostics)
447Dim name As BoundExpression
474Dim value As BoundExpression
475Dim objectCreation As BoundExpression
490ImmutableArray.Create(Of BoundExpression)(name, value),
503ImmutableArray.Create(Of BoundExpression)(name, value),
540Private Function BindXmlEmbeddedExpression(syntax As XmlEmbeddedExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
551childNodeBuilder As ArrayBuilder(Of BoundExpression),
601Private Sub BindXmlContent(content As SyntaxList(Of XmlNodeSyntax), childNodeBuilder As ArrayBuilder(Of BoundExpression), rootInfoOpt As XmlElementRootInfo, diagnostics As BindingDiagnosticBag)
607Private Function BindXmlContent(syntax As XmlNodeSyntax, rootInfoOpt As XmlElementRootInfo, diagnostics As BindingDiagnosticBag) As BoundExpression
635Private Function BindXmlAttributeAccess(syntax As XmlMemberAccessExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
645Dim memberAccess As BoundExpression = Nothing
666memberAccess = BindInvocationExpressionIfGroupNotNothing(syntax, group, ImmutableArray.Create(Of BoundExpression)(receiver, name), diagnostics)
680Private Function BindXmlElementAccess(syntax As XmlMemberAccessExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
684Private Function BindXmlDescendantAccess(syntax As XmlMemberAccessExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
688Private Function BindXmlElementAccess(syntax As XmlMemberAccessExpressionSyntax, memberName As String, typeDisallowsError As ERRID, diagnostics As BindingDiagnosticBag) As BoundExpression
695Dim memberAccess As BoundExpression = Nothing
701Dim arguments As ImmutableArray(Of BoundExpression) = Nothing
713arguments = ImmutableArray.Create(Of BoundExpression)(name)
720arguments = ImmutableArray.Create(Of BoundExpression)(receiver, name)
740Private Function BindXmlMemberAccessReceiver(syntax As XmlMemberAccessExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
742Dim receiver As BoundExpression
766diagnostics As BindingDiagnosticBag) As BoundExpression
782diagnostics As BindingDiagnosticBag) As BoundExpression
851Private Function BindXmlName(syntax As VisualBasicSyntaxNode, localName As BoundExpression, [namespace] As BoundExpression, diagnostics As BindingDiagnosticBag) As BoundExpression
858Dim objectCreation = BindInvocationExpressionIfGroupNotNothing(syntax, group, ImmutableArray.Create(Of BoundExpression)(localName, [namespace]), diagnostics)
862Private Function BindGetXmlNamespace(syntax As GetXmlNamespaceExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
868Dim expr As BoundExpression
887Private Function BindXmlNamespace(syntax As VisualBasicSyntaxNode, [namespace] As BoundExpression, diagnostics As BindingDiagnosticBag) As BoundExpression
894Dim objectCreation = BindInvocationExpressionIfGroupNotNothing(syntax, group, ImmutableArray.Create(Of BoundExpression)([namespace]), diagnostics)
910Private Function BindXmlCData(syntax As XmlCDataSectionSyntax, rootInfoOpt As XmlElementRootInfo, diagnostics As BindingDiagnosticBag) As BoundExpression
919ImmutableArray.Create(Of BoundExpression)(value),
955Private Function GetXmlMethodOrPropertyGroup(syntax As VisualBasicSyntaxNode, type As NamedTypeSymbol, memberName As String, receiverOpt As BoundExpression, diagnostics As BindingDiagnosticBag) As BoundMethodOrPropertyGroup
1017Private Function BindInvocationExpressionIfGroupNotNothing(syntax As SyntaxNode, groupOpt As BoundMethodOrPropertyGroup, arguments As ImmutableArray(Of BoundExpression), diagnostics As BindingDiagnosticBag) As BoundExpression
1090Dim [namespace] As BoundExpression = Nothing
1171<Out()> ByRef [namespace] As BoundExpression,
1347expr As BoundExpression,
1350diagnostics As BindingDiagnosticBag) As BoundExpression
1368Public Sub New(objectCreation As BoundExpression)
1371Me.SideEffects = ImmutableArray(Of BoundExpression).Empty
1378objectCreation As BoundExpression,
1380xmlnsAttributes As BoundExpression,
1385sideEffects As ImmutableArray(Of BoundExpression))
1409Public ReadOnly ObjectCreation As BoundExpression
1411Public ReadOnly XmlnsAttributes As BoundExpression
1416Public ReadOnly SideEffects As ImmutableArray(Of BoundExpression)
Binding\SyntheticBoundTrees\AnonymousTypeSyntheticMethods.vb (34)
69Dim boundTryCast As BoundExpression = New BoundTryCast(syntax, boundObjReference, ConversionKind.NarrowingReference,
73Dim boundCallToEquals As BoundExpression = New BoundCall(syntax, Me._iEquatableEqualsMethod, Nothing,
74boundMeReference, ImmutableArray.Create(Of BoundExpression)(boundTryCast),
128Dim expression As BoundExpression = Nothing
161ImmutableArray(Of BoundExpression).Empty,
229Private Function BuildConditionsForFields(boundMe As BoundMeReference, boundOther As BoundParameter, boundNothing As BoundExpression,
230localMyFieldBoxed As LocalSymbol, localOtherFieldBoxed As LocalSymbol, booleanType As TypeSymbol) As BoundExpression
234Dim expression As BoundExpression = Nothing
239Dim condition As BoundExpression = BuildConditionForField([property], boundMe, boundOther, boundNothing, localMyFieldBoxed, localOtherFieldBoxed, booleanType)
258boundNothing As BoundExpression, localMyFieldBoxed As LocalSymbol, localOtherFieldBoxed As LocalSymbol,
259booleanType As TypeSymbol) As BoundExpression
268Dim condition As BoundExpression = BuildAndAlso(BuildIsCheck(boundLocalMyFieldBoxed, boundNothing, booleanType, reverse:=True),
273Dim boundCallToEquals As BoundExpression = New BoundCall(syntax,
276ImmutableArray.Create(Of BoundExpression)(boundLocalOtherFieldBoxed),
279Dim ternary As BoundExpression = New BoundTernaryConditionalExpression(syntax,
284Dim assignLocalMyField As BoundExpression = New BoundAssignmentOperator(syntax,
289Dim assignLocalOtherField As BoundExpression = New BoundAssignmentOperator(syntax,
296ImmutableArray.Create(Of BoundExpression)(assignLocalMyField, assignLocalOtherField),
301Private Function BuildBoxedFieldAccess(receiver As BoundExpression, field As FieldSymbol) As BoundExpression
308Private Function BuildIsCheck(left As BoundExpression, right As BoundExpression, booleanType As TypeSymbol, Optional reverse As Boolean = False) As BoundExpression
314Private Function BuildAndAlso(left As BoundExpression, right As BoundExpression, booleanType As TypeSymbol) As BoundExpression
319Private Function BuildOrElse(left As BoundExpression, right As BoundExpression, booleanType As TypeSymbol) As BoundExpression
342Dim boundFieldAccessArray(numberOfFields - 1) As BoundExpression
365Dim arrayInstantiation As BoundExpression = New BoundArrayCreation(syntax,
366ImmutableArray.Create(Of BoundExpression)(
373Dim [call] As BoundExpression = New BoundCall(syntax, formatMethod, Nothing, Nothing,
374ImmutableArray.Create(Of BoundExpression)(
BoundTree\BoundArrayCreation.vb (2)
13Public Sub New(syntax As SyntaxNode, bounds As ImmutableArray(Of BoundExpression), initializerOpt As BoundArrayInitialization, type As TypeSymbol, Optional hasErrors As Boolean = False)
17Public Sub New(syntax As SyntaxNode, bounds As ImmutableArray(Of BoundExpression), initializerOpt As BoundArrayInitialization, arrayLiteralOpt As BoundArrayLiteral, arrayLiteralConversion As ConversionKind, type As TypeSymbol, Optional hasErrors As Boolean = False)
BoundTree\BoundAssignmentOperator.vb (7)
12Public Sub New(syntax As SyntaxNode, left As BoundExpression, right As BoundExpression, suppressObjectClone As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False)
16Public Sub New(syntax As SyntaxNode, left As BoundExpression, right As BoundExpression, suppressObjectClone As Boolean, Optional hasErrors As Boolean = False)
22left As BoundExpression,
24right As BoundExpression,
142Private Shared Function IsByRefPropertyGet(node As BoundExpression) As Boolean
CodeGen\EmitExpression.vb (26)
25Private Sub EmitExpression(expression As BoundExpression, used As Boolean)
58Private Sub EmitExpressionCoreWithStackGuard(expression As BoundExpression, used As Boolean)
72Private Sub EmitExpressionCore(expression As BoundExpression, used As Boolean)
288Dim receiver As BoundExpression = conditional.ReceiverOrCondition
444Private Sub EmitDelegateCreation(receiver As BoundExpression, method As MethodSymbol, delegateType As TypeSymbol, used As Boolean, syntaxNode As SyntaxNode)
489Private Sub EmitMeOrMyClassReferenceExpression(thisRef As BoundExpression)
530Private Sub EmitSideEffects(sideEffects As ImmutableArray(Of BoundExpression))
538Private Sub EmitExpressions(expressions As ImmutableArray(Of BoundExpression), used As Boolean)
547Private Sub EmitArguments(arguments As ImmutableArray(Of BoundExpression), parameters As ImmutableArray(Of ParameterSymbol))
716Private Function EmitFieldLoadReceiverAddress(receiver As BoundExpression) As Boolean
744Private Function FieldLoadPrefersRef(receiver As BoundExpression) As Boolean
780Friend Shared Function FieldLoadMustUseRef(expr As BoundExpression) As Boolean
868Private Function CanUseCallOnRefTypeReceiver(receiver As BoundExpression) As Boolean
941Private Function IsMeReceiver(receiver As BoundExpression) As Boolean
1379Private Function StackMergeType(expr As BoundExpression) As TypeSymbol
1541arguments As ImmutableArray(Of BoundExpression),
1563Private Sub EmitInitObjOnTarget(target As BoundExpression)
1665Dim left As BoundExpression = assignmentOperator.Left
1678Dim right As BoundExpression = assignmentOperator.Right
1709Private Function SafeToGetWriteableReference(left As BoundExpression) As Boolean
1713Private Sub InPlaceInit(target As BoundExpression, used As Boolean)
1726Private Sub InPlaceCtorCall(target As BoundExpression, objCreation As BoundObjectCreationExpression, used As Boolean)
1747Private Function PartialCtorResultCannotEscape(left As BoundExpression) As Boolean
1751Private Function TargetIsNotOnHeap(left As BoundExpression) As Boolean
1765Private Function EmitAssignmentPreamble(assignmentTarget As BoundExpression) As Boolean
1896Private Sub EmitStore(expression As BoundExpression)
CodeGen\EmitStatement.vb (8)
430Private Sub EmitSetProjectError(syntaxNode As SyntaxNode, errorLineNumberOpt As BoundExpression)
495Private Function TryReduce(condition As BoundBinaryOperator, ByRef sense As Boolean) As BoundExpression
503Dim nonConstOp As BoundExpression
640Private Sub EmitCondBranch(condition As BoundExpression, ByRef lazyDest As Object, sense As Boolean)
654Private Sub EmitCondBranchCoreWithStackGuard(condition As BoundExpression, ByRef lazyDest As Object, sense As Boolean)
668Private Sub EmitCondBranchCore(condition As BoundExpression, ByRef lazyDest As Object, sense As Boolean)
876If Not _found AndAlso TypeOf node IsNot BoundExpression Then
1041Private Sub EmitSwitchTableHeader(selectExpression As BoundExpression, caseLabels As KeyValuePair(Of ConstantValue, Object)(), fallThroughLabel As LabelSymbol)
CodeGen\Optimizer\StackScheduler.Analyzer.vb (65)
46Private ReadOnly _evalStack As ArrayBuilder(Of (expression As BoundExpression, context As ExprContext))
69evalStack As ArrayBuilder(Of ValueTuple(Of BoundExpression, ExprContext)),
88Dim evalStack = ArrayBuilder(Of ValueTuple(Of BoundExpression, ExprContext)).GetInstance()
101Dim expr = TryCast(node, BoundExpression)
112Private Function VisitExpressionCore(node As BoundExpression, context As ExprContext) As BoundExpression
124DirectCast(MyBase.Visit(node), BoundExpression),
149Private Sub PushEvalStack(result As BoundExpression, context As ExprContext)
170Private Function VisitExpression(node As BoundExpression, context As ExprContext) As BoundExpression
171Dim result As BoundExpression
188Private Function VisitExpressionCoreWithStackGuard(node As BoundExpression, context As ExprContext) As BoundExpression
202Protected Overrides Function VisitExpressionWithoutStackGuard(node As BoundExpression) As BoundExpression
360Dim sideeffects As ImmutableArray(Of BoundExpression) = node.SideEffects
361Dim rewrittenSideeffects As ArrayBuilder(Of BoundExpression) = Nothing
364Dim sideeffect As BoundExpression = sideeffects(i)
365Dim rewrittenSideeffect As BoundExpression = Me.VisitExpression(sideeffect, ExprContext.Sideeffects)
368rewrittenSideeffects = ArrayBuilder(Of BoundExpression).GetInstance()
379Dim value As BoundExpression = Me.VisitExpression(node.ValueOpt, origContext)
524Dim right As BoundExpression = VisitExpression(node.LValue, ExprContext.Address)
543Dim left As BoundExpression = VisitExpression(node.Left,
572Dim right As BoundExpression = node.Right
622Private Shared Function IsByRefVariable(node As BoundExpression) As Boolean
686Dim rewrittenArguments As ImmutableArray(Of BoundExpression) = VisitArguments(node.Arguments, method.Parameters)
701Private Function VisitArguments(arguments As ImmutableArray(Of BoundExpression), parameters As ImmutableArray(Of ParameterSymbol)) As ImmutableArray(Of BoundExpression)
708Dim rewrittenArguments As ArrayBuilder(Of BoundExpression) = Nothing
714Dim arg As BoundExpression = arguments(i)
715Dim rewrittenArg As BoundExpression = VisitExpression(arg, context)
717rewrittenArguments = ArrayBuilder(Of BoundExpression).GetInstance()
733Dim rewrittenArguments As ImmutableArray(Of BoundExpression) = If(constructor Is Nothing, node.Arguments,
755Dim receiver As BoundExpression = node.ReceiverOpt
804Dim testExpression As BoundExpression = DirectCast(Me.Visit(node.TestExpression), BoundExpression)
816Dim elseExpression As BoundExpression = DirectCast(Me.Visit(node.ElseExpression), BoundExpression)
826Dim condition = DirectCast(Me.Visit(node.Condition), BoundExpression)
831Dim whenTrue = DirectCast(Me.Visit(node.WhenTrue), BoundExpression)
836Dim whenFalse = DirectCast(Me.Visit(node.WhenFalse), BoundExpression)
853Dim receiverOrCondition = DirectCast(Me.Visit(node.ReceiverOrCondition), BoundExpression)
861Dim whenNotNull = DirectCast(Me.Visit(node.WhenNotNull), BoundExpression)
865Dim whenNull As BoundExpression = Nothing
869whenNull = DirectCast(Me.Visit(node.WhenNullOpt), BoundExpression)
890Dim valueTypeReceiver = DirectCast(Me.Visit(node.ValueTypeReceiver), BoundExpression)
895Dim referenceTypeReceiver = DirectCast(Me.Visit(node.ReferenceTypeReceiver), BoundExpression)
905Dim child As BoundExpression = node.Left
929Dim left = DirectCast(Me.Visit(child), BoundExpression)
950Dim right = DirectCast(Me.Visit(binary.Right), BoundExpression)
981Dim left As BoundExpression = DirectCast(Me.Visit(node.Left), BoundExpression)
987Dim right As BoundExpression = DirectCast(Me.Visit(node.Right), BoundExpression)
1004Dim operand = DirectCast(Me.Visit(node.Operand), BoundExpression)
1059Dim value = DirectCast(Visit(node.Value), BoundExpression)
1102Dim exceptionVariableOpt As BoundExpression = Me.VisitExpression(node.ExceptionSourceOpt, ExprContext.Value)
1106Dim errorLineNumberOpt As BoundExpression = Me.VisitExpression(node.ErrorLineNumberOpt, ExprContext.Value)
1110Dim exceptionFilterOpt As BoundExpression = Me.VisitExpression(node.ExceptionFilterOpt, ExprContext.Value)
1124Dim initializers As ImmutableArray(Of BoundExpression) = node.Initializers
1125Dim rewrittenInitializers As ArrayBuilder(Of BoundExpression) = Nothing
1131Dim initializer As BoundExpression = initializers(i)
1132Dim rewrittenInitializer As BoundExpression = Me.VisitExpression(initializer, ExprContext.Value)
1135rewrittenInitializers = ArrayBuilder(Of BoundExpression).GetInstance()
1149Dim expressionOpt = TryCast(Me.Visit(node.ExpressionOpt), BoundExpression)
CodeGen\Optimizer\StackScheduler.Rewriter.vb (16)
47Dim asExpression = TryCast(node, BoundExpression)
62Dim child As BoundExpression = node.Left
84Dim left = DirectCast(Me.Visit(child), BoundExpression)
89Dim right = DirectCast(Me.Visit(binary.Right), BoundExpression)
150Dim right = DirectCast(Me.Visit(node.LValue), BoundExpression)
167Dim left As BoundExpression = DirectCast(Me.Visit(node.Left), BoundExpression)
168Dim right As BoundExpression = DirectCast(Me.Visit(node.Right), BoundExpression)
209Dim right = DirectCast(Me.Visit(node.Right), BoundExpression)
227Dim receiverOrCondition As BoundExpression = DirectCast(Me.Visit(node.ReceiverOrCondition), BoundExpression)
228Dim whenNotNull As BoundExpression = DirectCast(Me.Visit(node.WhenNotNull), BoundExpression)
229Dim whenNullOpt As BoundExpression = node.WhenNullOpt
232whenNullOpt = DirectCast(Me.Visit(whenNullOpt), BoundExpression)
Generated\BoundNodes.xml.Generated.vb (947)
326Public Sub New(syntax As SyntaxNode, underlyingLValue As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
341Private ReadOnly _UnderlyingLValue As BoundExpression
342Public ReadOnly Property UnderlyingLValue As BoundExpression
353Public Function Update(underlyingLValue As BoundExpression, type As TypeSymbol) As BoundLValueToRValueWrapper
586Public Sub New(syntax As SyntaxNode, resultKind As LookupResultKind, symbols As ImmutableArray(Of Symbol), childBoundNodes As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
617Private ReadOnly _ChildBoundNodes As ImmutableArray(Of BoundExpression)
618Public ReadOnly Property ChildBoundNodes As ImmutableArray(Of BoundExpression)
629Public Function Update(resultKind As LookupResultKind, symbols As ImmutableArray(Of Symbol), childBoundNodes As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundBadExpression
676Public Sub New(syntax As SyntaxNode, expression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
690Private ReadOnly _Expression As BoundExpression
691Public ReadOnly Property Expression As BoundExpression
702Public Function Update(expression As BoundExpression, type As TypeSymbol) As BoundParenthesized
715Public Sub New(syntax As SyntaxNode, expression As BoundExpression, isLValue As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False)
725Private ReadOnly _Expression As BoundExpression
726Public ReadOnly Property Expression As BoundExpression
744Public Function Update(expression As BoundExpression, isLValue As Boolean, type As TypeSymbol) As BoundBadVariable
757Public Sub New(syntax As SyntaxNode, expression As BoundExpression, indices As ImmutableArray(Of BoundExpression), isLValue As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False)
775Private ReadOnly _Expression As BoundExpression
776Public ReadOnly Property Expression As BoundExpression
782Private ReadOnly _Indices As ImmutableArray(Of BoundExpression)
783Public ReadOnly Property Indices As ImmutableArray(Of BoundExpression)
801Public Function Update(expression As BoundExpression, indices As ImmutableArray(Of BoundExpression), isLValue As Boolean, type As TypeSymbol) As BoundArrayAccess
814Public Sub New(syntax As SyntaxNode, expression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
824Private ReadOnly _Expression As BoundExpression
825Public ReadOnly Property Expression As BoundExpression
836Public Function Update(expression As BoundExpression, type As TypeSymbol) As BoundArrayLength
972Public Sub New(syntax As SyntaxNode, unevaluatedReceiverOpt As BoundExpression, aliasOpt As AliasSymbol, type As TypeSymbol, Optional hasErrors As Boolean = False)
982Private ReadOnly _UnevaluatedReceiverOpt As BoundExpression
983Public ReadOnly Property UnevaluatedReceiverOpt As BoundExpression
1001Public Function Update(unevaluatedReceiverOpt As BoundExpression, aliasOpt As AliasSymbol, type As TypeSymbol) As BoundTypeExpression
1056Public Sub New(syntax As SyntaxNode, unevaluatedReceiverOpt As BoundExpression, aliasOpt As AliasSymbol, namespaceSymbol As NamespaceSymbol, Optional hasErrors As Boolean = False)
1072Private ReadOnly _UnevaluatedReceiverOpt As BoundExpression
1073Public ReadOnly Property UnevaluatedReceiverOpt As BoundExpression
1098Public Function Update(unevaluatedReceiverOpt As BoundExpression, aliasOpt As AliasSymbol, namespaceSymbol As NamespaceSymbol) As BoundNamespaceExpression
1358Public Sub New(syntax As SyntaxNode, operatorKind As UnaryOperatorKind, operand As BoundExpression, checked As Boolean, constantValueOpt As ConstantValue, type As TypeSymbol, Optional hasErrors As Boolean = False)
1383Private ReadOnly _Operand As BoundExpression
1384Public ReadOnly Property Operand As BoundExpression
1409Public Function Update(operatorKind As UnaryOperatorKind, operand As BoundExpression, checked As Boolean, constantValueOpt As ConstantValue, type As TypeSymbol) As BoundUnaryOperator
1422Public Sub New(syntax As SyntaxNode, operatorKind As UnaryOperatorKind, underlyingExpression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
1445Private ReadOnly _UnderlyingExpression As BoundExpression
1446Public ReadOnly Property UnderlyingExpression As BoundExpression
1457Public Function Update(operatorKind As UnaryOperatorKind, underlyingExpression As BoundExpression, type As TypeSymbol) As BoundUserDefinedUnaryOperator
1470Public Sub New(syntax As SyntaxNode, operand As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
1485Private ReadOnly _Operand As BoundExpression
1486Public ReadOnly Property Operand As BoundExpression
1497Public Function Update(operand As BoundExpression, type As TypeSymbol) As BoundNullableIsTrueOperator
1510Public Sub New(syntax As SyntaxNode, operatorKind As BinaryOperatorKind, left As BoundExpression, right As BoundExpression, checked As Boolean, constantValueOpt As ConstantValue, type As TypeSymbol, Optional hasErrors As Boolean = False)
1537Private ReadOnly _Left As BoundExpression
1538Public ReadOnly Property Left As BoundExpression
1544Private ReadOnly _Right As BoundExpression
1545Public ReadOnly Property Right As BoundExpression
1570Public Function Update(operatorKind As BinaryOperatorKind, left As BoundExpression, right As BoundExpression, checked As Boolean, constantValueOpt As ConstantValue, type As TypeSymbol) As BoundBinaryOperator
1583Public Sub New(syntax As SyntaxNode, operatorKind As BinaryOperatorKind, underlyingExpression As BoundExpression, checked As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False)
1607Private ReadOnly _UnderlyingExpression As BoundExpression
1608Public ReadOnly Property UnderlyingExpression As BoundExpression
1626Public Function Update(operatorKind As BinaryOperatorKind, underlyingExpression As BoundExpression, checked As Boolean, type As TypeSymbol) As BoundUserDefinedBinaryOperator
1639Public Sub New(syntax As SyntaxNode, leftOperand As BoundExpression, leftOperandPlaceholder As BoundRValuePlaceholder, leftTest As BoundExpression, bitwiseOperator As BoundUserDefinedBinaryOperator, type As TypeSymbol, Optional hasErrors As Boolean = False)
1657Private ReadOnly _LeftOperand As BoundExpression
1658Public ReadOnly Property LeftOperand As BoundExpression
1671Private ReadOnly _LeftTest As BoundExpression
1672Public ReadOnly Property LeftTest As BoundExpression
1690Public Function Update(leftOperand As BoundExpression, leftOperandPlaceholder As BoundRValuePlaceholder, leftTest As BoundExpression, bitwiseOperator As BoundUserDefinedBinaryOperator, type As TypeSymbol) As BoundUserDefinedShortCircuitingOperator
1736Public Sub New(syntax As SyntaxNode, left As BoundExpression, leftOnTheRightOpt As BoundCompoundAssignmentTargetPlaceholder, right As BoundExpression, suppressObjectClone As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False)
1755Private ReadOnly _Left As BoundExpression
1756Public ReadOnly Property Left As BoundExpression
1769Private ReadOnly _Right As BoundExpression
1770Public ReadOnly Property Right As BoundExpression
1788Public Function Update(left As BoundExpression, leftOnTheRightOpt As BoundCompoundAssignmentTargetPlaceholder, right As BoundExpression, suppressObjectClone As Boolean, type As TypeSymbol) As BoundAssignmentOperator
1801Public Sub New(syntax As SyntaxNode, byRefLocal As BoundLocal, lValue As BoundExpression, isLValue As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False)
1825Private ReadOnly _LValue As BoundExpression
1826Public ReadOnly Property LValue As BoundExpression
1844Public Function Update(byRefLocal As BoundLocal, lValue As BoundExpression, isLValue As Boolean, type As TypeSymbol) As BoundReferenceAssignment
1908Public Sub New(syntax As SyntaxNode, condition As BoundExpression, whenTrue As BoundExpression, whenFalse As BoundExpression, constantValueOpt As ConstantValue, type As TypeSymbol, Optional hasErrors As Boolean = False)
1928Private ReadOnly _Condition As BoundExpression
1929Public ReadOnly Property Condition As BoundExpression
1935Private ReadOnly _WhenTrue As BoundExpression
1936Public ReadOnly Property WhenTrue As BoundExpression
1942Private ReadOnly _WhenFalse As BoundExpression
1943Public ReadOnly Property WhenFalse As BoundExpression
1961Public Function Update(condition As BoundExpression, whenTrue As BoundExpression, whenFalse As BoundExpression, constantValueOpt As ConstantValue, type As TypeSymbol) As BoundTernaryConditionalExpression
1974Public Sub New(syntax As SyntaxNode, testExpression As BoundExpression, convertedTestExpression As BoundExpression, testExpressionPlaceholder As BoundRValuePlaceholder, elseExpression As BoundExpression, constantValueOpt As ConstantValue, type As TypeSymbol, Optional hasErrors As Boolean = False)
1994Private ReadOnly _TestExpression As BoundExpression
1995Public ReadOnly Property TestExpression As BoundExpression
2001Private ReadOnly _ConvertedTestExpression As BoundExpression
2002Public ReadOnly Property ConvertedTestExpression As BoundExpression
2015Private ReadOnly _ElseExpression As BoundExpression
2016Public ReadOnly Property ElseExpression As BoundExpression
2034Public Function Update(testExpression As BoundExpression, convertedTestExpression As BoundExpression, testExpressionPlaceholder As BoundRValuePlaceholder, elseExpression As BoundExpression, constantValueOpt As ConstantValue, type As TypeSymbol) As BoundBinaryConditionalExpression
2066Public Sub New(syntax As SyntaxNode, operand As BoundExpression, conversionKind As ConversionKind, checked As Boolean, explicitCastInCode As Boolean, constantValueOpt As ConstantValue, extendedInfoOpt As BoundExtendedConversionInfo, type As TypeSymbol, Optional hasErrors As Boolean = False)
2086Private ReadOnly _Operand As BoundExpression
2087Public Overrides ReadOnly Property Operand As BoundExpression
2133Public Function Update(operand As BoundExpression, conversionKind As ConversionKind, checked As Boolean, explicitCastInCode As Boolean, constantValueOpt As ConstantValue, extendedInfoOpt As BoundExtendedConversionInfo, type As TypeSymbol) As BoundConversion
2201Public Sub New(syntax As SyntaxNode, elementPlaceholders As ImmutableArray(Of BoundRValuePlaceholder), convertedElements As ImmutableArray(Of BoundExpression), Optional hasErrors As Boolean = False)
2224Private ReadOnly _ConvertedElements As ImmutableArray(Of BoundExpression)
2225Public ReadOnly Property ConvertedElements As ImmutableArray(Of BoundExpression)
2236Public Function Update(elementPlaceholders As ImmutableArray(Of BoundRValuePlaceholder), convertedElements As ImmutableArray(Of BoundExpression)) As BoundConvertedTupleElements
2249Public Sub New(syntax As SyntaxNode, underlyingExpression As BoundExpression, inOutConversionFlags As Byte, type As TypeSymbol, Optional hasErrors As Boolean = False)
2265Private ReadOnly _UnderlyingExpression As BoundExpression
2266Public ReadOnly Property UnderlyingExpression As BoundExpression
2284Public Function Update(underlyingExpression As BoundExpression, inOutConversionFlags As Byte, type As TypeSymbol) As BoundUserDefinedConversion
2297Public Sub New(syntax As SyntaxNode, operand As BoundExpression, conversionKind As ConversionKind, suppressVirtualCalls As Boolean, constantValueOpt As ConstantValue, relaxationLambdaOpt As BoundLambda, type As TypeSymbol, Optional hasErrors As Boolean = False)
2316Private ReadOnly _Operand As BoundExpression
2317Public Overrides ReadOnly Property Operand As BoundExpression
2356Public Function Update(operand As BoundExpression, conversionKind As ConversionKind, suppressVirtualCalls As Boolean, constantValueOpt As ConstantValue, relaxationLambdaOpt As BoundLambda, type As TypeSymbol) As BoundDirectCast
2369Public Sub New(syntax As SyntaxNode, operand As BoundExpression, conversionKind As ConversionKind, constantValueOpt As ConstantValue, relaxationLambdaOpt As BoundLambda, type As TypeSymbol, Optional hasErrors As Boolean = False)
2387Private ReadOnly _Operand As BoundExpression
2388Public Overrides ReadOnly Property Operand As BoundExpression
2420Public Function Update(operand As BoundExpression, conversionKind As ConversionKind, constantValueOpt As ConstantValue, relaxationLambdaOpt As BoundLambda, type As TypeSymbol) As BoundTryCast
2433Public Sub New(syntax As SyntaxNode, operand As BoundExpression, isTypeOfIsNotExpression As Boolean, targetType As TypeSymbol, type As TypeSymbol, Optional hasErrors As Boolean = False)
2446Private ReadOnly _Operand As BoundExpression
2447Public ReadOnly Property Operand As BoundExpression
2472Public Function Update(operand As BoundExpression, isTypeOfIsNotExpression As Boolean, targetType As TypeSymbol, type As TypeSymbol) As BoundTypeOf
2529Public Sub New(syntax As SyntaxNode, expression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
2538Private ReadOnly _Expression As BoundExpression
2539Public ReadOnly Property Expression As BoundExpression
2550Public Function Update(expression As BoundExpression, type As TypeSymbol) As BoundSequencePointExpression
2638Protected Sub New(kind As BoundKind, syntax as SyntaxNode, receiverOpt As BoundExpression, qualificationKind As QualificationKind, Optional hasErrors As Boolean = False)
2645Private ReadOnly _ReceiverOpt As BoundExpression
2646Public ReadOnly Property ReceiverOpt As BoundExpression
2663Public Sub New(syntax As SyntaxNode, typeArgumentsOpt As BoundTypeArguments, methods As ImmutableArray(Of MethodSymbol), pendingExtensionMethodsOpt As ExtensionMethodGroup, resultKind As LookupResultKind, receiverOpt As BoundExpression, qualificationKind As QualificationKind, Optional hasErrors As Boolean = False)
2708Public Function Update(typeArgumentsOpt As BoundTypeArguments, methods As ImmutableArray(Of MethodSymbol), pendingExtensionMethodsOpt As ExtensionMethodGroup, resultKind As LookupResultKind, receiverOpt As BoundExpression, qualificationKind As QualificationKind) As BoundMethodGroup
2721Public Sub New(syntax As SyntaxNode, properties As ImmutableArray(Of PropertySymbol), resultKind As LookupResultKind, receiverOpt As BoundExpression, qualificationKind As QualificationKind, Optional hasErrors As Boolean = False)
2750Public Function Update(properties As ImmutableArray(Of PropertySymbol), resultKind As LookupResultKind, receiverOpt As BoundExpression, qualificationKind As QualificationKind) As BoundPropertyGroup
2763Public Sub New(syntax As SyntaxNode, expressionOpt As BoundExpression, functionLocalOpt As LocalSymbol, exitLabelOpt As LabelSymbol, Optional hasErrors As Boolean = False)
2776Private ReadOnly _ExpressionOpt As BoundExpression
2777Public ReadOnly Property ExpressionOpt As BoundExpression
2802Public Function Update(expressionOpt As BoundExpression, functionLocalOpt As LocalSymbol, exitLabelOpt As LabelSymbol) As BoundReturnStatement
2815Public Sub New(syntax As SyntaxNode, expression As BoundExpression, Optional hasErrors As Boolean = False)
2829Private ReadOnly _Expression As BoundExpression
2830Public ReadOnly Property Expression As BoundExpression
2841Public Function Update(expression As BoundExpression) As BoundYieldStatement
2854Public Sub New(syntax As SyntaxNode, expressionOpt As BoundExpression, Optional hasErrors As Boolean = False)
2860Private ReadOnly _ExpressionOpt As BoundExpression
2861Public ReadOnly Property ExpressionOpt As BoundExpression
2872Public Function Update(expressionOpt As BoundExpression) As BoundThrowStatement
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)
2937Private ReadOnly _Operand As BoundExpression
2938Public ReadOnly Property Operand As BoundExpression
2944Private ReadOnly _Indices As ImmutableArray(Of BoundExpression)
2945Public ReadOnly Property Indices As ImmutableArray(Of BoundExpression)
2970Public Function Update(operand As BoundExpression, indices As ImmutableArray(Of BoundExpression), arrayTypeOpt As ArrayTypeSymbol, preserve As Boolean) As BoundRedimClause
3017Public Sub New(syntax As SyntaxNode, method As MethodSymbol, methodGroupOpt As BoundMethodGroup, receiverOpt As BoundExpression, arguments As ImmutableArray(Of BoundExpression), defaultArguments As BitVector, constantValueOpt As ConstantValue, isLValue As Boolean, suppressObjectClone As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False)
3054Private ReadOnly _ReceiverOpt As BoundExpression
3055Public ReadOnly Property ReceiverOpt As BoundExpression
3061Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression)
3062Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression)
3101Public Function Update(method As MethodSymbol, methodGroupOpt As BoundMethodGroup, receiverOpt As BoundExpression, arguments As ImmutableArray(Of BoundExpression), defaultArguments As BitVector, constantValueOpt As ConstantValue, isLValue As Boolean, suppressObjectClone As Boolean, type As TypeSymbol) As BoundCall
3114Public Sub New(syntax As SyntaxNode, constructor As MethodSymbol, constructorArguments As ImmutableArray(Of BoundExpression), constructorDefaultArguments As BitVector, namedArguments As ImmutableArray(Of BoundExpression), resultKind As LookupResultKind, type As TypeSymbol, Optional hasErrors As Boolean = False)
3136Private ReadOnly _ConstructorArguments As ImmutableArray(Of BoundExpression)
3137Public ReadOnly Property ConstructorArguments As ImmutableArray(Of BoundExpression)
3150Private ReadOnly _NamedArguments As ImmutableArray(Of BoundExpression)
3151Public ReadOnly Property NamedArguments As ImmutableArray(Of BoundExpression)
3169Public Function Update(constructor As MethodSymbol, constructorArguments As ImmutableArray(Of BoundExpression), constructorDefaultArguments As BitVector, namedArguments As ImmutableArray(Of BoundExpression), resultKind As LookupResultKind, type As TypeSymbol) As BoundAttribute
3182Public Sub New(syntax As SyntaxNode, nameOpt As String, containerTypeOpt As TypeSymbol, receiverOpt As BoundExpression, typeArgumentsOpt As BoundTypeArguments, accessKind As LateBoundAccessKind, type As TypeSymbol, Optional hasErrors As Boolean = False)
3214Private ReadOnly _ReceiverOpt As BoundExpression
3215Public ReadOnly Property ReceiverOpt As BoundExpression
3240Public Function Update(nameOpt As String, containerTypeOpt As TypeSymbol, receiverOpt As BoundExpression, typeArgumentsOpt As BoundTypeArguments, accessKind As LateBoundAccessKind, type As TypeSymbol) As BoundLateMemberAccess
3253Public Sub New(syntax As SyntaxNode, member As BoundExpression, argumentsOpt As ImmutableArray(Of BoundExpression), argumentNamesOpt As ImmutableArray(Of string), accessKind As LateBoundAccessKind, methodOrPropertyGroupOpt As BoundMethodOrPropertyGroup, type As TypeSymbol, Optional hasErrors As Boolean = False)
3272Private ReadOnly _Member As BoundExpression
3273Public ReadOnly Property Member As BoundExpression
3279Private ReadOnly _ArgumentsOpt As ImmutableArray(Of BoundExpression)
3280Public ReadOnly Property ArgumentsOpt As ImmutableArray(Of BoundExpression)
3312Public Function Update(member As BoundExpression, argumentsOpt As ImmutableArray(Of BoundExpression), argumentNamesOpt As ImmutableArray(Of string), accessKind As LateBoundAccessKind, methodOrPropertyGroupOpt As BoundMethodOrPropertyGroup, type As TypeSymbol) As BoundLateInvocation
3368Protected Sub New(kind As BoundKind, syntax as SyntaxNode, arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
3377Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression)
3378Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression)
3388Public Sub New(syntax As SyntaxNode, inferredType As TupleTypeSymbol, argumentNamesOpt As ImmutableArray(Of String), inferredNamesOpt As ImmutableArray(Of Boolean), arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
3425Public Function Update(inferredType As TupleTypeSymbol, argumentNamesOpt As ImmutableArray(Of String), inferredNamesOpt As ImmutableArray(Of Boolean), arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundTupleLiteral
3438Public Sub New(syntax As SyntaxNode, naturalTypeOpt As TypeSymbol, arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
3460Public Function Update(naturalTypeOpt As TypeSymbol, arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundConvertedTupleLiteral
3498Public Sub New(syntax As SyntaxNode, constructorOpt As MethodSymbol, methodGroupOpt As BoundMethodGroup, arguments As ImmutableArray(Of BoundExpression), defaultArguments As BitVector, initializerOpt As BoundObjectInitializerExpressionBase, type As TypeSymbol, Optional hasErrors As Boolean = False)
3530Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression)
3531Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression)
3549Public Function Update(constructorOpt As MethodSymbol, methodGroupOpt As BoundMethodGroup, arguments As ImmutableArray(Of BoundExpression), defaultArguments As BitVector, initializerOpt As BoundObjectInitializerExpressionBase, type As TypeSymbol) As BoundObjectCreationExpression
3596Public Sub New(syntax As SyntaxNode, binderOpt As Binder.AnonymousTypeCreationBinder, declarations As ImmutableArray(Of BoundAnonymousTypePropertyAccess), arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
3622Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression)
3623Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression)
3634Public Function Update(binderOpt As Binder.AnonymousTypeCreationBinder, declarations As ImmutableArray(Of BoundAnonymousTypePropertyAccess), arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundAnonymousTypeCreationExpression
3698Public Sub New(syntax As SyntaxNode, binder As Binder.AnonymousTypeFieldInitializerBinder, value As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
3716Private ReadOnly _Value As BoundExpression
3717Public ReadOnly Property Value As BoundExpression
3728Public Function Update(binder As Binder.AnonymousTypeFieldInitializerBinder, value As BoundExpression, type As TypeSymbol) As BoundAnonymousTypeFieldInitializer
3741Protected Sub New(kind As BoundKind, syntax as SyntaxNode, placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
3758Private ReadOnly _Initializers As ImmutableArray(Of BoundExpression)
3759Public ReadOnly Property Initializers As ImmutableArray(Of BoundExpression)
3769Public Sub New(syntax As SyntaxNode, createTemporaryLocalForInitialization As Boolean, placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
3795Public Function Update(createTemporaryLocalForInitialization As Boolean, placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundObjectInitializerExpression
3808Public Sub New(syntax As SyntaxNode, placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
3826Public Function Update(placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundCollectionInitializerExpression
3870Public Sub New(syntax As SyntaxNode, receiverOpt As BoundExpression, method As MethodSymbol, relaxationLambdaOpt As BoundLambda, relaxationReceiverPlaceholderOpt As BoundRValuePlaceholder, methodGroupOpt As BoundMethodGroup, type As TypeSymbol, Optional hasErrors As Boolean = False)
3884Private ReadOnly _ReceiverOpt As BoundExpression
3885Public ReadOnly Property ReceiverOpt As BoundExpression
3924Public Function Update(receiverOpt As BoundExpression, method As MethodSymbol, relaxationLambdaOpt As BoundLambda, relaxationReceiverPlaceholderOpt As BoundRValuePlaceholder, methodGroupOpt As BoundMethodGroup, type As TypeSymbol) As BoundDelegateCreationExpression
3937Public Sub New(syntax As SyntaxNode, isParamArrayArgument As Boolean, bounds As ImmutableArray(Of BoundExpression), initializerOpt As BoundArrayInitialization, arrayLiteralOpt As BoundArrayLiteral, arrayLiteralConversion As ConversionKind, type As TypeSymbol, Optional hasErrors As Boolean = False)
3963Private ReadOnly _Bounds As ImmutableArray(Of BoundExpression)
3964Public ReadOnly Property Bounds As ImmutableArray(Of BoundExpression)
3996Public Function Update(isParamArrayArgument As Boolean, bounds As ImmutableArray(Of BoundExpression), initializerOpt As BoundArrayInitialization, arrayLiteralOpt As BoundArrayLiteral, arrayLiteralConversion As ConversionKind, type As TypeSymbol) As BoundArrayCreation
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)
4047Private ReadOnly _Bounds As ImmutableArray(Of BoundExpression)
4048Public ReadOnly Property Bounds As ImmutableArray(Of BoundExpression)
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
4086Public Sub New(syntax As SyntaxNode, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
4095Private ReadOnly _Initializers As ImmutableArray(Of BoundExpression)
4096Public ReadOnly Property Initializers As ImmutableArray(Of BoundExpression)
4107Public Function Update(initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundArrayInitialization
4120Public Sub New(syntax As SyntaxNode, receiverOpt As BoundExpression, fieldSymbol As FieldSymbol, isLValue As Boolean, suppressVirtualCalls As Boolean, constantsInProgressOpt As ConstantFieldsInProgress, type As TypeSymbol, Optional hasErrors As Boolean = False)
4139Private ReadOnly _ReceiverOpt As BoundExpression
4140Public ReadOnly Property ReceiverOpt As BoundExpression
4179Public Function Update(receiverOpt As BoundExpression, fieldSymbol As FieldSymbol, isLValue As Boolean, suppressVirtualCalls As Boolean, constantsInProgressOpt As ConstantFieldsInProgress, type As TypeSymbol) As BoundFieldAccess
4192Public Sub New(syntax As SyntaxNode, propertySymbol As PropertySymbol, propertyGroupOpt As BoundPropertyGroup, accessKind As PropertyAccessKind, isWriteable As Boolean, isLValue As Boolean, receiverOpt As BoundExpression, arguments As ImmutableArray(Of BoundExpression), defaultArguments As BitVector, type As TypeSymbol, Optional hasErrors As Boolean = False)
4250Private ReadOnly _ReceiverOpt As BoundExpression
4251Public ReadOnly Property ReceiverOpt As BoundExpression
4257Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression)
4258Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression)
4276Public Function Update(propertySymbol As PropertySymbol, propertyGroupOpt As BoundPropertyGroup, accessKind As PropertyAccessKind, isWriteable As Boolean, isLValue As Boolean, receiverOpt As BoundExpression, arguments As ImmutableArray(Of BoundExpression), defaultArguments As BitVector, type As TypeSymbol) As BoundPropertyAccess
4289Public Sub New(syntax As SyntaxNode, receiverOpt As BoundExpression, eventSymbol As EventSymbol, type As TypeSymbol, Optional hasErrors As Boolean = False)
4300Private ReadOnly _ReceiverOpt As BoundExpression
4301Public ReadOnly Property ReceiverOpt As BoundExpression
4319Public Function Update(receiverOpt As BoundExpression, eventSymbol As EventSymbol, type As TypeSymbol) As BoundEventAccess
4439Public Sub New(syntax As SyntaxNode, localSymbol As LocalSymbol, declarationInitializerOpt As BoundExpression, identifierInitializerOpt As BoundArrayCreation, initializedByAsNew As Boolean, Optional hasErrors As Boolean = False)
4463Private ReadOnly _DeclarationInitializerOpt As BoundExpression
4464Public ReadOnly Property DeclarationInitializerOpt As BoundExpression
4489Public Function Update(localSymbol As LocalSymbol, declarationInitializerOpt As BoundExpression, identifierInitializerOpt As BoundArrayCreation, initializedByAsNew As Boolean) As BoundLocalDeclaration
4502Public Sub New(syntax As SyntaxNode, localDeclarations As ImmutableArray(Of BoundLocalDeclaration), initializer As BoundExpression, binder As Binder, Optional hasErrors As Boolean = False)
4522Private ReadOnly _Initializer As BoundExpression
4523Public ReadOnly Property Initializer As BoundExpression
4541Public Function Update(localDeclarations As ImmutableArray(Of BoundLocalDeclaration), initializer As BoundExpression, binder As Binder) As BoundAsNewLocalDeclarations
4554Public Sub New(syntax As SyntaxNode, localDeclarations As ImmutableArray(Of BoundLocalDeclarationBase), initializerOpt As BoundExpression, Optional hasErrors As Boolean = False)
4571Private ReadOnly _InitializerOpt As BoundExpression
4572Public ReadOnly Property InitializerOpt As BoundExpression
4583Public Function Update(localDeclarations As ImmutableArray(Of BoundLocalDeclarationBase), initializerOpt As BoundExpression) As BoundDimStatement
4622Protected Sub New(kind As BoundKind, syntax as SyntaxNode, memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder, Optional hasErrors As Boolean = False)
4633Private ReadOnly _MemberAccessExpressionOpt As BoundExpression
4634Public ReadOnly Property MemberAccessExpressionOpt As BoundExpression
4640Private ReadOnly _InitialValue As BoundExpression
4641Public ReadOnly Property InitialValue As BoundExpression
4658Public Sub New(syntax As SyntaxNode, initializedFields As ImmutableArray(Of FieldSymbol), memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder, Optional hasErrors As Boolean = False)
4680Public Function Update(initializedFields As ImmutableArray(Of FieldSymbol), memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder) As BoundFieldInitializer
4693Public Sub New(syntax As SyntaxNode, initializedProperties As ImmutableArray(Of PropertySymbol), memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder, Optional hasErrors As Boolean = False)
4715Public Function Update(initializedProperties As ImmutableArray(Of PropertySymbol), memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder) As BoundPropertyInitializer
4728Public Sub New(syntax As SyntaxNode, parameter As ParameterSymbol, value As BoundExpression, Optional hasErrors As Boolean = False)
4746Private ReadOnly _Value As BoundExpression
4747Public ReadOnly Property Value As BoundExpression
4758Public Function Update(parameter As ParameterSymbol, value As BoundExpression) As BoundParameterEqualsValue
4805Public Sub New(syntax As SyntaxNode, locals As ImmutableArray(Of LocalSymbol), sideEffects As ImmutableArray(Of BoundExpression), valueOpt As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
4830Private ReadOnly _SideEffects As ImmutableArray(Of BoundExpression)
4831Public ReadOnly Property SideEffects As ImmutableArray(Of BoundExpression)
4837Private ReadOnly _ValueOpt As BoundExpression
4838Public ReadOnly Property ValueOpt As BoundExpression
4849Public Function Update(locals As ImmutableArray(Of LocalSymbol), sideEffects As ImmutableArray(Of BoundExpression), valueOpt As BoundExpression, type As TypeSymbol) As BoundSequence
4862Public Sub New(syntax As SyntaxNode, expression As BoundExpression, Optional hasErrors As Boolean = False)
4871Private ReadOnly _Expression As BoundExpression
4872Public ReadOnly Property Expression As BoundExpression
4883Public Function Update(expression As BoundExpression) As BoundExpressionStatement
4896Public Sub New(syntax As SyntaxNode, condition As BoundExpression, consequence As BoundStatement, alternativeOpt As BoundStatement, Optional hasErrors As Boolean = False)
4908Private ReadOnly _Condition As BoundExpression
4909Public ReadOnly Property Condition As BoundExpression
4934Public Function Update(condition As BoundExpression, consequence As BoundStatement, alternativeOpt As BoundStatement) As BoundIfStatement
5058Public Sub New(syntax As SyntaxNode, caseClauses As ImmutableArray(Of BoundCaseClause), conditionOpt As BoundExpression, Optional hasErrors As Boolean = False)
5075Private ReadOnly _ConditionOpt As BoundExpression
5076Public ReadOnly Property ConditionOpt As BoundExpression
5087Public Function Update(caseClauses As ImmutableArray(Of BoundCaseClause), conditionOpt As BoundExpression) As BoundCaseStatement
5113Protected Sub New(kind As BoundKind, syntax as SyntaxNode, valueOpt As BoundExpression, conditionOpt As BoundExpression, Optional hasErrors As Boolean = False)
5120Private ReadOnly _ValueOpt As BoundExpression
5121Public ReadOnly Property ValueOpt As BoundExpression
5127Private ReadOnly _ConditionOpt As BoundExpression
5128Public ReadOnly Property ConditionOpt As BoundExpression
5138Public Sub New(syntax As SyntaxNode, valueOpt As BoundExpression, conditionOpt As BoundExpression, Optional hasErrors As Boolean = False)
5153Public Function Update(valueOpt As BoundExpression, conditionOpt As BoundExpression) As BoundSimpleCaseClause
5166Public Sub New(syntax As SyntaxNode, lowerBoundOpt As BoundExpression, upperBoundOpt As BoundExpression, lowerBoundConditionOpt As BoundExpression, upperBoundConditionOpt As BoundExpression, Optional hasErrors As Boolean = False)
5180Private ReadOnly _LowerBoundOpt As BoundExpression
5181Public ReadOnly Property LowerBoundOpt As BoundExpression
5187Private ReadOnly _UpperBoundOpt As BoundExpression
5188Public ReadOnly Property UpperBoundOpt As BoundExpression
5194Private ReadOnly _LowerBoundConditionOpt As BoundExpression
5195Public ReadOnly Property LowerBoundConditionOpt As BoundExpression
5201Private ReadOnly _UpperBoundConditionOpt As BoundExpression
5202Public ReadOnly Property UpperBoundConditionOpt As BoundExpression
5213Public Function Update(lowerBoundOpt As BoundExpression, upperBoundOpt As BoundExpression, lowerBoundConditionOpt As BoundExpression, upperBoundConditionOpt As BoundExpression) As BoundRangeCaseClause
5226Public Sub New(syntax As SyntaxNode, operatorKind As BinaryOperatorKind, valueOpt As BoundExpression, conditionOpt As BoundExpression, Optional hasErrors As Boolean = False)
5249Public Function Update(operatorKind As BinaryOperatorKind, valueOpt As BoundExpression, conditionOpt As BoundExpression) As BoundRelationalCaseClause
5301Public Sub New(syntax As SyntaxNode, topConditionOpt As BoundExpression, bottomConditionOpt As BoundExpression, topConditionIsUntil As Boolean, bottomConditionIsUntil As Boolean, body As BoundStatement, continueLabel As LabelSymbol, exitLabel As LabelSymbol, Optional hasErrors As Boolean = False)
5316Private ReadOnly _TopConditionOpt As BoundExpression
5317Public ReadOnly Property TopConditionOpt As BoundExpression
5323Private ReadOnly _BottomConditionOpt As BoundExpression
5324Public ReadOnly Property BottomConditionOpt As BoundExpression
5356Public Function Update(topConditionOpt As BoundExpression, bottomConditionOpt As BoundExpression, topConditionIsUntil As Boolean, bottomConditionIsUntil As Boolean, body As BoundStatement, continueLabel As LabelSymbol, exitLabel As LabelSymbol) As BoundDoLoopStatement
5369Public Sub New(syntax As SyntaxNode, condition As BoundExpression, body As BoundStatement, continueLabel As LabelSymbol, exitLabel As LabelSymbol, Optional hasErrors As Boolean = False)
5382Private ReadOnly _Condition As BoundExpression
5383Public ReadOnly Property Condition As BoundExpression
5401Public Function Update(condition As BoundExpression, body As BoundStatement, continueLabel As LabelSymbol, exitLabel As LabelSymbol) As BoundWhileStatement
5414Protected Sub New(kind As BoundKind, syntax as SyntaxNode, declaredOrInferredLocalOpt As LocalSymbol, controlVariable As BoundExpression, body As BoundStatement, nextVariablesOpt As ImmutableArray(Of BoundExpression), continueLabel As LabelSymbol, exitLabel As LabelSymbol, Optional hasErrors As Boolean = False)
5436Private ReadOnly _ControlVariable As BoundExpression
5437Public ReadOnly Property ControlVariable As BoundExpression
5450Private ReadOnly _NextVariablesOpt As ImmutableArray(Of BoundExpression)
5451Public ReadOnly Property NextVariablesOpt As ImmutableArray(Of BoundExpression)
5461Public Sub New(syntax As SyntaxNode, leftOperandPlaceholder As BoundRValuePlaceholder, rightOperandPlaceholder As BoundRValuePlaceholder, addition As BoundUserDefinedBinaryOperator, subtraction As BoundUserDefinedBinaryOperator, lessThanOrEqual As BoundExpression, greaterThanOrEqual As BoundExpression, Optional hasErrors As Boolean = False)
5513Private ReadOnly _LessThanOrEqual As BoundExpression
5514Public ReadOnly Property LessThanOrEqual As BoundExpression
5520Private ReadOnly _GreaterThanOrEqual As BoundExpression
5521Public ReadOnly Property GreaterThanOrEqual As BoundExpression
5532Public Function Update(leftOperandPlaceholder As BoundRValuePlaceholder, rightOperandPlaceholder As BoundRValuePlaceholder, addition As BoundUserDefinedBinaryOperator, subtraction As BoundUserDefinedBinaryOperator, lessThanOrEqual As BoundExpression, greaterThanOrEqual As BoundExpression) As BoundForToUserDefinedOperators
5545Public Sub New(syntax As SyntaxNode, initialValue As BoundExpression, limitValue As BoundExpression, stepValue As BoundExpression, checked As Boolean, operatorsOpt As BoundForToUserDefinedOperators, declaredOrInferredLocalOpt As LocalSymbol, controlVariable As BoundExpression, body As BoundStatement, nextVariablesOpt As ImmutableArray(Of BoundExpression), continueLabel As LabelSymbol, exitLabel As LabelSymbol, Optional hasErrors As Boolean = False)
5564Private ReadOnly _InitialValue As BoundExpression
5565Public ReadOnly Property InitialValue As BoundExpression
5571Private ReadOnly _LimitValue As BoundExpression
5572Public ReadOnly Property LimitValue As BoundExpression
5578Private ReadOnly _StepValue As BoundExpression
5579Public ReadOnly Property StepValue As BoundExpression
5604Public Function Update(initialValue As BoundExpression, limitValue As BoundExpression, stepValue As BoundExpression, checked As Boolean, operatorsOpt As BoundForToUserDefinedOperators, declaredOrInferredLocalOpt As LocalSymbol, controlVariable As BoundExpression, body As BoundStatement, nextVariablesOpt As ImmutableArray(Of BoundExpression), continueLabel As LabelSymbol, exitLabel As LabelSymbol) As BoundForToStatement
5617Public Sub New(syntax As SyntaxNode, collection As BoundExpression, enumeratorInfo As ForEachEnumeratorInfo, declaredOrInferredLocalOpt As LocalSymbol, controlVariable As BoundExpression, body As BoundStatement, nextVariablesOpt As ImmutableArray(Of BoundExpression), continueLabel As LabelSymbol, exitLabel As LabelSymbol, Optional hasErrors As Boolean = False)
5632Private ReadOnly _Collection As BoundExpression
5633Public ReadOnly Property Collection As BoundExpression
5651Public Function Update(collection As BoundExpression, enumeratorInfo As ForEachEnumeratorInfo, declaredOrInferredLocalOpt As LocalSymbol, controlVariable As BoundExpression, body As BoundStatement, nextVariablesOpt As ImmutableArray(Of BoundExpression), continueLabel As LabelSymbol, exitLabel As LabelSymbol) As BoundForEachStatement
5807Public Sub New(syntax As SyntaxNode, localOpt As LocalSymbol, exceptionSourceOpt As BoundExpression, errorLineNumberOpt As BoundExpression, exceptionFilterOpt As BoundExpression, body As BoundBlock, isSynthesizedAsyncCatchAll As Boolean, Optional hasErrors As Boolean = False)
5828Private ReadOnly _ExceptionSourceOpt As BoundExpression
5829Public ReadOnly Property ExceptionSourceOpt As BoundExpression
5835Private ReadOnly _ErrorLineNumberOpt As BoundExpression
5836Public ReadOnly Property ErrorLineNumberOpt As BoundExpression
5842Private ReadOnly _ExceptionFilterOpt As BoundExpression
5843Public ReadOnly Property ExceptionFilterOpt As BoundExpression
5868Public Function Update(localOpt As LocalSymbol, exceptionSourceOpt As BoundExpression, errorLineNumberOpt As BoundExpression, exceptionFilterOpt As BoundExpression, body As BoundBlock, isSynthesizedAsyncCatchAll As Boolean) As BoundCatchBlock
6374Public Sub New(syntax As SyntaxNode, originalArgument As BoundExpression, inConversion As BoundExpression, inPlaceholder As BoundByRefArgumentPlaceholder, outConversion As BoundExpression, outPlaceholder As BoundRValuePlaceholder, type As TypeSymbol, Optional hasErrors As Boolean = False)
6396Private ReadOnly _OriginalArgument As BoundExpression
6397Public ReadOnly Property OriginalArgument As BoundExpression
6403Private ReadOnly _InConversion As BoundExpression
6404Public ReadOnly Property InConversion As BoundExpression
6417Private ReadOnly _OutConversion As BoundExpression
6418Public ReadOnly Property OutConversion As BoundExpression
6436Public Function Update(originalArgument As BoundExpression, inConversion As BoundExpression, inPlaceholder As BoundByRefArgumentPlaceholder, outConversion As BoundExpression, outPlaceholder As BoundRValuePlaceholder, type As TypeSymbol) As BoundByRefArgumentWithCopyBack
6449Public Sub New(syntax As SyntaxNode, originalArgument As BoundExpression, localSymbol As SynthesizedLocal, type As TypeSymbol, Optional hasErrors As Boolean = False)
6465Private ReadOnly _OriginalArgument As BoundExpression
6466Public ReadOnly Property OriginalArgument As BoundExpression
6484Public Function Update(originalArgument As BoundExpression, localSymbol As SynthesizedLocal, type As TypeSymbol) As BoundLateBoundArgumentSupportingAssignmentWithCapture
6657Public Sub New(syntax As SyntaxNode, condition As BoundExpression, jumpIfTrue As Boolean, label As LabelSymbol, Optional hasErrors As Boolean = False)
6669Private ReadOnly _Condition As BoundExpression
6670Public ReadOnly Property Condition As BoundExpression
6695Public Function Update(condition As BoundExpression, jumpIfTrue As Boolean, label As LabelSymbol) As BoundConditionalGoto
6708Public Sub New(syntax As SyntaxNode, originalExpression As BoundExpression, body As BoundBlock, binder As WithBlockBinder, Optional hasErrors As Boolean = False)
6721Private ReadOnly _OriginalExpression As BoundExpression
6722Public ReadOnly Property OriginalExpression As BoundExpression
6747Public Function Update(originalExpression As BoundExpression, body As BoundBlock, binder As WithBlockBinder) As BoundWithStatement
6983Public Sub New(syntax As SyntaxNode, expression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
6993Private ReadOnly _Expression As BoundExpression
6994Public ReadOnly Property Expression As BoundExpression
7005Public Function Update(expression As BoundExpression, type As TypeSymbol) As BoundQuerySource
7156Public Sub New(syntax As SyntaxNode, underlyingExpression As BoundExpression, rangeVariables As ImmutableArray(Of RangeVariableSymbol), compoundVariableType As TypeSymbol, binders As ImmutableArray(Of Binder), type As TypeSymbol, Optional hasErrors As Boolean = False)
7169Private ReadOnly _UnderlyingExpression As BoundExpression
7170Public ReadOnly Property UnderlyingExpression As BoundExpression
7181Public Function Update(underlyingExpression As BoundExpression, rangeVariables As ImmutableArray(Of RangeVariableSymbol), compoundVariableType As TypeSymbol, binders As ImmutableArray(Of Binder), type As TypeSymbol) As BoundQueryClause
7194Public Sub New(syntax As SyntaxNode, underlyingExpression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
7204Private ReadOnly _UnderlyingExpression As BoundExpression
7205Public ReadOnly Property UnderlyingExpression As BoundExpression
7216Public Function Update(underlyingExpression As BoundExpression, type As TypeSymbol) As BoundOrdering
7229Public Sub New(syntax As SyntaxNode, lambdaSymbol As SynthesizedLambdaSymbol, rangeVariables As ImmutableArray(Of RangeVariableSymbol), expression As BoundExpression, exprIsOperandOfConditionalBranch As Boolean, Optional hasErrors As Boolean = False)
7257Private ReadOnly _Expression As BoundExpression
7258Public ReadOnly Property Expression As BoundExpression
7276Public Function Update(lambdaSymbol As SynthesizedLambdaSymbol, rangeVariables As ImmutableArray(Of RangeVariableSymbol), expression As BoundExpression, exprIsOperandOfConditionalBranch As Boolean) As BoundQueryLambda
7289Public Sub New(syntax As SyntaxNode, rangeVariable As RangeVariableSymbol, value As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
7308Private ReadOnly _Value As BoundExpression
7309Public ReadOnly Property Value As BoundExpression
7320Public Function Update(rangeVariable As RangeVariableSymbol, value As BoundExpression, type As TypeSymbol) As BoundRangeVariableAssignment
7397Public Sub New(syntax As SyntaxNode, capturedGroupOpt As BoundQueryClauseBase, groupPlaceholderOpt As BoundRValuePlaceholder, underlyingExpression As BoundExpression, rangeVariables As ImmutableArray(Of RangeVariableSymbol), compoundVariableType As TypeSymbol, binders As ImmutableArray(Of Binder), type As TypeSymbol, Optional hasErrors As Boolean = False)
7426Private ReadOnly _UnderlyingExpression As BoundExpression
7427Public ReadOnly Property UnderlyingExpression As BoundExpression
7438Public Function Update(capturedGroupOpt As BoundQueryClauseBase, groupPlaceholderOpt As BoundRValuePlaceholder, underlyingExpression As BoundExpression, rangeVariables As ImmutableArray(Of RangeVariableSymbol), compoundVariableType As TypeSymbol, binders As ImmutableArray(Of Binder), type As TypeSymbol) As BoundAggregateClause
7451Public Sub New(syntax As SyntaxNode, group As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
7461Private ReadOnly _Group As BoundExpression
7462Public ReadOnly Property Group As BoundExpression
7473Public Function Update(group As BoundExpression, type As TypeSymbol) As BoundGroupAggregation
7530Protected Sub New(kind As BoundKind, syntax as SyntaxNode, eventAccess As BoundExpression, handler As BoundExpression, Optional hasErrors As Boolean = False)
7541Private ReadOnly _EventAccess As BoundExpression
7542Public ReadOnly Property EventAccess As BoundExpression
7548Private ReadOnly _Handler As BoundExpression
7549Public ReadOnly Property Handler As BoundExpression
7559Public Sub New(syntax As SyntaxNode, eventAccess As BoundExpression, handler As BoundExpression, Optional hasErrors As Boolean = False)
7573Public Function Update(eventAccess As BoundExpression, handler As BoundExpression) As BoundAddHandlerStatement
7586Public Sub New(syntax As SyntaxNode, eventAccess As BoundExpression, handler As BoundExpression, Optional hasErrors As Boolean = False)
7600Public Function Update(eventAccess As BoundExpression, handler As BoundExpression) As BoundRemoveHandlerStatement
7613Public Sub New(syntax As SyntaxNode, eventSymbol As EventSymbol, eventInvocation As BoundExpression, Optional hasErrors As Boolean = False)
7631Private ReadOnly _EventInvocation As BoundExpression
7632Public ReadOnly Property EventInvocation As BoundExpression
7643Public Function Update(eventSymbol As EventSymbol, eventInvocation As BoundExpression) As BoundRaiseEventStatement
7656Public Sub New(syntax As SyntaxNode, resourceList As ImmutableArray(Of BoundLocalDeclarationBase), resourceExpressionOpt As BoundExpression, body As BoundBlock, usingInfo As UsingInfo, locals As ImmutableArray(Of LocalSymbol), Optional hasErrors As Boolean = False)
7678Private ReadOnly _ResourceExpressionOpt As BoundExpression
7679Public ReadOnly Property ResourceExpressionOpt As BoundExpression
7711Public Function Update(resourceList As ImmutableArray(Of BoundLocalDeclarationBase), resourceExpressionOpt As BoundExpression, body As BoundBlock, usingInfo As UsingInfo, locals As ImmutableArray(Of LocalSymbol)) As BoundUsingStatement
7724Public Sub New(syntax As SyntaxNode, lockExpression As BoundExpression, body As BoundBlock, Optional hasErrors As Boolean = False)
7735Private ReadOnly _LockExpression As BoundExpression
7736Public ReadOnly Property LockExpression As BoundExpression
7754Public Function Update(lockExpression As BoundExpression, body As BoundBlock) As BoundSyncLockStatement
7767Public Sub New(syntax As SyntaxNode, xmlNamespace As BoundExpression, localName As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
7781Private ReadOnly _XmlNamespace As BoundExpression
7782Public ReadOnly Property XmlNamespace As BoundExpression
7788Private ReadOnly _LocalName As BoundExpression
7789Public ReadOnly Property LocalName As BoundExpression
7795Private ReadOnly _ObjectCreation As BoundExpression
7796Public ReadOnly Property ObjectCreation As BoundExpression
7807Public Function Update(xmlNamespace As BoundExpression, localName As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlName
7820Public Sub New(syntax As SyntaxNode, xmlNamespace As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
7832Private ReadOnly _XmlNamespace As BoundExpression
7833Public ReadOnly Property XmlNamespace As BoundExpression
7839Private ReadOnly _ObjectCreation As BoundExpression
7840Public ReadOnly Property ObjectCreation As BoundExpression
7851Public Function Update(xmlNamespace As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlNamespace
7864Public Sub New(syntax As SyntaxNode, declaration As BoundExpression, childNodes As ImmutableArray(Of BoundExpression), rewriterInfo As BoundXmlContainerRewriterInfo, type As TypeSymbol, Optional hasErrors As Boolean = False)
7878Private ReadOnly _Declaration As BoundExpression
7879Public ReadOnly Property Declaration As BoundExpression
7885Private ReadOnly _ChildNodes As ImmutableArray(Of BoundExpression)
7886Public ReadOnly Property ChildNodes As ImmutableArray(Of BoundExpression)
7904Public Function Update(declaration As BoundExpression, childNodes As ImmutableArray(Of BoundExpression), rewriterInfo As BoundXmlContainerRewriterInfo, type As TypeSymbol) As BoundXmlDocument
7917Public Sub New(syntax As SyntaxNode, version As BoundExpression, encoding As BoundExpression, standalone As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
7930Private ReadOnly _Version As BoundExpression
7931Public ReadOnly Property Version As BoundExpression
7937Private ReadOnly _Encoding As BoundExpression
7938Public ReadOnly Property Encoding As BoundExpression
7944Private ReadOnly _Standalone As BoundExpression
7945Public ReadOnly Property Standalone As BoundExpression
7951Private ReadOnly _ObjectCreation As BoundExpression
7952Public ReadOnly Property ObjectCreation As BoundExpression
7963Public Function Update(version As BoundExpression, encoding As BoundExpression, standalone As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlDeclaration
7976Public Sub New(syntax As SyntaxNode, target As BoundExpression, data As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
7990Private ReadOnly _Target As BoundExpression
7991Public ReadOnly Property Target As BoundExpression
7997Private ReadOnly _Data As BoundExpression
7998Public ReadOnly Property Data As BoundExpression
8004Private ReadOnly _ObjectCreation As BoundExpression
8005Public ReadOnly Property ObjectCreation As BoundExpression
8016Public Function Update(target As BoundExpression, data As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlProcessingInstruction
8029Public Sub New(syntax As SyntaxNode, value As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
8041Private ReadOnly _Value As BoundExpression
8042Public ReadOnly Property Value As BoundExpression
8048Private ReadOnly _ObjectCreation As BoundExpression
8049Public ReadOnly Property ObjectCreation As BoundExpression
8060Public Function Update(value As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlComment
8073Public Sub New(syntax As SyntaxNode, name As BoundExpression, value As BoundExpression, matchesImport As Boolean, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
8093Private ReadOnly _Name As BoundExpression
8094Public ReadOnly Property Name As BoundExpression
8100Private ReadOnly _Value As BoundExpression
8101Public ReadOnly Property Value As BoundExpression
8114Private ReadOnly _ObjectCreation As BoundExpression
8115Public ReadOnly Property ObjectCreation As BoundExpression
8126Public Function Update(name As BoundExpression, value As BoundExpression, matchesImport As Boolean, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlAttribute
8139Public Sub New(syntax As SyntaxNode, argument As BoundExpression, childNodes As ImmutableArray(Of BoundExpression), rewriterInfo As BoundXmlContainerRewriterInfo, type As TypeSymbol, Optional hasErrors As Boolean = False)
8153Private ReadOnly _Argument As BoundExpression
8154Public ReadOnly Property Argument As BoundExpression
8160Private ReadOnly _ChildNodes As ImmutableArray(Of BoundExpression)
8161Public ReadOnly Property ChildNodes As ImmutableArray(Of BoundExpression)
8179Public Function Update(argument As BoundExpression, childNodes As ImmutableArray(Of BoundExpression), rewriterInfo As BoundXmlContainerRewriterInfo, type As TypeSymbol) As BoundXmlElement
8192Public Sub New(syntax As SyntaxNode, memberAccess As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
8202Private ReadOnly _MemberAccess As BoundExpression
8203Public ReadOnly Property MemberAccess As BoundExpression
8214Public Function Update(memberAccess As BoundExpression, type As TypeSymbol) As BoundXmlMemberAccess
8227Public Sub New(syntax As SyntaxNode, expression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
8237Private ReadOnly _Expression As BoundExpression
8238Public ReadOnly Property Expression As BoundExpression
8249Public Function Update(expression As BoundExpression, type As TypeSymbol) As BoundXmlEmbeddedExpression
8262Public Sub New(syntax As SyntaxNode, value As BoundLiteral, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
8281Private ReadOnly _ObjectCreation As BoundExpression
8282Public ReadOnly Property ObjectCreation As BoundExpression
8293Public Function Update(value As BoundLiteral, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlCData
8306Public Sub New(syntax As SyntaxNode, resumeKind As ResumeStatementKind, labelOpt As LabelSymbol, labelExpressionOpt As BoundExpression, Optional hasErrors As Boolean = False)
8333Private ReadOnly _LabelExpressionOpt As BoundExpression
8334Public ReadOnly Property LabelExpressionOpt As BoundExpression
8345Public Function Update(resumeKind As ResumeStatementKind, labelOpt As LabelSymbol, labelExpressionOpt As BoundExpression) As BoundResumeStatement
8358Public Sub New(syntax As SyntaxNode, onErrorKind As OnErrorStatementKind, labelOpt As LabelSymbol, labelExpressionOpt As BoundExpression, Optional hasErrors As Boolean = False)
8385Private ReadOnly _LabelExpressionOpt As BoundExpression
8386Public ReadOnly Property LabelExpressionOpt As BoundExpression
8397Public Function Update(onErrorKind As OnErrorStatementKind, labelOpt As LabelSymbol, labelExpressionOpt As BoundExpression) As BoundOnErrorStatement
8530Public Sub New(syntax As SyntaxNode, value As BoundExpression, jumps As ImmutableArray(Of BoundGotoStatement), Optional hasErrors As Boolean = False)
8546Private ReadOnly _Value As BoundExpression
8547Public ReadOnly Property Value As BoundExpression
8565Public Function Update(value As BoundExpression, jumps As ImmutableArray(Of BoundGotoStatement)) As BoundUnstructuredExceptionOnErrorSwitch
8644Public Sub New(syntax As SyntaxNode, operand As BoundExpression, awaitableInstancePlaceholder As BoundRValuePlaceholder, getAwaiter As BoundExpression, awaiterInstancePlaceholder As BoundLValuePlaceholder, isCompleted As BoundExpression, getResult As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
8669Private ReadOnly _Operand As BoundExpression
8670Public ReadOnly Property Operand As BoundExpression
8683Private ReadOnly _GetAwaiter As BoundExpression
8684Public ReadOnly Property GetAwaiter As BoundExpression
8697Private ReadOnly _IsCompleted As BoundExpression
8698Public ReadOnly Property IsCompleted As BoundExpression
8704Private ReadOnly _GetResult As BoundExpression
8705Public ReadOnly Property GetResult As BoundExpression
8716Public Function Update(operand As BoundExpression, awaitableInstancePlaceholder As BoundRValuePlaceholder, getAwaiter As BoundExpression, awaiterInstancePlaceholder As BoundLValuePlaceholder, isCompleted As BoundExpression, getResult As BoundExpression, type As TypeSymbol) As BoundAwaitOperator
8729Public Sub New(syntax As SyntaxNode, locals As ImmutableArray(Of LocalSymbol), spillFields As ImmutableArray(Of FieldSymbol), statements As ImmutableArray(Of BoundStatement), valueOpt As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
8769Private ReadOnly _ValueOpt As BoundExpression
8770Public ReadOnly Property ValueOpt As BoundExpression
8781Public Function Update(locals As ImmutableArray(Of LocalSymbol), spillFields As ImmutableArray(Of FieldSymbol), statements As ImmutableArray(Of BoundStatement), valueOpt As BoundExpression, type As TypeSymbol) As BoundSpillSequence
8830Public Sub New(syntax As SyntaxNode, original As BoundExpression, start As BoundExpression, lengthOpt As BoundExpression, source As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
8850Private ReadOnly _Original As BoundExpression
8851Public ReadOnly Property Original As BoundExpression
8857Private ReadOnly _Start As BoundExpression
8858Public ReadOnly Property Start As BoundExpression
8864Private ReadOnly _LengthOpt As BoundExpression
8865Public ReadOnly Property LengthOpt As BoundExpression
8871Private ReadOnly _Source As BoundExpression
8872Public ReadOnly Property Source As BoundExpression
8883Public Function Update(original As BoundExpression, start As BoundExpression, lengthOpt As BoundExpression, source As BoundExpression, type As TypeSymbol) As BoundMidResult
8896Public Sub New(syntax As SyntaxNode, receiver As BoundExpression, placeholder As BoundRValuePlaceholder, accessExpression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
8909Private ReadOnly _Receiver As BoundExpression
8910Public ReadOnly Property Receiver As BoundExpression
8923Private ReadOnly _AccessExpression As BoundExpression
8924Public ReadOnly Property AccessExpression As BoundExpression
8935Public Function Update(receiver As BoundExpression, placeholder As BoundRValuePlaceholder, accessExpression As BoundExpression, type As TypeSymbol) As BoundConditionalAccess
8997Public Sub New(syntax As SyntaxNode, receiverOrCondition As BoundExpression, captureReceiver As Boolean, placeholderId As Integer, whenNotNull As BoundExpression, whenNullOpt As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
9017Private ReadOnly _ReceiverOrCondition As BoundExpression
9018Public ReadOnly Property ReceiverOrCondition As BoundExpression
9038Private ReadOnly _WhenNotNull As BoundExpression
9039Public ReadOnly Property WhenNotNull As BoundExpression
9045Private ReadOnly _WhenNullOpt As BoundExpression
9046Public ReadOnly Property WhenNullOpt As BoundExpression
9057Public Function Update(receiverOrCondition As BoundExpression, captureReceiver As Boolean, placeholderId As Integer, whenNotNull As BoundExpression, whenNullOpt As BoundExpression, type As TypeSymbol) As BoundLoweredConditionalAccess
9070Public Sub New(syntax As SyntaxNode, valueTypeReceiver As BoundExpression, referenceTypeReceiver As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
9087Private ReadOnly _ValueTypeReceiver As BoundExpression
9088Public ReadOnly Property ValueTypeReceiver As BoundExpression
9094Private ReadOnly _ReferenceTypeReceiver As BoundExpression
9095Public ReadOnly Property ReferenceTypeReceiver As BoundExpression
9106Public Function Update(valueTypeReceiver As BoundExpression, referenceTypeReceiver As BoundExpression, type As TypeSymbol) As BoundComplexConditionalAccessReceiver
9119Public Sub New(syntax As SyntaxNode, argument As BoundExpression, constantValueOpt As ConstantValue, type As TypeSymbol, Optional hasErrors As Boolean = False)
9135Private ReadOnly _Argument As BoundExpression
9136Public ReadOnly Property Argument As BoundExpression
9154Public Function Update(argument As BoundExpression, constantValueOpt As ConstantValue, type As TypeSymbol) As BoundNameOfOperator
9256Public Sub New(syntax As SyntaxNode, expression As BoundExpression, alignmentOpt As BoundExpression, formatStringOpt As BoundLiteral, Optional hasErrors As Boolean = False)
9267Private ReadOnly _Expression As BoundExpression
9268Public ReadOnly Property Expression As BoundExpression
9274Private ReadOnly _AlignmentOpt As BoundExpression
9275Public ReadOnly Property AlignmentOpt As BoundExpression
9293Public Function Update(expression As BoundExpression, alignmentOpt As BoundExpression, formatStringOpt As BoundLiteral) As BoundInterpolation
12032Dim underlyingLValue As BoundExpression = DirectCast(Me.Visit(node.UnderlyingLValue), BoundExpression)
12063Dim childBoundNodes As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ChildBoundNodes)
12074Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression)
12080Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression)
12086Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression)
12087Dim indices As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Indices)
12093Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression)
12115Dim unevaluatedReceiverOpt As BoundExpression = node.UnevaluatedReceiverOpt
12126Dim unevaluatedReceiverOpt As BoundExpression = DirectCast(Me.Visit(node.UnevaluatedReceiverOpt), BoundExpression)
12162Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression)
12168Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression)
12174Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression)
12180Dim left As BoundExpression = DirectCast(Me.Visit(node.Left), BoundExpression)
12181Dim right As BoundExpression = DirectCast(Me.Visit(node.Right), BoundExpression)
12187Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression)
12193Dim leftOperand As BoundExpression = DirectCast(Me.Visit(node.LeftOperand), BoundExpression)
12195Dim leftTest As BoundExpression = DirectCast(Me.Visit(node.LeftTest), BoundExpression)
12207Dim left As BoundExpression = DirectCast(Me.Visit(node.Left), BoundExpression)
12209Dim right As BoundExpression = DirectCast(Me.Visit(node.Right), BoundExpression)
12216Dim lValue As BoundExpression = DirectCast(Me.Visit(node.LValue), BoundExpression)
12228Dim condition As BoundExpression = DirectCast(Me.Visit(node.Condition), BoundExpression)
12229Dim whenTrue As BoundExpression = DirectCast(Me.Visit(node.WhenTrue), BoundExpression)
12230Dim whenFalse As BoundExpression = DirectCast(Me.Visit(node.WhenFalse), BoundExpression)
12236Dim testExpression As BoundExpression = DirectCast(Me.Visit(node.TestExpression), BoundExpression)
12237Dim convertedTestExpression As BoundExpression = node.ConvertedTestExpression
12239Dim elseExpression As BoundExpression = DirectCast(Me.Visit(node.ElseExpression), BoundExpression)
12245Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression)
12259Dim convertedElements As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ConvertedElements)
12264Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression)
12270Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression)
12277Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression)
12284Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression)
12296Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression)
12312Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression)
12318Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression)
12324Dim expressionOpt As BoundExpression = DirectCast(Me.Visit(node.ExpressionOpt), BoundExpression)
12329Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression)
12334Dim expressionOpt As BoundExpression = DirectCast(Me.Visit(node.ExpressionOpt), BoundExpression)
12344Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression)
12345Dim indices As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Indices)
12356Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression)
12357Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12363Dim constructorArguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ConstructorArguments)
12364Dim namedArguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.NamedArguments)
12370Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression)
12378Dim member As BoundExpression = DirectCast(Me.Visit(node.Member), BoundExpression)
12379Dim argumentsOpt As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ArgumentsOpt)
12392Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12398Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12406Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12420Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12431Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression)
12438Dim initializers As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Initializers)
12445Dim initializers As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Initializers)
12457Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression)
12466Dim bounds As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Bounds)
12474Dim bounds As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Bounds)
12481Dim initializers As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Initializers)
12487Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression)
12494Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression)
12495Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12501Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression)
12517Dim declarationInitializerOpt As BoundExpression = DirectCast(Me.Visit(node.DeclarationInitializerOpt), BoundExpression)
12524Dim initializer As BoundExpression = DirectCast(Me.Visit(node.Initializer), BoundExpression)
12530Dim initializerOpt As BoundExpression = DirectCast(Me.Visit(node.InitializerOpt), BoundExpression)
12539Dim memberAccessExpressionOpt As BoundExpression = DirectCast(Me.Visit(node.MemberAccessExpressionOpt), BoundExpression)
12540Dim initialValue As BoundExpression = DirectCast(Me.Visit(node.InitialValue), BoundExpression)
12545Dim memberAccessExpressionOpt As BoundExpression = DirectCast(Me.Visit(node.MemberAccessExpressionOpt), BoundExpression)
12546Dim initialValue As BoundExpression = DirectCast(Me.Visit(node.InitialValue), BoundExpression)
12551Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression)
12561Dim sideEffects As ImmutableArray(Of BoundExpression) = Me.VisitList(node.SideEffects)
12562Dim valueOpt As BoundExpression = DirectCast(Me.Visit(node.ValueOpt), BoundExpression)
12568Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression)
12573Dim condition As BoundExpression = DirectCast(Me.Visit(node.Condition), BoundExpression)
12594Dim conditionOpt As BoundExpression = DirectCast(Me.Visit(node.ConditionOpt), BoundExpression)
12599Dim valueOpt As BoundExpression = DirectCast(Me.Visit(node.ValueOpt), BoundExpression)
12600Dim conditionOpt As BoundExpression = DirectCast(Me.Visit(node.ConditionOpt), BoundExpression)
12605Dim lowerBoundOpt As BoundExpression = DirectCast(Me.Visit(node.LowerBoundOpt), BoundExpression)
12606Dim upperBoundOpt As BoundExpression = DirectCast(Me.Visit(node.UpperBoundOpt), BoundExpression)
12607Dim lowerBoundConditionOpt As BoundExpression = DirectCast(Me.Visit(node.LowerBoundConditionOpt), BoundExpression)
12608Dim upperBoundConditionOpt As BoundExpression = DirectCast(Me.Visit(node.UpperBoundConditionOpt), BoundExpression)
12613Dim valueOpt As BoundExpression = DirectCast(Me.Visit(node.ValueOpt), BoundExpression)
12614Dim conditionOpt As BoundExpression = DirectCast(Me.Visit(node.ConditionOpt), BoundExpression)
12619Dim topConditionOpt As BoundExpression = DirectCast(Me.Visit(node.TopConditionOpt), BoundExpression)
12620Dim bottomConditionOpt As BoundExpression = DirectCast(Me.Visit(node.BottomConditionOpt), BoundExpression)
12626Dim condition As BoundExpression = DirectCast(Me.Visit(node.Condition), BoundExpression)
12636Dim lessThanOrEqual As BoundExpression = DirectCast(Me.Visit(node.LessThanOrEqual), BoundExpression)
12637Dim greaterThanOrEqual As BoundExpression = DirectCast(Me.Visit(node.GreaterThanOrEqual), BoundExpression)
12642Dim initialValue As BoundExpression = DirectCast(Me.Visit(node.InitialValue), BoundExpression)
12643Dim limitValue As BoundExpression = DirectCast(Me.Visit(node.LimitValue), BoundExpression)
12644Dim stepValue As BoundExpression = DirectCast(Me.Visit(node.StepValue), BoundExpression)
12646Dim controlVariable As BoundExpression = DirectCast(Me.Visit(node.ControlVariable), BoundExpression)
12648Dim nextVariablesOpt As ImmutableArray(Of BoundExpression) = Me.VisitList(node.NextVariablesOpt)
12653Dim collection As BoundExpression = DirectCast(Me.Visit(node.Collection), BoundExpression)
12654Dim controlVariable As BoundExpression = DirectCast(Me.Visit(node.ControlVariable), BoundExpression)
12656Dim nextVariablesOpt As ImmutableArray(Of BoundExpression) = Me.VisitList(node.NextVariablesOpt)
12676Dim exceptionSourceOpt As BoundExpression = DirectCast(Me.Visit(node.ExceptionSourceOpt), BoundExpression)
12677Dim errorLineNumberOpt As BoundExpression = DirectCast(Me.Visit(node.ErrorLineNumberOpt), BoundExpression)
12678Dim exceptionFilterOpt As BoundExpression = DirectCast(Me.Visit(node.ExceptionFilterOpt), BoundExpression)
12739Dim originalArgument As BoundExpression = DirectCast(Me.Visit(node.OriginalArgument), BoundExpression)
12740Dim inConversion As BoundExpression = DirectCast(Me.Visit(node.InConversion), BoundExpression)
12742Dim outConversion As BoundExpression = DirectCast(Me.Visit(node.OutConversion), BoundExpression)
12749Dim originalArgument As BoundExpression = DirectCast(Me.Visit(node.OriginalArgument), BoundExpression)
12774Dim condition As BoundExpression = DirectCast(Me.Visit(node.Condition), BoundExpression)
12779Dim originalExpression As BoundExpression = DirectCast(Me.Visit(node.OriginalExpression), BoundExpression)
12803Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression)
12822Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression)
12829Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression)
12835Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression)
12841Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression)
12854Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression)
12861Dim group As BoundExpression = DirectCast(Me.Visit(node.Group), BoundExpression)
12872Dim eventAccess As BoundExpression = DirectCast(Me.Visit(node.EventAccess), BoundExpression)
12873Dim handler As BoundExpression = DirectCast(Me.Visit(node.Handler), BoundExpression)
12878Dim eventAccess As BoundExpression = DirectCast(Me.Visit(node.EventAccess), BoundExpression)
12879Dim handler As BoundExpression = DirectCast(Me.Visit(node.Handler), BoundExpression)
12884Dim eventInvocation As BoundExpression = DirectCast(Me.Visit(node.EventInvocation), BoundExpression)
12890Dim resourceExpressionOpt As BoundExpression = DirectCast(Me.Visit(node.ResourceExpressionOpt), BoundExpression)
12896Dim lockExpression As BoundExpression = DirectCast(Me.Visit(node.LockExpression), BoundExpression)
12902Dim xmlNamespace As BoundExpression = DirectCast(Me.Visit(node.XmlNamespace), BoundExpression)
12903Dim localName As BoundExpression = DirectCast(Me.Visit(node.LocalName), BoundExpression)
12904Dim objectCreation As BoundExpression = node.ObjectCreation
12910Dim xmlNamespace As BoundExpression = DirectCast(Me.Visit(node.XmlNamespace), BoundExpression)
12911Dim objectCreation As BoundExpression = node.ObjectCreation
12917Dim declaration As BoundExpression = DirectCast(Me.Visit(node.Declaration), BoundExpression)
12918Dim childNodes As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ChildNodes)
12924Dim version As BoundExpression = DirectCast(Me.Visit(node.Version), BoundExpression)
12925Dim encoding As BoundExpression = DirectCast(Me.Visit(node.Encoding), BoundExpression)
12926Dim standalone As BoundExpression = DirectCast(Me.Visit(node.Standalone), BoundExpression)
12927Dim objectCreation As BoundExpression = node.ObjectCreation
12933Dim target As BoundExpression = DirectCast(Me.Visit(node.Target), BoundExpression)
12934Dim data As BoundExpression = DirectCast(Me.Visit(node.Data), BoundExpression)
12935Dim objectCreation As BoundExpression = node.ObjectCreation
12941Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression)
12942Dim objectCreation As BoundExpression = node.ObjectCreation
12948Dim name As BoundExpression = DirectCast(Me.Visit(node.Name), BoundExpression)
12949Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression)
12950Dim objectCreation As BoundExpression = node.ObjectCreation
12956Dim argument As BoundExpression = DirectCast(Me.Visit(node.Argument), BoundExpression)
12957Dim childNodes As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ChildNodes)
12963Dim memberAccess As BoundExpression = DirectCast(Me.Visit(node.MemberAccess), BoundExpression)
12969Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression)
12976Dim objectCreation As BoundExpression = node.ObjectCreation
12982Dim labelExpressionOpt As BoundExpression = DirectCast(Me.Visit(node.LabelExpressionOpt), BoundExpression)
12987Dim labelExpressionOpt As BoundExpression = DirectCast(Me.Visit(node.LabelExpressionOpt), BoundExpression)
13004Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression)
13018Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression)
13020Dim getAwaiter As BoundExpression = DirectCast(Me.Visit(node.GetAwaiter), BoundExpression)
13022Dim isCompleted As BoundExpression = DirectCast(Me.Visit(node.IsCompleted), BoundExpression)
13023Dim getResult As BoundExpression = DirectCast(Me.Visit(node.GetResult), BoundExpression)
13030Dim valueOpt As BoundExpression = DirectCast(Me.Visit(node.ValueOpt), BoundExpression)
13044Dim original As BoundExpression = DirectCast(Me.Visit(node.Original), BoundExpression)
13045Dim start As BoundExpression = DirectCast(Me.Visit(node.Start), BoundExpression)
13046Dim lengthOpt As BoundExpression = DirectCast(Me.Visit(node.LengthOpt), BoundExpression)
13047Dim source As BoundExpression = DirectCast(Me.Visit(node.Source), BoundExpression)
13053Dim receiver As BoundExpression = DirectCast(Me.Visit(node.Receiver), BoundExpression)
13055Dim accessExpression As BoundExpression = DirectCast(Me.Visit(node.AccessExpression), BoundExpression)
13066Dim receiverOrCondition As BoundExpression = DirectCast(Me.Visit(node.ReceiverOrCondition), BoundExpression)
13067Dim whenNotNull As BoundExpression = DirectCast(Me.Visit(node.WhenNotNull), BoundExpression)
13068Dim whenNullOpt As BoundExpression = DirectCast(Me.Visit(node.WhenNullOpt), BoundExpression)
13074Dim valueTypeReceiver As BoundExpression = DirectCast(Me.Visit(node.ValueTypeReceiver), BoundExpression)
13075Dim referenceTypeReceiver As BoundExpression = DirectCast(Me.Visit(node.ReferenceTypeReceiver), BoundExpression)
13081Dim argument As BoundExpression = DirectCast(Me.Visit(node.Argument), BoundExpression)
13099Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression)
13100Dim alignmentOpt As BoundExpression = DirectCast(Me.Visit(node.AlignmentOpt), BoundExpression)
Lowering\AsyncRewriter\AsyncRewriter.AsyncMethodToClassRewriter.Await.vb (9)
49Dim rewrittenGetAwaiter As BoundExpression = VisitExpression(node.GetAwaiter)
50Dim rewrittenIsCompleted As BoundExpression = VisitExpression(node.IsCompleted)
51Dim rewrittenGetResult As BoundExpression = VisitExpression(node.GetResult)
89Dim onAwaitFinished As BoundExpression = Nothing
90Dim clearAwaiterTemp As BoundExpression =
140DirectCast(Me.F.Local(awaiterTemp, False), BoundExpression),
148Dim builderFieldAsRValue As BoundExpression = Me.F.Field(Me.F.Me(), Me._builder, False)
265DirectCast(Me.F.Field(Me.F.Me(), awaiterField, False), BoundExpression),
279Protected Overrides Function MaterializeProxy(origExpression As BoundExpression, proxy As CapturedSymbolOrExpression) As BoundNode
Lowering\AsyncRewriter\AsyncRewriter.AsyncMethodToClassRewriter.Expressions.vb (59)
26Public Function VisitExpression(expression As BoundExpression) As BoundExpression
27Return DirectCast(Me.Visit(expression), BoundExpression)
32Dim valueOpt As BoundExpression = Me.VisitExpression(node.ValueOpt)
53Dim sideEffects As ImmutableArray(Of BoundExpression) = rewritten.SideEffects
54Dim valueOpt As BoundExpression = rewritten.ValueOpt
82Private Function MakeExpressionStatement(expression As BoundExpression, ByRef builder As SpillBuilder) As BoundStatement
95Dim receiverOpt As BoundExpression = rewritten.ReceiverOpt
96Dim arguments As ImmutableArray(Of BoundExpression) = rewritten.Arguments
120Dim arguments As ImmutableArray(Of BoundExpression) = rewritten.Arguments
140Dim receiverOpt As BoundExpression = rewritten.ReceiverOpt
161Dim left As BoundExpression = rewritten.Left
162Dim right As BoundExpression = rewritten.Right
191Dim newArgs As ImmutableArray(Of BoundExpression) = SpillExpressionList(builder, left, right)
206Friend Function ProcessRewrittenAssignmentOperator(rewritten As BoundAssignmentOperator) As BoundExpression
209Dim left As BoundExpression = rewritten.Left
210Dim right As BoundExpression = rewritten.Right
238Dim spilledLeft As BoundExpression = SpillLValue(left, isReceiver:=False, evaluateSideEffects:=True, builder:=builder, isAssignmentTarget:=True)
259Dim rewrittenRight As BoundExpression = Me.VisitExpression(node.LValue)
291Dim initializersBuilder = ArrayBuilder(Of BoundExpression).GetInstance()
294Dim materializedCapture As BoundExpression = capturedLocal.Materialize(Me, node.IsLValue)
311Dim receiverOpt As BoundExpression = rewritten.ReceiverOpt
331Dim operand As BoundExpression = rewritten.Operand
352Dim operand As BoundExpression = rewritten.Operand
372Dim operand As BoundExpression = rewritten.Operand
396Dim operand As BoundExpression = rewritten.UnderlyingLValue
413Dim condition As BoundExpression = rewritten.Condition
414Dim whenTrue As BoundExpression = rewritten.WhenTrue
415Dim whenFalse As BoundExpression = rewritten.WhenFalse
430Dim sequenceValueOpt As BoundExpression
457Private Function MakeAssignmentStatement(expression As BoundExpression, temp As LocalSymbol, <[In], Out> ByRef builder As SpillBuilder) As BoundStatement
468Private Function MakeAssignmentStatement(expression As BoundExpression, temp As LocalSymbol) As BoundStatement
489Dim receiverOrCondition As BoundExpression = DirectCast(Me.Visit(node.ReceiverOrCondition), BoundExpression)
503Dim whenNotNull As BoundExpression = DirectCast(Me.Visit(node.WhenNotNull), BoundExpression)
511Dim whenNullOpt As BoundExpression = DirectCast(Me.Visit(node.WhenNullOpt), BoundExpression)
544Dim condition As BoundExpression
552Dim receiver As BoundExpression = receiverOrCondition
554Dim nullCheckTarget As BoundExpression
555Dim placeholderReplacement As BoundExpression
561Dim capturedReceiver As BoundExpression
613whenNotNull = DirectCast(rewriter.Visit(whenNotNull), BoundExpression)
662Private ReadOnly _replaceWith As BoundExpression
665Public Sub New(placeholderId As Integer, replaceWith As BoundExpression, recursionDepth As Integer)
711Dim bounds As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Bounds)
747Private Function VisitArrayInitializationParts(node As BoundArrayInitialization) As BoundExpression
750Dim parts As ImmutableArray(Of BoundExpression) = node.Initializers
753Dim rewrittenParts(partCount - 1) As BoundExpression
756Dim part As BoundExpression = parts(index)
777Dim expression As BoundExpression = rewritten.Expression
778Dim indices As ImmutableArray(Of BoundExpression) = rewritten.Indices
795Dim expression As BoundExpression = rewritten.Expression
810Dim operand As BoundExpression = rewritten.Operand
830Dim testExpression As BoundExpression = rewritten.TestExpression
831Dim elseExpression As BoundExpression = rewritten.ElseExpression
855Dim operand As BoundExpression = rewritten.Operand
873Dim expression As BoundExpression = rewritten.Expression
Lowering\AsyncRewriter\AsyncRewriter.AsyncMethodToClassRewriter.Spilling.vb (35)
19Private Shared Function NeedsSpill(node As BoundExpression) As Boolean
37Private Shared Function NeedsSpill(nodes As ImmutableArray(Of BoundExpression)) As Boolean
69Public ReadOnly ReceiverOpt As BoundExpression
70Public ReadOnly Arguments As ImmutableArray(Of BoundExpression)
72Public Sub New(receiverOpt As BoundExpression, arguments As ImmutableArray(Of BoundExpression))
82Private Function SpillExpressionsWithReceiver(receiverOpt As BoundExpression,
84expressions As ImmutableArray(Of BoundExpression),
97Dim allExpressions = ImmutableArray.Create(Of BoundExpression)(receiverOpt).Concat(expressions)
158expressions As ImmutableArray(Of BoundExpression),
160) As ImmutableArray(Of BoundExpression)
163Dim newArgs As ImmutableArray(Of BoundExpression) = SpillArgumentListInner(expressions, spillBuilders, firstArgumentIsAReceiverOfAMethodCall, False)
176ParamArray expressions() As BoundExpression) As ImmutableArray(Of BoundExpression)
180Private Function SpillArgumentListInner(arguments As ImmutableArray(Of BoundExpression),
183<[In], Out> ByRef spilledFirstArg As Boolean) As ImmutableArray(Of BoundExpression)
185Dim newArgs(arguments.Length - 1) As BoundExpression
187Dim arg As BoundExpression = arguments(index)
192Dim newInitializers As ImmutableArray(Of BoundExpression) =
200Dim newExpression As BoundExpression
237Private Function SpillValue(expr As BoundExpression, <[In], Out> ByRef builder As SpillBuilder) As BoundExpression
241Private Function SpillValue(expr As BoundExpression, isReceiver As Boolean, evaluateSideEffects As Boolean, <[In], Out> ByRef builder As SpillBuilder) As BoundExpression
253Private Function SpillLValue(expr As BoundExpression, isReceiver As Boolean, evaluateSideEffects As Boolean, <[In], Out> ByRef builder As SpillBuilder, Optional isAssignmentTarget As Boolean = False) As BoundExpression
269Dim sideEffects As ImmutableArray(Of BoundExpression) = sequence.SideEffects
294Dim spilledExpression As BoundExpression = SpillRValue(array.Expression, builder)
296Dim indices As ImmutableArray(Of BoundExpression) = array.Indices
297Dim spilledIndices(indices.Length - 1) As BoundExpression
322Dim newReceiver As BoundExpression = SpillValue(fieldAccess.ReceiverOpt,
355Private Function SpillRValue(expr As BoundExpression, <[In], Out> ByRef builder As SpillBuilder) As BoundExpression
526Private Shared Function Unspillable(node As BoundExpression) As Boolean
550Private Shared Function SpillSequenceWithNewValue(spill As BoundSpillSequence, newValue As BoundExpression) As BoundSpillSequence
Lowering\AsyncRewriter\AsyncRewriter.CapturedSymbolOrExpression.vb (18)
21Friend MustOverride Function Materialize(rewriter As AsyncRewriter.AsyncMethodToClassRewriter, isLValue As Boolean) As BoundExpression
37Friend MustOverride Sub CreateCaptureInitializationCode(rewriter As AsyncRewriter.AsyncMethodToClassRewriter, prologue As ArrayBuilder(Of BoundExpression))
53Friend Overloads Overrides Sub CreateCaptureInitializationCode(rewriter As AsyncRewriter.AsyncMethodToClassRewriter, prologue As ArrayBuilder(Of BoundExpression))
56Friend Overloads Overrides Function Materialize(rewriter As AsyncMethodToClassRewriter, isLValue As Boolean) As BoundExpression
72Friend Overloads Overrides Function Materialize(rewriter As AsyncRewriter.AsyncMethodToClassRewriter, isLValue As Boolean) As BoundExpression
74Dim framePointer As BoundExpression = rewriter.FramePointer(syntax, Me.Field.ContainingType)
87Friend Overloads Overrides Sub CreateCaptureInitializationCode(rewriter As AsyncRewriter.AsyncMethodToClassRewriter, prologue As ArrayBuilder(Of BoundExpression))
107Friend Overloads Overrides Sub CreateCaptureInitializationCode(rewriter As AsyncRewriter.AsyncMethodToClassRewriter, prologue As ArrayBuilder(Of BoundExpression))
115Friend ReadOnly Expression As BoundExpression
117Public Sub New(field As FieldSymbol, expr As BoundExpression)
124Friend Overloads Overrides Sub CreateCaptureInitializationCode(rewriter As AsyncRewriter.AsyncMethodToClassRewriter, prologue As ArrayBuilder(Of BoundExpression))
146Friend Overloads Overrides Sub CreateCaptureInitializationCode(rewriter As AsyncRewriter.AsyncMethodToClassRewriter, prologue As ArrayBuilder(Of BoundExpression))
152Friend Overloads Overrides Function Materialize(rewriter As AsyncMethodToClassRewriter, isLValue As Boolean) As BoundExpression
153Dim newReceiverOpt As BoundExpression = Nothing
175Friend Overloads Overrides Sub CreateCaptureInitializationCode(rewriter As AsyncRewriter.AsyncMethodToClassRewriter, prologue As ArrayBuilder(Of BoundExpression))
182Friend Overloads Overrides Function Materialize(rewriter As AsyncMethodToClassRewriter, isLValue As Boolean) As BoundExpression
186Dim indices(indicesCount - 1) As BoundExpression
191Dim arrayPointer As BoundExpression = Me.ArrayPointer.Materialize(rewriter, False)
Lowering\AsyncRewriter\AsyncRewriter.vb (20)
211Dim stateFieldAsLValue As BoundExpression =
223Dim builderFieldAsLValue As BoundExpression = Me.F.Field(Me.F.Local(stateMachineVariable, True), constructedBuilderField, True)
393initializers As Dictionary(Of LocalSymbol, BoundExpression)) As CapturedSymbolOrExpression
400expression As BoundExpression,
401initializers As Dictionary(Of LocalSymbol, BoundExpression)) As CapturedSymbolOrExpression
448Dim indices As ImmutableArray(Of BoundExpression) = arrayAccess.Indices
474Protected Overrides Sub InitializeParameterWithProxy(parameter As ParameterSymbol, proxy As CapturedSymbolOrExpression, stateMachineVariable As LocalSymbol, initializers As ArrayBuilder(Of BoundExpression))
482Dim expression As BoundExpression = If(parameter.IsMe,
483DirectCast(Me.F.[Me](), BoundExpression),
504Private Function GenerateMethodCall(receiver As BoundExpression,
507ParamArray arguments As BoundExpression()) As BoundExpression
512Private Function GenerateMethodCall(receiver As BoundExpression,
516ParamArray arguments As BoundExpression()) As BoundExpression
532ImmutableArray.Create(Of BoundExpression)(arguments),
539Private Function FindMethodAndReturnMethodGroup(receiver As BoundExpression,
575Private Function GeneratePropertyGet(receiver As BoundExpression, type As TypeSymbol, propertyName As String) As BoundExpression
602Private Function FindPropertyAndReturnPropertyGroup(receiver As BoundExpression, type As TypeSymbol, propertyName As String) As BoundPropertyGroup
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter.vb (90)
38Private ReadOnly _parameterMap As Dictionary(Of ParameterSymbol, BoundExpression) = New Dictionary(Of ParameterSymbol, BoundExpression)()
106recursionDepth As Integer) As BoundExpression
109Dim expressionTree As BoundExpression = r.VisitLambdaInternal(node, delegateType)
130Private Function TranslateLambdaBody(block As BoundBlock) As BoundExpression
157Dim expression As BoundExpression = (DirectCast(stmt, BoundReturnStatement)).ExpressionOpt
180Private Function GenerateDiagnosticAndReturnDummyExpression(code As ERRID, node As BoundNode, ParamArray args As Object()) As BoundExpression
187Private Function Visit(node As BoundExpression) As BoundExpression
200Private Function VisitExpressionWithoutStackGuard(node As BoundExpression) As BoundExpression
270node = node.MemberwiseClone(Of BoundExpression)()
287Private Function VisitInternal(node As BoundExpression) As BoundExpression
288Dim result As BoundExpression
309Private Function VisitExpressionWithStackGuard(node As BoundExpression) As BoundExpression
317Private Function VisitLambdaInternal(node As BoundLambda, delegateType As NamedTypeSymbol) As BoundExpression
322Dim initializers = ArrayBuilder(Of BoundExpression).GetInstance()
323Dim parameters = ArrayBuilder(Of BoundExpression).GetInstance()
336Dim parameter As BoundExpression = ConvertRuntimeHelperToExpressionTree("Parameter", _factory.[Typeof](p.Type.InternalSubstituteTypeParameters(_typeMap).Type), _factory.Literal(p.Name))
347Dim translatedBody As BoundExpression = TranslateLambdaBody(node.Body)
367Private Function VisitCall(node As BoundCall) As BoundExpression
370Dim receiverOpt As BoundExpression = node.ReceiverOpt
374receiverOpt = receiverOpt.MemberwiseClone(Of BoundExpression)()
393Private Function VisitFieldAccess(node As BoundFieldAccess) As BoundExpression
394Dim origReceiverOpt As BoundExpression = node.ReceiverOpt
399Dim rewrittenReceiver As BoundExpression = Nothing
406origReceiverOpt = origReceiverOpt.MemberwiseClone(Of BoundExpression)()
417Private Function VisitPropertyAccess(node As BoundPropertyAccess) As BoundExpression
418Dim origReceiverOpt As BoundExpression = node.ReceiverOpt
423Dim rewrittenReceiver As BoundExpression = Nothing
436Private Function VisitLambda(node As BoundLambda) As BoundExpression
440Private Function VisitDelegateCreationExpression(node As BoundDelegateCreationExpression) As BoundExpression
449Dim receiverOpt As BoundExpression = node.ReceiverOpt
470Dim result As BoundExpression
472Dim methodInfo As BoundExpression = Me._factory.MethodInfo(If(method.CallsiteReducedFromMethod, method))
505Private Function VisitParameter(node As BoundParameter) As BoundExpression
509Private Function VisitArrayAccess(node As BoundArrayAccess) As BoundExpression
521Private Function BuildIndices(expressions As ImmutableArray(Of BoundExpression)) As BoundExpression
523Dim newExpr(count - 1) As BoundExpression
531Private Function VisitBadExpression(node As BoundBadExpression) As BoundExpression
535Private Function VisitObjectCreationExpression(node As BoundObjectCreationExpression) As BoundExpression
536Dim visitedObjectCreation As BoundExpression = VisitObjectCreationExpressionInternal(node)
540Private Function VisitNewT(node As BoundNewT) As BoundExpression
544Private Function VisitObjectCreationContinued(creation As BoundExpression, initializerOpt As BoundExpression) As BoundExpression
563Private Function VisitObjectInitializer(initializer As BoundObjectInitializerExpression) As BoundExpression
567Dim initializers As ImmutableArray(Of BoundExpression) = initializer.Initializers
569Dim newInitializers(initializerCount - 1) As BoundExpression
576Dim left As BoundExpression = assignment.Left
592Dim right As BoundExpression = assignment.Right
598Dim memberRef As BoundExpression = If(leftSymbol.Kind = SymbolKind.Field,
608Private Function VisitCollectionInitializer(initializer As BoundCollectionInitializerExpression) As BoundExpression
609Dim initializers As ImmutableArray(Of BoundExpression) = initializer.Initializers
611Dim newInitializers(initializerCount - 1) As BoundExpression
636Private Function VisitObjectCreationExpressionInternal(node As BoundObjectCreationExpression) As BoundExpression
656Dim methodInfos(properties.Length - 1) As BoundExpression
667Private Function VisitSequence(node As BoundSequence) As BoundExpression
669Dim sideEffects As ImmutableArray(Of BoundExpression) = node.SideEffects
670Dim value As BoundExpression = node.ValueOpt
682Private Function VisitArrayLength(node As BoundArrayLength) As BoundExpression
691ImmutableArray(Of BoundExpression).Empty,
701Private Function VisitArrayCreation(node As BoundArrayCreation) As BoundExpression
703Dim boundType As BoundExpression = _factory.[Typeof](arrayType.ElementType)
713Private Function ConvertArgumentsIntoArray(exprs As ImmutableArray(Of BoundExpression)) As BoundExpression
714Dim newArgs(exprs.Length - 1) As BoundExpression
721Private Function VisitTypeOf(node As BoundTypeOf) As BoundExpression
730Private Function [Call](receiver As BoundExpression, method As MethodSymbol, ParamArray params As BoundExpression()) As BoundExpression
731Dim factoryArgs(0 To params.Length + 1) As BoundExpression
739Private Function [Default](type As TypeSymbol) As BoundExpression
744Private Function [New](helper As SpecialMember, argument As BoundExpression) As BoundExpression
749Private Function Negate(expr As BoundExpression) As BoundExpression
753Private Function InitWithParameterlessValueTypeConstructor(type As TypeSymbol) As BoundExpression
767Private Function CreateLiteralExpression(node As BoundExpression) As BoundExpression
771Private Function CreateLiteralExpression(node As BoundExpression, type As TypeSymbol) As BoundExpression
779ParamArray arguments As BoundExpression()) As BoundExpression
789ParamArray arguments As BoundExpression()) As BoundExpression
811ImmutableArray.Create(Of BoundExpression)(arguments),
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_BinaryOperator.vb (35)
21Private Function VisitBinaryOperator(node As BoundBinaryOperator) As BoundExpression
63Private Function VisitUserDefinedBinaryOperator(node As BoundUserDefinedBinaryOperator) As BoundExpression
102Private Function VisitUserDefinedShortCircuitingOperator(node As BoundUserDefinedShortCircuitingOperator) As BoundExpression
119Private Function ConvertUserDefinedLikeOrConcate(node As BoundUserDefinedBinaryOperator) As BoundExpression
134Private Function ConvertBooleanOperator(node As BoundBinaryOperator) As BoundExpression
149Dim originalLeft As BoundExpression = node.Left
152Dim left As BoundExpression = Nothing
153Dim originalRight As BoundExpression = node.Right
154Dim right As BoundExpression = Nothing
268Private Function ConvertShortCircuitedBooleanOperator(node As BoundBinaryOperator) As BoundExpression
278Dim originalLeft As BoundExpression = node.Left
279Dim left As BoundExpression = Visit(originalLeft)
282Dim originalRight As BoundExpression = node.Right
283Dim right As BoundExpression = Visit(originalRight)
295Dim result As BoundExpression = ConvertRuntimeHelperToExpressionTree(opMethod, left, right)
308Private Function ConvertBinaryOperator(node As BoundBinaryOperator) As BoundExpression
342Dim left As BoundExpression = Visit(node.Left)
343Dim right As BoundExpression
375Dim result As BoundExpression = ConvertRuntimeHelperToExpressionTree(opMethod, left, right)
389Private Function GenerateCastsForBinaryAndUnaryOperator(loweredOperand As BoundExpression,
393needToCastBackToByteOrSByte As Boolean) As BoundExpression
409Private Function MaskShiftCountOperand(node As BoundBinaryOperator, resultType As TypeSymbol, isChecked As Boolean) As BoundExpression
410Dim result As BoundExpression = Nothing
416Dim originalRight As BoundExpression = node.Right
425Dim operand As BoundExpression = conversion.Operand
463Private Function MaskShiftCountOperand(loweredOperand As BoundExpression, shiftedType As TypeSymbol, shiftMask As Integer, shiftConst As ConstantValue, isChecked As Boolean) As BoundExpression
465Dim constantOperand As BoundExpression =
640Private Shared Function AdjustCallArgumentForLiftedOperator(oldArg As BoundExpression, parameterType As TypeSymbol) As BoundExpression
657Private Function AdjustCallForLiftedOperator(opKind As BinaryOperatorKind, [call] As BoundCall, resultType As TypeSymbol) As BoundExpression
664Private Function AdjustCallForLiftedOperator(opKind As UnaryOperatorKind, [call] As BoundCall, resultType As TypeSymbol) As BoundExpression
671Private Function AdjustCallForLiftedOperator_DoNotCallDirectly([call] As BoundCall, resultType As TypeSymbol) As BoundExpression
679Dim oldArgs As ImmutableArray(Of BoundExpression) = [call].Arguments
682Dim newArgs(oldArgs.Length - 1) As BoundExpression
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_ConditionalExpresion.vb (28)
23Private Function VisitTernaryConditionalExpression(node As BoundTernaryConditionalExpression) As BoundExpression
24Dim condition As BoundExpression = Visit(node.Condition)
25Dim whenTrue As BoundExpression = Visit(node.WhenTrue)
26Dim whenFalse As BoundExpression = Visit(node.WhenFalse)
30Private Function VisitBinaryConditionalExpression(node As BoundBinaryConditionalExpression) As BoundExpression
31Dim testExpression As BoundExpression = node.TestExpression
32Dim convTestExpr As BoundExpression = node.ConvertedTestExpression
37Dim rewrittenTestExpression As BoundExpression = Visit(testExpression)
38Dim rewrittenElseExpression As BoundExpression = Visit(node.ElseExpression)
55Dim lambdaBody As BoundExpression = BuildLambdaBodyForCoalesce(conversion, resultType, paramSymbol, conversion.Checked)
56Dim coalesceLambda As BoundExpression = BuildLambdaForCoalesceCall(resultType, paramSymbol, lambdaBody)
68Private Function CreateCoalesceLambdaParameter(paramSymbol As ParameterSymbol) As BoundExpression
72Private Function BuildLambdaForCoalesceCall(toType As TypeSymbol, lambdaParameter As ParameterSymbol, body As BoundExpression) As BoundExpression
77Dim parameter As BoundExpression = ConvertRuntimeHelperToExpressionTree("Parameter", _factory.[Typeof](lambdaParameter.Type), _factory.Literal(s_coalesceLambdaParameterName))
80Dim convertedValue As BoundExpression = Visit(body)
83Dim result As BoundExpression =
86ImmutableArray.Create(Of BoundExpression)(
93ImmutableArray.Create(Of BoundExpression)(
98Private Function BuildLambdaBodyForCoalesce(conversion As BoundConversion, toType As TypeSymbol, lambdaParameter As ParameterSymbol, isChecked As Boolean) As BoundExpression
99Dim parameter As BoundExpression = CreateCoalesceLambdaParameter(lambdaParameter)
122Private Function CreateUserDefinedNullableToUnderlyingConversion(expression As BoundExpression, nullableType As TypeSymbol, isChecked As Boolean) As BoundExpression
147arguments:=ImmutableArray.Create(Of BoundExpression)(expression),
178parameter As BoundExpression,
179isChecked As Boolean) As BoundExpression
225ImmutableArray.Create(Of BoundExpression)(parameter),
238userDefinedConv = userDefinedConv.Update(If(outConv, DirectCast([call], BoundExpression)), newInOutConversionFlags, realParameterType)
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_Conversion.vb (28)
20Private Function VisitConversion(node As BoundConversion) As BoundExpression
29Private Function VisitDirectCast(node As BoundDirectCast) As BoundExpression
38Private Function VisitTryCast(node As BoundTryCast) As BoundExpression
53Private Function ConvertExpression(operand As BoundExpression, conversion As ConversionKind, typeFrom As TypeSymbol, typeTo As TypeSymbol,
54isChecked As Boolean, explicitCastInCode As Boolean, semantics As ConversionSemantics) As BoundExpression
103Dim objectValue As BoundExpression = CreateBuiltInConversion(typeFrom, Me.ObjectType, Visit(operand), isChecked, explicitCastInCode, semantics)
111Private Function ConvertLambda(node As BoundLambda, type As TypeSymbol) As BoundExpression
126rewrittenOperand As BoundExpression,
130Optional specialConversionForNullable As Boolean = False) As BoundExpression
324Private Function ConvertUnderlyingToNullable(operand As BoundExpression, nullableType As TypeSymbol, isChecked As Boolean) As BoundExpression
341Private Function ConvertNullableToUnderlying(operand As BoundExpression, nullableType As TypeSymbol, isChecked As Boolean) As BoundExpression
361Private Function CreateUserDefinedConversion(node As BoundUserDefinedConversion, resultType As TypeSymbol, isLifted As Boolean, isChecked As Boolean) As BoundExpression
370Dim argument As BoundExpression = Nothing
376Dim originalArgument As BoundExpression = node.Operand
385Dim rewrittenCallOperand As BoundExpression = Visit(methodCall.Arguments(0))
388Dim userDefinedConversion As BoundExpression = Convert(rewrittenCallOperand, methodCallType, method, isChecked AndAlso IsIntegralType(methodCallType))
401Private Function CreateTypeAs(expr As BoundExpression, type As TypeSymbol) As BoundExpression
405Private Function CreateTypeAsIfNeeded(operand As BoundExpression, oldType As TypeSymbol, newType As TypeSymbol) As BoundExpression
410Private Function Convert(expr As BoundExpression, type As TypeSymbol, isChecked As Boolean) As BoundExpression
415Private Function Convert(expr As BoundExpression, type As TypeSymbol, helper As MethodSymbol, isChecked As Boolean) As BoundExpression
420Private Function ConvertIfNeeded(operand As BoundExpression, oldType As TypeSymbol, newType As TypeSymbol, isChecked As Boolean) As BoundExpression
Lowering\Instrumentation\CompoundInstrumenter.vb (19)
91Public Overrides Function InstrumentTopLevelExpressionInQuery(original As BoundExpression, rewritten As BoundExpression) As BoundExpression
155Public Overrides Function InstrumentDoLoopStatementCondition(original As BoundDoLoopStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
159Public Overrides Function InstrumentWhileStatementCondition(original As BoundWhileStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
163Public Overrides Function InstrumentForEachStatementCondition(original As BoundForEachStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
167Public Overrides Function InstrumentObjectForLoopInitCondition(original As BoundForToStatement, rewrittenInitCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
171Public Overrides Function InstrumentObjectForLoopCondition(original As BoundForToStatement, rewrittenLoopCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
175Public Overrides Function InstrumentIfStatementCondition(original As BoundIfStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
179Public Overrides Function InstrumentCatchBlockFilter(original As BoundCatchBlock, rewrittenFilter As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
203Public Overrides Function InstrumentSelectStatementCaseCondition(original As BoundSelectStatement, rewrittenCaseCondition As BoundExpression, currentMethodOrLambda As MethodSymbol, ByRef lazyConditionalBranchLocal As LocalSymbol) As BoundExpression
Lowering\Instrumentation\DebugInfoInjector.vb (19)
96Public Overrides Function InstrumentTopLevelExpressionInQuery(original As BoundExpression, rewritten As BoundExpression) As BoundExpression
257Public Overrides Function InstrumentDoLoopStatementCondition(original As BoundDoLoopStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
261Public Overrides Function InstrumentWhileStatementCondition(original As BoundWhileStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
265Public Overrides Function InstrumentForEachStatementCondition(original As BoundForEachStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
269Public Overrides Function InstrumentObjectForLoopInitCondition(original As BoundForToStatement, rewrittenInitCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
273Public Overrides Function InstrumentObjectForLoopCondition(original As BoundForToStatement, rewrittenLoopCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
277Public Overrides Function InstrumentIfStatementCondition(original As BoundIfStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
281Public Overrides Function InstrumentCatchBlockFilter(original As BoundCatchBlock, rewrittenFilter As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
300Public Overrides Function InstrumentSelectStatementCaseCondition(original As BoundSelectStatement, rewrittenCaseCondition As BoundExpression, currentMethodOrLambda As MethodSymbol, ByRef lazyConditionalBranchLocal As LocalSymbol) As BoundExpression
Lowering\Instrumentation\Instrumenter.vb (19)
108Public Overridable Function InstrumentTopLevelExpressionInQuery(original As BoundExpression, rewritten As BoundExpression) As BoundExpression
231Public Overridable Function InstrumentDoLoopStatementCondition(original As BoundDoLoopStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
236Public Overridable Function InstrumentWhileStatementCondition(original As BoundWhileStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
241Public Overridable Function InstrumentForEachStatementCondition(original As BoundForEachStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
246Public Overridable Function InstrumentObjectForLoopInitCondition(original As BoundForToStatement, rewrittenInitCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
251Public Overridable Function InstrumentObjectForLoopCondition(original As BoundForToStatement, rewrittenLoopCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
256Public Overridable Function InstrumentIfStatementCondition(original As BoundIfStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
261Public Overridable Function InstrumentCatchBlockFilter(original As BoundCatchBlock, rewrittenFilter As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
315Public Overridable Function InstrumentSelectStatementCaseCondition(original As BoundSelectStatement, rewrittenCaseCondition As BoundExpression, currentMethodOrLambda As MethodSymbol, ByRef lazyConditionalBranchLocal As LocalSymbol) As BoundExpression
Lowering\LambdaRewriter\LambdaRewriter.vb (36)
98Private _meProxyDeferredInit As BoundExpression
359Private Function FrameOfType(syntax As SyntaxNode, frameType As NamedTypeSymbol) As BoundExpression
360Dim result As BoundExpression = FramePointer(syntax, frameType.OriginalDefinition)
373Friend Overrides Function FramePointer(syntax As SyntaxNode, frameClass As NamedTypeSymbol) As BoundExpression
386Dim innerFrame As BoundExpression = FramePointer(syntax, proxyField.ContainingType)
395Protected Overrides Function MaterializeProxy(origExpression As BoundExpression, proxy As FieldSymbol) As BoundNode
396Dim frame As BoundExpression = FramePointer(origExpression.Syntax, proxy.ContainingType)
500F As Func(Of ArrayBuilder(Of BoundExpression), ArrayBuilder(Of LocalSymbol), BoundNode),
505Dim prologue = ArrayBuilder(Of BoundExpression).GetInstance()
515ImmutableArray(Of BoundExpression).Empty,
516ImmutableArray.Create(Of BoundExpression)(frameAccess))
533Dim left As BoundExpression = New BoundFieldAccess(syntaxNode,
539Dim right As BoundExpression = FrameOfType(syntaxNode, TryCast(frameParent.Type, NamedTypeSymbol))
618prologue As ArrayBuilder(Of BoundExpression))
624Dim value As BoundExpression
650Dim assignProxy As BoundExpression = New BoundAssignmentOperator(
700prologue As ArrayBuilder(Of BoundExpression),
736Function(prologue As ArrayBuilder(Of BoundExpression), newLocals As ArrayBuilder(Of LocalSymbol))
750Function(prologue As ArrayBuilder(Of BoundExpression), newLocals As ArrayBuilder(Of LocalSymbol))
764Function(prologue As ArrayBuilder(Of BoundExpression), newLocals As ArrayBuilder(Of LocalSymbol))
768Return RewriteCatch(node, ArrayBuilder(Of BoundExpression).GetInstance, ArrayBuilder(Of LocalSymbol).GetInstance)
773prologue As ArrayBuilder(Of BoundExpression),
820Dim rewrittenExceptionSource = DirectCast(Me.Visit(node.ExceptionSourceOpt), BoundExpression)
840Dim rewrittenErrorLineNumberOpt = DirectCast(Me.Visit(node.ErrorLineNumberOpt), BoundExpression)
841Dim rewrittenFilter = DirectCast(Me.Visit(node.ExceptionFilterOpt), BoundExpression)
860Function(prologue As ArrayBuilder(Of BoundExpression), newLocals As ArrayBuilder(Of LocalSymbol))
890Function(prologue As ArrayBuilder(Of BoundExpression), newLocals As ArrayBuilder(Of LocalSymbol))
915Dim result As BoundExpression = RewriteLambda(lambda, VisitType(node.Type), (node.ConversionKind And ConversionKind.ConvertedToExpressionTree) <> 0)
930Dim result As BoundExpression = RewriteLambda(lambda, VisitType(node.Type), (node.ConversionKind And ConversionKind.ConvertedToExpressionTree) <> 0)
945Dim result As BoundExpression = RewriteLambda(lambda, VisitType(conversion.Type), (conversion.ConversionKind And ConversionKind.ConvertedToExpressionTree) <> 0)
1019Private Function RewriteLambda(node As BoundLambda, type As TypeSymbol, convertToExpressionTree As Boolean) As BoundExpression
1028Dim rewrittenNode As BoundExpression = node
1129Dim receiver As BoundExpression
1147Dim result As BoundExpression = New BoundDelegateCreationExpression(
1369Dim receiver As BoundExpression = node.ReceiverOpt
1380ImmutableArray.Create(Of BoundExpression)(_meProxyDeferredInit))
Lowering\LocalRewriter\LocalRewriter.vb (38)
27Private _rangeVariableMap As Dictionary(Of RangeVariableSymbol, BoundExpression)
28Private _placeholderReplacementMapDoNotUseDirectly As Dictionary(Of BoundValuePlaceholderBase, BoundExpression)
64Private ReadOnly Property PlaceholderReplacement(placeholder As BoundValuePlaceholderBase) As BoundExpression
73Private Shared Sub AssertPlaceholderReplacement(placeholder As BoundValuePlaceholderBase, value As BoundExpression)
88Private Sub AddPlaceholderReplacement(placeholder As BoundValuePlaceholderBase, value As BoundExpression)
92_placeholderReplacementMapDoNotUseDirectly = New Dictionary(Of BoundValuePlaceholderBase, BoundExpression)()
102Private Sub UpdatePlaceholderReplacement(placeholder As BoundValuePlaceholderBase, value As BoundExpression)
199Dim init As BoundExpression = fixup.Initialization
237Public Shared Function RewriteExpressionTree(node As BoundExpression,
243recursionDepth As Integer) As BoundExpression
258recursionDepth:=recursionDepth), BoundExpression)
266Dim expressionNode = TryCast(node, BoundExpression)
288Private Function VisitExpression(node As BoundExpression) As BoundExpression
295Dim result As BoundExpression
351result = result.MemberwiseClone(Of BoundExpression)()
483receiverOpt As BoundExpression,
484arguments As ImmutableArray(Of BoundExpression),
489) As BoundExpression
494Dim copyBack As ImmutableArray(Of BoundExpression) = Nothing
500Dim result As BoundExpression = New BoundCall(syntax,
520ImmutableArray(Of BoundExpression).Empty,
551Dim rewritten As BoundExpression = VisitExpressionNode(node.UnderlyingLValue)
692value As BoundExpression,
694expressions As ArrayBuilder(Of BoundExpression),
696syntaxOpt As StatementSyntax) As BoundExpression
755value As BoundExpression,
757sideEffects As ImmutableArray(Of BoundExpression)) As BoundExpression
770Dim sideEffectsBuilder = ArrayBuilder(Of BoundExpression).GetInstance
771Dim valueOpt As BoundExpression
795Private Function VisitExpressionNode(expression As BoundExpression) As BoundExpression
796Return DirectCast(Visit(expression), BoundExpression)
813awaiterInstancePlaceholder.MemberwiseClone(Of BoundExpression))
815awaitableInstancePlaceholder.MemberwiseClone(Of BoundExpression))
846ImmutableArray(Of BoundExpression).Empty,
872rewritten = nodeFactory.Call(Nothing, endApp, ImmutableArray(Of BoundExpression).Empty).ToStatement()
Lowering\LocalRewriter\LocalRewriter_BinaryOperators.vb (108)
20Return node.Update(node.OperatorKind, DirectCast(Visit(node.UnderlyingExpression), BoundExpression), node.Checked, node.Type)
34Dim leftOperand As BoundExpression = node.LeftOperand
78ImmutableArray(Of BoundExpression).Empty,
92Dim child As BoundExpression = GetLeftOperand(node, optimizeChildForConditionalBranch)
145Private Shared Function GetLeftOperand(binary As BoundBinaryOperator, ByRef optimizeForConditionalBranch As Boolean) As BoundExpression
156Private Shared Function GetRightOperand(binary As BoundBinaryOperator, adjustIfOptimizableForConditionalBranch As Boolean) As BoundExpression
172Private Function ReplaceMyGroupCollectionPropertyGetWithUnderlyingField(operand As BoundExpression) As BoundExpression
233Private Function TransformRewrittenBinaryOperator(node As BoundBinaryOperator) As BoundExpression
466Private Function RewriteDateComparisonOperator(node As BoundBinaryOperator) As BoundExpression
475Dim result As BoundExpression = node
476Dim left As BoundExpression = node.Left
477Dim right As BoundExpression = node.Right
505Private Function RewriteDecimalComparisonOperator(node As BoundBinaryOperator) As BoundExpression
514Dim result As BoundExpression = node
515Dim left As BoundExpression = node.Left
516Dim right As BoundExpression = node.Right
544Private Function RewriteObjectShortCircuitOperator(node As BoundBinaryOperator) As BoundExpression
547Dim result As BoundExpression = node
548Dim rewrittenLeft As BoundExpression = node.Left
549Dim rewrittenRight As BoundExpression = node.Right
563Dim left As BoundExpression = rewrittenLeft
564Dim right As BoundExpression = rewrittenRight
621Private Function RewritePowOperator(node As BoundBinaryOperator) As BoundExpression
626Dim result As BoundExpression = node
627Dim left As BoundExpression = node.Left
628Dim right As BoundExpression = node.Right
649Private Function RewriteDecimalBinaryOperator(node As BoundBinaryOperator, member As SpecialMember) As BoundExpression
658Dim result As BoundExpression = node
659Dim left As BoundExpression = node.Left
660Dim right As BoundExpression = node.Right
677Private Function RewriteStringComparisonOperator(node As BoundBinaryOperator) As BoundExpression
682Dim result As BoundExpression = node
683Dim left As BoundExpression = node.Left
684Dim right As BoundExpression = node.Right
717Private Function RewriteObjectComparisonOperator(node As BoundBinaryOperator, member As WellKnownMember) As BoundExpression
722Dim result As BoundExpression = node
723Dim left As BoundExpression = node.Left
724Dim right As BoundExpression = node.Right
743result = New BoundConversion(node.Syntax, DirectCast(result, BoundExpression), ConversionKind.NarrowingBoolean, node.Checked, False, node.Type)
750Private Function RewriteLikeOperator(node As BoundBinaryOperator, member As WellKnownMember) As BoundExpression
751Dim left As BoundExpression = node.Left
752Dim right As BoundExpression = node.Right
756Dim result As BoundExpression = node
779Private Function RewriteObjectBinaryOperator(node As BoundBinaryOperator, member As WellKnownMember) As BoundExpression
780Dim left As BoundExpression = node.Left
781Dim right As BoundExpression = node.Right
786Dim result As BoundExpression = node
800Dim left As BoundExpression = VisitExpressionNode(node.Left)
801Dim right As BoundExpression = VisitExpressionNode(GetRightOperand(node, optimizeForConditionalBranch))
806Private Function FinishRewriteOfLiftedIntrinsicBinaryOperator(node As BoundBinaryOperator, left As BoundExpression, right As BoundExpression, optimizeForConditionalBranch As Boolean) As BoundExpression
878Dim whenNotNull As BoundExpression = Nothing
879Dim whenNull As BoundExpression = Nothing
897Dim inits As ArrayBuilder(Of BoundExpression) = Nothing
899Dim leftHasValueExpr As BoundExpression = Nothing
900Dim rightHasValueExpr As BoundExpression = Nothing
917Dim value As BoundExpression = Nothing
919Dim operatorHasValue As BoundExpression = MakeBooleanBinaryExpression(node.Syntax,
954left As BoundExpression, right As BoundExpression,
956rightHasNoValue As Boolean, rightHasValue As Boolean) As BoundExpression
959Dim booleanResult As BoundExpression = Nothing
993Dim leftInit As BoundExpression = Nothing
1019ImmutableArray.Create(Of BoundExpression)(leftInit),
1039Private Function EvaluateOperandAndReturnFalse(node As BoundBinaryOperator, operand As BoundExpression, operandHasValue As Boolean) As BoundExpression
1049Private Function NullableValueOrDefault(operand As BoundExpression, operandHasValue As Boolean) As BoundExpression
1061left As BoundExpression,
1062right As BoundExpression,
1066rightHasValue As Boolean) As BoundExpression
1081Dim notNullOperand As BoundExpression
1082Dim nullOperand As BoundExpression
1117Dim tempInit As BoundExpression = Nothing
1134Dim result As BoundExpression =
1174Dim leftInit As BoundExpression = Nothing
1175Dim capturedLeft As BoundExpression = left
1185Dim rightInit As BoundExpression = Nothing
1186Dim capturedRight As BoundExpression = right
1198Dim OperandValue As BoundExpression = If(leftHasValue, capturedRight, capturedLeft)
1199Dim ConstValue As BoundExpression = NullableOfBooleanValue(node.Syntax, isOr, nullableOfBoolean)
1202Dim value As BoundExpression = MakeTernaryConditionalExpression(node.Syntax,
1227Dim conditionOperand As BoundExpression
1246Dim capturedLeftValue As BoundExpression = NullableValueOrDefault(capturedLeft)
1248Dim leftCapturedOrInit As BoundExpression
1285Dim inits = ArrayBuilder(Of BoundExpression).GetInstance
1311Private Function RewriteNullableIsOrIsNotOperator(node As BoundBinaryOperator) As BoundExpression
1312Dim left As BoundExpression = node.Left
1313Dim right As BoundExpression = node.Right
1325Private Function RewriteNullableIsOrIsNotOperator(isIs As Boolean, operand As BoundExpression, resultType As TypeSymbol) As BoundExpression
1344Dim whenNotNull As BoundExpression = Nothing
1345Dim whenNull As BoundExpression = Nothing
1354Dim result As BoundExpression
1417Dim inits As ArrayBuilder(Of BoundExpression) = Nothing
1423Dim leftCallInput As BoundExpression
1424Dim rightCallInput As BoundExpression
1425Dim condition As BoundExpression = Nothing
1441Dim leftHasValueExpression As BoundExpression = Nothing
1442Dim rightHasValueExpression As BoundExpression = Nothing
1455Dim whenHasValue As BoundExpression = operatorCall.Update(operatorCall.Method,
1458ImmutableArray.Create(Of BoundExpression)(leftCallInput, rightCallInput),
1478Dim result As BoundExpression = MakeTernaryConditionalExpression(node.Syntax,
1498left As BoundExpression,
1499right As BoundExpression) As BoundExpression
Lowering\LocalRewriter\LocalRewriter_Call.vb (31)
19Dim receiver As BoundExpression = node.ReceiverOpt
21Dim arguments As ImmutableArray(Of BoundExpression) = node.Arguments
80Dim copyBack As ImmutableArray(Of BoundExpression) = Nothing
105ImmutableArray.Create(Of BoundExpression)(node),
111ImmutableArray(Of BoundExpression).Empty,
122ByRef receiver As BoundExpression,
123ByRef arguments As ImmutableArray(Of BoundExpression))
136arguments = ImmutableArray.Create(Of BoundExpression)(receiver)
138Dim array(arguments.Length) As BoundExpression
154arguments As ImmutableArray(Of BoundExpression),
157<Out()> ByRef copyBack As ImmutableArray(Of BoundExpression),
159) As ImmutableArray(Of BoundExpression)
168Dim copyBackArray As ArrayBuilder(Of BoundExpression) = Nothing
169Dim rewrittenArgs = ArrayBuilder(Of BoundExpression).GetInstance
175Dim rewritten As BoundExpression
223argument As BoundExpression,
224rewrittenArgument As BoundExpression,
226) As BoundExpression
240Dim storeVal As BoundExpression = New BoundAssignmentOperator(rewrittenArgument.Syntax,
252ByRef copyBackArray As ArrayBuilder(Of BoundExpression)
253) As BoundExpression
259Dim originalArgument As BoundExpression = argument.OriginalArgument
286Dim rewrittenArgumentInConversion As BoundExpression = VisitExpression(argument.InConversion)
297copyBackArray = ArrayBuilder(Of BoundExpression).GetInstance()
300Dim firstUse As BoundExpression
301Dim secondUse As BoundExpression
320Dim inputValue As BoundExpression = VisitAndGenerateObjectCloneIfNeeded(argument.InConversion)
328Dim storeVal As BoundExpression = New BoundAssignmentOperator(argument.Syntax, boundTemp, inputValue, True, argument.Type)
332Dim copyBack As BoundExpression
337BoundExpression)
340Dim copyBackValue As BoundExpression = VisitExpressionNode(argument.OutConversion)
Lowering\LocalRewriter\LocalRewriter_ConditionalExpressions.vb (27)
27Dim convertedTestExpression As BoundExpression = node.ConvertedTestExpression
62Dim placeholderSubstitute As BoundExpression = Nothing
92Dim ternaryConditionalExpression As BoundExpression = placeholderSubstitute
109Dim result As BoundExpression =
124sideEffects:=ImmutableArray(Of BoundExpression).Empty,
129Private Function RewriteBinaryConditionalExpressionInExpressionLambda(node As BoundBinaryConditionalExpression) As BoundExpression
131Dim testExpression As BoundExpression = node.TestExpression
133Dim rewrittenTestExpression As BoundExpression = VisitExpression(testExpression)
136Dim rewrittenWhenTrue As BoundExpression = Nothing
138Dim convertedTestExpression As BoundExpression = node.ConvertedTestExpression
162Dim rewrittenWhenFalse As BoundExpression = VisitExpression(node.ElseExpression)
171Private Shared Function TransformReferenceOrUnconstrainedRewrittenBinaryConditionalExpression(node As BoundBinaryConditionalExpression) As BoundExpression
222Dim whenNotNull As BoundExpression = Nothing
223Dim whenNull As BoundExpression = Nothing
249Dim tempInit As BoundExpression = Nothing
253Dim capturedleft As BoundExpression = CaptureNullableIfNeeded(rewrittenLeft,
258Dim condition As BoundExpression = NullableHasValue(If(tempInit, capturedleft))
259Dim whenTrue As BoundExpression
274Dim result As BoundExpression = MakeTernaryConditionalExpression(node.Syntax, condition, whenTrue, rewrittenRight)
280ImmutableArray(Of BoundExpression).Empty,
288Private Function MakeResultFromNonNullLeft(rewrittenLeft As BoundExpression, convertedTestExpression As BoundExpression, testExpressionPlaceholder As BoundRValuePlaceholder) As BoundExpression
303Private Function VisitExpressionNode(node As BoundExpression,
305placeholderSubstitute As BoundExpression) As BoundExpression
325Private Shared Function TransformRewrittenTernaryConditionalExpression(node As BoundTernaryConditionalExpression) As BoundExpression
Lowering\LocalRewriter\LocalRewriter_Conversion.vb (57)
15Dim result = DirectCast(Visit(node.Operand), BoundExpression)
36Return node.Update(DirectCast(Visit(node.Operand), BoundExpression),
130Private Shared Function IsFloatingPointExpressionOfUnknownPrecision(rewrittenNode As BoundExpression) As Boolean
167Private Function RewriteTupleConversion(node As BoundConversion) As BoundExpression
175Private Function MakeTupleConversion(syntax As SyntaxNode, rewrittenOperand As BoundExpression, destinationType As TypeSymbol, convertedElements As BoundConvertedTupleElements) As BoundExpression
204Dim fieldAccessorsBuilder = ArrayBuilder(Of BoundExpression).GetInstance(numElements)
205Dim assignmentToTemp As BoundExpression = Nothing
207Dim savedTuple As BoundExpression = CaptureOperand(rewrittenOperand, tupleTemp, assignmentToTemp)
301Private Shared Function NoParameterRelaxation(from As BoundExpression, toLambda As LambdaSymbol) As Boolean
346Dim conditionalResult As BoundExpression = F.TernaryConditionalExpression(condition:=checkIfNothing, ifTrue:=conversionIfNothing, ifFalse:=convertedValue)
362Private Function CouldPossiblyBeNothing(F As SyntheticBoundNodeFactory, node As BoundExpression) As Boolean
382Private Function RewriteNullableConversion(node As BoundConversion) As BoundExpression
385Dim rewrittenOperand = DirectCast(Me.Visit(node.Operand), BoundExpression)
396rewrittenOperand As BoundExpression) As BoundExpression
473Dim result As BoundExpression = rewrittenOperand
478Dim operandHasValue As BoundExpression = Nothing
481Dim inits As ArrayBuilder(Of BoundExpression) = Nothing
494Dim whenNotNull As BoundExpression = Nothing
495Dim whenNull As BoundExpression = Nothing
523operand As BoundExpression,
524operandHasValue As BoundExpression,
526inits As ArrayBuilder(Of BoundExpression)
527) As BoundExpression
595rewrittenOperand As BoundExpression) As BoundExpression
716Dim whenHasNoValue As BoundExpression = NullableNull(node.Syntax, resultType)
727Dim inputToOperatorMethod As BoundExpression
729Dim condition As BoundExpression = Nothing
738Dim tempInit As BoundExpression = Nothing
742Dim capturedleft As BoundExpression = CaptureNullableIfNeeded(rewrittenOperand,
759Dim whenHasValue As BoundExpression = operatorCall.Update(operatorCall.Method,
778Dim result As BoundExpression = MakeTernaryConditionalExpression(node.Syntax, condition, whenHasValue, whenHasNoValue)
784ImmutableArray(Of BoundExpression).Empty,
796Private Function TransformRewrittenConversion(rewrittenConversion As BoundConversion) As BoundExpression
801Dim result As BoundExpression = rewrittenConversion
873Private Function RewriteReferenceTypeToCharArrayRankOneConversion(node As BoundConversion, typeFrom As TypeSymbol, typeTo As TypeSymbol) As BoundExpression
876Dim result As BoundExpression = node
906Private Shared Function RewriteAsDirectCast(node As BoundConversion) As BoundExpression
918Private Function RewriteFromObjectConversion(node As BoundConversion, typeFrom As TypeSymbol, underlyingTypeTo As TypeSymbol) As BoundExpression
921Dim result As BoundExpression = node
987result = New BoundConversion(node.Syntax, DirectCast(result, BoundExpression),
996Private Function RewriteToStringConversion(node As BoundConversion, underlyingTypeFrom As TypeSymbol, typeTo As TypeSymbol) As BoundExpression
999Dim result As BoundExpression = node
1083Private Function RewriteFromStringConversion(node As BoundConversion, typeFrom As TypeSymbol, underlyingTypeTo As TypeSymbol) As BoundExpression
1086Dim result As BoundExpression = node
1132result = New BoundConversion(node.Syntax, DirectCast(result, BoundExpression),
1141Private Function RewriteNumericOrBooleanToDecimalConversion(node As BoundConversion, underlyingTypeFrom As TypeSymbol, typeTo As TypeSymbol) As BoundExpression
1145Dim result As BoundExpression = node
1222Private Function RewriteDecimalToNumericOrBooleanConversion(node As BoundConversion, typeFrom As TypeSymbol, underlyingTypeTo As TypeSymbol) As BoundExpression
1226Dim result As BoundExpression = node
1269result = New BoundConversion(node.Syntax, DirectCast(result, BoundExpression),
1277Private Function RewriteFloatingToIntegralConversion(node As BoundConversion, typeFrom As TypeSymbol, underlyingTypeTo As TypeSymbol) As BoundExpression
1280Dim result As BoundExpression = node
1416Dim operand As BoundExpression = node.Operand
1425returnValue = New BoundDirectCast(node.Syntax, DirectCast(Visit(operand), BoundExpression), node.ConversionKind, typeTo, Nothing)
Lowering\LocalRewriter\LocalRewriter_ForEach.vb (17)
30Dim originalCollection As BoundExpression
45Dim replacedCollection As BoundExpression = originalCollection
101replacedControlVariable), BoundExpression)
185collectionExpression As BoundExpression
256Dim boundLimit As BoundExpression = Nothing
267ImmutableArray(Of BoundExpression).Empty,
276Dim boundCurrent As BoundExpression
282ImmutableArray.Create(Of BoundExpression)(boundIndex.MakeRValue()),
297ImmutableArray.Create(Of BoundExpression)(boundIndex.MakeRValue()),
302ImmutableArray.Create(Of BoundExpression)(boundIndex.MakeRValue()), elementType, hasErrors:=True)
352initExpression As BoundExpression,
425limit As BoundExpression,
711rewrittenCondition As BoundExpression,
713rewrittenDisposeConversion As BoundExpression
720ImmutableArray.Create(Of BoundExpression)(rewrittenBoundLocal)),
748ImmutableArray(Of BoundExpression).Empty,
764ImmutableArray(Of BoundExpression).Empty, Nothing, voidType).ToStatement
Lowering\LocalRewriter\LocalRewriter_ForTo.vb (33)
27Dim rewrittenLimit As BoundExpression = VisitExpressionNode(node.LimitValue)
47rewrittenControlVariable As BoundExpression,
48rewrittenInitialValue As BoundExpression,
49rewrittenLimit As BoundExpression,
50rewrittenStep As BoundExpression) As BoundBlock
62Dim cacheAssignments = ArrayBuilder(Of BoundExpression).GetInstance()
111Dim stepValue As BoundExpression = rewrittenStep
112Dim stepHasValue As BoundExpression = Nothing
128Dim literal As BoundExpression = New BoundLiteral(rewrittenStep.Syntax, ConstantValue.Default(literalUnderlyingType.SpecialType), stepValue.Type)
135Dim isUp As BoundExpression = TransformRewrittenBinaryOperator(
309Private Shared Function WillDoAtLeastOneIteration(rewrittenInitialValue As BoundExpression,
310rewrittenLimit As BoundExpression,
311rewrittenStep As BoundExpression) As Boolean
385rewrittenControlVariable As BoundExpression,
386rewrittenInitialValue As BoundExpression,
387rewrittenLimit As BoundExpression,
388rewrittenStep As BoundExpression) As BoundBlock
426Dim rewrittenInitCondition As BoundExpression
483Dim rewrittenLoopCondition As BoundExpression
558Private Function RewriteForLoopIncrement(controlVariable As BoundExpression,
559stepValue As BoundExpression,
565Dim newValue As BoundExpression
576Dim hasValues As BoundExpression = Nothing
630Private Function NegateIfStepNegative(value As BoundExpression, [step] As BoundExpression) As BoundExpression
652Private Function RewriteForLoopCondition(controlVariable As BoundExpression,
653limit As BoundExpression,
654stepValue As BoundExpression,
656positiveFlag As SynthesizedLocal) As BoundExpression
729Dim condition As BoundExpression
730Dim ctrlLimitHasValue As BoundExpression = Nothing
762Dim isUp As BoundExpression = New BoundLocal(limit.Syntax,
Lowering\LocalRewriter\LocalRewriter_LateBindingHelpers.vb (109)
19rewrittenReceiver As BoundExpression,
20objectType As TypeSymbol) As BoundExpression
39receiver As BoundExpression,
41typeType As TypeSymbol) As BoundExpression
51Private Function LateMakeTypeArgumentArrayArgument(node As SyntaxNode, arguments As BoundTypeArguments, typeArrayType As TypeSymbol) As BoundExpression
62booleanArrayType As TypeSymbol) As BoundExpression
75Dim bounds As BoundExpression = New BoundLiteral(node, ConstantValue.Create(flags.Length), intType)
77Dim initializers = ArrayBuilder(Of BoundExpression).GetInstance
89rewrittenArguments As ImmutableArray(Of BoundExpression),
91objectArrayType As TypeSymbol) As BoundExpression
115Dim bounds As BoundExpression = New BoundLiteral(node, ConstantValue.Create(rewrittenArguments.Length), intType)
123Dim sideeffects = ArrayBuilder(Of BoundExpression).GetInstance
143Dim indexExpr As BoundExpression = New BoundLiteral(node, ConstantValue.Create(indexVal), intType)
146Dim arrayElement As BoundExpression = New BoundArrayAccess(node,
160rewrittenValue As BoundExpression,
161rewrittenArguments As ImmutableArray(Of BoundExpression),
163objectArrayType As TypeSymbol) As BoundExpression
204Dim bounds As BoundExpression = New BoundLiteral(node, ConstantValue.Create(rewrittenArguments.Length + 1), intType)
212Dim sideeffects = ArrayBuilder(Of BoundExpression).GetInstance
249arrayRef As BoundExpression,
251value As BoundExpression,
252intType As TypeSymbol) As BoundExpression
254Dim indexExpr As BoundExpression = New BoundLiteral(node, ConstantValue.Create(index), intType)
255Dim arrayElement As BoundExpression = New BoundArrayAccess(node,
265rewrittenArguments As ImmutableArray(Of BoundExpression),
266objectArrayType As TypeSymbol) As BoundExpression
276Dim bounds As BoundExpression = New BoundLiteral(node, ConstantValue.Default(ConstantValueTypeDiscriminator.Int32), intType)
280Dim bounds As BoundExpression = New BoundLiteral(node, ConstantValue.Create(rewrittenArguments.Length), intType)
282Dim initializers = ArrayBuilder(Of BoundExpression).GetInstance
305stringArrayType As TypeSymbol) As BoundExpression
317Dim initializers = ArrayBuilder(Of BoundExpression).GetInstance
329Dim bounds As BoundExpression = New BoundLiteral(node, ConstantValue.Create(initializer.Initializers.Length), intType)
339Private Function LateMakeConditionalCopyback(assignmentTarget As BoundExpression,
340valueArrayRef As BoundExpression,
341copyBackArrayRef As BoundExpression,
342argNum As Integer) As BoundExpression
347Dim index As BoundExpression = New BoundLiteral(syntax, ConstantValue.Create(argNum), intType)
351Dim condition As BoundExpression = New BoundArrayAccess(syntax,
357Dim value As BoundExpression = New BoundArrayAccess(syntax,
379ImmutableArray.Create(Of BoundExpression)(value, getTypeExpr),
398Dim voidNoOp As BoundExpression = New BoundSequence(syntax,
400ImmutableArray(Of BoundExpression).Empty,
404Dim voidAssignment As BoundExpression = LateMakeCopyback(syntax,
417assignmentTarget As BoundExpression,
418convertedValue As BoundExpression) As BoundExpression
452Dim assignment As BoundExpression = New BoundAssignmentOperator(syntax,
467receiverExpr As BoundExpression,
468argExpressions As ImmutableArray(Of BoundExpression)) As BoundExpression
490Dim receiver As BoundExpression = LateMakeReceiverArgument(syntax, receiverExpr.MakeRValue, lateIndexGetMethod.Parameters(0).Type)
492Dim arguments As BoundExpression = LateMakeArgumentArrayArgument(node.Syntax, argExpressions, node.ArgumentNamesOpt, lateIndexGetMethod.Parameters(1).Type)
494Dim argumentNames As BoundExpression = LateMakeArgumentNameArrayArgument(syntax, node.ArgumentNamesOpt, lateIndexGetMethod.Parameters(2).Type)
496Dim callArgs = ImmutableArray.Create(Of BoundExpression)(receiver,
500Dim callerInvocation As BoundExpression = New BoundCall(
515assignmentValue As BoundExpression,
516argExpressions As ImmutableArray(Of BoundExpression),
518isCopyBack As Boolean) As BoundExpression
535Return New BoundSequence(syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(memberAccess), Nothing, Me.GetSpecialType(SpecialType.System_Void))
540Return New BoundSequence(syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(memberAccess), Nothing, Me.GetSpecialType(SpecialType.System_Void))
545Dim receiver As BoundExpression = LateMakeReceiverArgument(syntax,
549Dim containerType As BoundExpression = LateMakeContainerArgument(syntax, memberAccess.ReceiverOpt, memberAccess.ContainerTypeOpt, lateSetMethod.Parameters(1).Type)
553Dim arguments As BoundExpression = LateMakeSetArgumentArrayArgument(syntax, assignmentValue, argExpressions, argNames, lateSetMethod.Parameters(3).Type)
555Dim argumentNames As BoundExpression = LateMakeArgumentNameArrayArgument(syntax, argNames, lateSetMethod.Parameters(4).Type)
557Dim typeArguments As BoundExpression = LateMakeTypeArgumentArrayArgument(syntax, memberAccess.TypeArgumentsOpt, lateSetMethod.Parameters(5).Type)
559Dim callArgs As ImmutableArray(Of BoundExpression)
561callArgs = ImmutableArray.Create(Of BoundExpression)(receiver,
569Dim optimisticSet As BoundExpression = MakeBooleanLiteral(syntax, isCopyBack, lateSetMethod.Parameters(6).Type)
571Dim rValueBase As BoundExpression = MakeBooleanLiteral(syntax, baseIsNotLValue, lateSetMethod.Parameters(7).Type)
573callArgs = ImmutableArray.Create(Of BoundExpression)(receiver,
596assignmentValue As BoundExpression,
597isCopyBack As Boolean) As BoundExpression
614Return New BoundSequence(syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(invocation), Nothing, Me.GetSpecialType(SpecialType.System_Void))
619Return New BoundSequence(syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(invocation), Nothing, Me.GetSpecialType(SpecialType.System_Void))
624Dim receiver As BoundExpression = LateMakeReceiverArgument(syntax, invocation.Member.MakeRValue, lateIndexSetMethod.Parameters(0).Type)
626Dim arguments As BoundExpression = LateMakeSetArgumentArrayArgument(syntax, assignmentValue.MakeRValue, invocation.ArgumentsOpt, invocation.ArgumentNamesOpt, lateIndexSetMethod.Parameters(1).Type)
628Dim argumentNames As BoundExpression = LateMakeArgumentNameArrayArgument(syntax, invocation.ArgumentNamesOpt, lateIndexSetMethod.Parameters(2).Type)
630Dim callArgs As ImmutableArray(Of BoundExpression)
632callArgs = ImmutableArray.Create(Of BoundExpression)(receiver,
637Dim optimisticSet As BoundExpression = MakeBooleanLiteral(syntax, isCopyBack, lateIndexSetMethod.Parameters(3).Type)
639Dim rValueBase As BoundExpression = MakeBooleanLiteral(syntax, baseIsNotLValue, lateIndexSetMethod.Parameters(4).Type)
641callArgs = ImmutableArray.Create(Of BoundExpression)(receiver,
662receiverExpression As BoundExpression,
663argExpressions As ImmutableArray(Of BoundExpression),
664assignmentArguments As ImmutableArray(Of BoundExpression),
666useLateCall As Boolean) As BoundExpression
711Dim argumentsArray As BoundExpression = LateMakeArgumentArrayArgument(syntax, argExpressions, argNames, lateCallOrGetMethod.Parameters(3).Type)
715Dim copyBackFlagArray As BoundExpression = LateMakeCopyBackArray(syntax, Nothing, lateCallOrGetMethod.Parameters(6).Type)
718Dim copyBackBuilder As ArrayBuilder(Of BoundExpression) = Nothing
745Dim assignmentTarget As BoundExpression = assignmentArguments(i)
762copyBackBuilder = ArrayBuilder(Of BoundExpression).GetInstance(assignmentArguments.Length)
785Dim receiverValue As BoundExpression = If(receiverExpression Is Nothing, Nothing, receiverExpression.MakeRValue)
788Dim receiver As BoundExpression = LateMakeReceiverArgument(syntax, receiverValue, lateCallOrGetMethod.Parameters(0).Type)
790Dim containerType As BoundExpression = LateMakeContainerArgument(syntax, receiverExpression, memberAccess.ContainerTypeOpt, lateCallOrGetMethod.Parameters(1).Type)
794Dim arguments As BoundExpression = argumentsArray
796Dim argumentNames As BoundExpression = LateMakeArgumentNameArrayArgument(syntax, argNames, lateCallOrGetMethod.Parameters(4).Type)
798Dim typeArguments As BoundExpression = LateMakeTypeArgumentArrayArgument(syntax, memberAccess.TypeArgumentsOpt, lateCallOrGetMethod.Parameters(5).Type)
800Dim copyBack As BoundExpression = copyBackFlagArray
802Dim callArgs = ImmutableArray.Create(Of BoundExpression)(receiver,
823Dim ignoreReturn As BoundExpression = MakeBooleanLiteral(syntax, True, lateCallOrGetMethod.Parameters(7).Type)
827Dim callerInvocation As BoundExpression = New BoundCall(
846ImmutableArray.Create(Of BoundExpression)(store).Concat(copyBackBuilder.ToImmutableAndFree),
859ByRef arguments As ImmutableArray(Of BoundExpression),
860<Out> ByRef writeTargets As ImmutableArray(Of BoundExpression))
869Dim argumentBuilder = ArrayBuilder(Of BoundExpression).GetInstance
870Dim writeTargetsBuilder = ArrayBuilder(Of BoundExpression).GetInstance
872Dim writeTarget As BoundExpression
953Dim bounds As BoundExpression = New BoundLiteral(node, ConstantValue.Create(types.Length), intType)
956Dim initializers = ArrayBuilder(Of BoundExpression).GetInstance
Lowering\LocalRewriter\LocalRewriter_NullableHelpers.vb (61)
17Private Function WrapInNullable(expr As BoundExpression, nullableType As TypeSymbol) As BoundExpression
42Private Function ProcessNullableOperand(operand As BoundExpression,
43<Out> ByRef hasValueExpr As BoundExpression,
45ByRef inits As ArrayBuilder(Of BoundExpression),
46doNotCaptureLocals As Boolean) As BoundExpression
51Private Function ProcessNullableOperand(operand As BoundExpression,
52<Out> ByRef hasValueExpr As BoundExpression,
54ByRef inits As ArrayBuilder(Of BoundExpression),
56operandHasValue As Boolean) As BoundExpression
78Private Shared Function RightCantChangeLeftLocal(left As BoundExpression, right As BoundExpression) As Boolean
91Private Function CaptureNullableIfNeeded(operand As BoundExpression,
93<Out> ByRef init As BoundExpression,
94doNotCaptureLocals As Boolean) As BoundExpression
117Private Function CaptureOperand(operand As BoundExpression, <Out> ByRef temp As SynthesizedLocal, <Out> ByRef init As BoundExpression) As BoundExpression
125operand As BoundExpression,
127<[In], Out> ByRef inits As ArrayBuilder(Of BoundExpression),
129) As BoundExpression
132Dim init As BoundExpression = Nothing
140inits = If(inits, ArrayBuilder(Of BoundExpression).GetInstance)
156Private Function NullableValueOrDefault(expr As BoundExpression) As BoundExpression
180Dim whenNotNull As BoundExpression = Nothing
181Dim whenNull As BoundExpression = Nothing
198ImmutableArray(Of BoundExpression).Empty,
213Private Function NullableValue(expr As BoundExpression) As BoundExpression
227ImmutableArray(Of BoundExpression).Empty,
240Private Function NullableHasValue(expr As BoundExpression) As BoundExpression
255ImmutableArray(Of BoundExpression).Empty,
266Private Shared Function NullableNull(syntax As SyntaxNode, nullableType As TypeSymbol) As BoundExpression
271ImmutableArray(Of BoundExpression).Empty,
281Private Shared Function NullableNull(candidateNullExpression As BoundExpression,
282type As TypeSymbol) As BoundExpression
297Private Function NullableFalse(syntax As SyntaxNode, nullableOfBoolean As TypeSymbol) As BoundExpression
303Private Function NullableTrue(syntax As SyntaxNode, nullableOfBoolean As TypeSymbol) As BoundExpression
320Private Function NullableOfBooleanValue(syntax As SyntaxNode, isTrue As Boolean, nullableOfBoolean As TypeSymbol) As BoundExpression
331Private Shared Function HasNoValue(expr As BoundExpression) As Boolean
348Private Shared Function HasValue(expr As BoundExpression) As Boolean
373left As BoundExpression,
374right As BoundExpression,
376resultType As TypeSymbol) As BoundExpression
474left As BoundExpression,
475right As BoundExpression) As BoundExpression
490Private Shared Function MakeSequence(first As BoundExpression, second As BoundExpression) As BoundExpression
498first As BoundExpression,
499second As BoundExpression) As BoundExpression
517condition As BoundExpression,
518whenTrue As BoundExpression,
519whenFalse As BoundExpression) As BoundExpression
536Private Shared Function GetSideeffects(operand As BoundExpression) As BoundExpression
Lowering\LocalRewriter\LocalRewriter_ObjectCreation.vb (26)
22Dim result As BoundExpression = node
26Dim copyBack As ImmutableArray(Of BoundExpression) = Nothing
70Dim newGuid As BoundExpression
74newGuid = New BoundBadExpression(node.Syntax, LookupResultKind.NotCreatable, ImmutableArray(Of Symbol).Empty, ImmutableArray(Of BoundExpression).Empty, ErrorTypeSymbol.UnknownResultType, hasErrors:=True)
79Dim callGetTypeFromCLSID As BoundExpression
83callGetTypeFromCLSID = New BoundBadExpression(node.Syntax, LookupResultKind.OverloadResolutionFailure, ImmutableArray(Of Symbol).Empty, ImmutableArray(Of BoundExpression).Empty, ErrorTypeSymbol.UnknownResultType, hasErrors:=True)
87Dim rewrittenObjectCreation As BoundExpression
94rewrittenObjectCreation = New BoundBadExpression(node.Syntax, LookupResultKind.OverloadResolutionFailure, ImmutableArray(Of Symbol).Empty, ImmutableArray(Of BoundExpression).Empty, node.Type, hasErrors:=True)
106objectCreationExpression As BoundExpression,
107rewrittenObjectCreationExpression As BoundExpression
136Dim result As BoundExpression
147arguments:=ImmutableArray(Of BoundExpression).Empty,
153result = New BoundBadExpression(syntax, LookupResultKind.NotReferencable, ImmutableArray(Of Symbol).Empty, ImmutableArray(Of BoundExpression).Empty, typeParameter, hasErrors:=True)
181objectCreationExpression As BoundExpression,
182rewrittenObjectCreationExpression As BoundExpression
191Dim expressions = ArrayBuilder(Of BoundExpression).GetInstance()
231Dim initializer As BoundExpression = node.Initializers(initializerIndex)
295objectCreationExpression As BoundExpression,
296rewrittenObjectCreationExpression As BoundExpression
298Dim targetObjectReference As BoundExpression
304Dim sequenceValueExpression As BoundExpression
324DirectCast(node.PlaceholderOpt, BoundExpression),
339Dim sequenceExpressions(initializerCount) As BoundExpression
381Dim newInitializers(initializerCount - 1) As BoundExpression
403Private Function ReplaceObjectOrCollectionInitializer(rewrittenObjectCreationExpression As BoundExpression, rewrittenInitializer As BoundObjectInitializerExpressionBase) As BoundExpression
Lowering\LocalRewriter\LocalRewriter_Query.vb (11)
54Dim rewrittenBody As BoundExpression = VisitExpressionNode(node.Expression)
78ByRef rangeVariableMap As Dictionary(Of RangeVariableSymbol, BoundExpression),
85rangeVariableMap = New Dictionary(Of RangeVariableSymbol, BoundExpression)()
127anonymousTypeInstance As BoundExpression,
130rangeVariableMap As Dictionary(Of RangeVariableSymbol, BoundExpression),
136Dim getCallOrPropertyAccess As BoundExpression = Nothing
146arguments:=ImmutableArray(Of BoundExpression).Empty,
155ImmutableArray(Of BoundExpression).Empty,
181rewrittenBody As BoundExpression,
192Friend Shared Sub RemoveRangeVariables(originalNode As BoundQueryLambda, rangeVariableMap As Dictionary(Of RangeVariableSymbol, BoundExpression))
243ImmutableArray.Create(Of BoundExpression)(
Lowering\LocalRewriter\LocalRewriter_StringConcat.vb (40)
35Private Function RewriteConcatenateOperator(node As BoundBinaryOperator) As BoundExpression
46Dim folded As BoundExpression = TryFoldTwoConcatOperands(factory, loweredLeft, loweredRight)
52Dim leftFlattened = ArrayBuilder(Of BoundExpression).GetInstance()
53Dim rightFlattened = ArrayBuilder(Of BoundExpression).GetInstance()
80Dim left As BoundExpression = leftFlattened(0)
81Dim right As BoundExpression = leftFlattened(1)
87Dim first As BoundExpression = leftFlattened(0)
88Dim second As BoundExpression = leftFlattened(1)
89Dim third As BoundExpression = leftFlattened(2)
95Dim first As BoundExpression = leftFlattened(0)
96Dim second As BoundExpression = leftFlattened(1)
97Dim third As BoundExpression = leftFlattened(2)
98Dim fourth As BoundExpression = leftFlattened(3)
115Private Sub FlattenConcatArg(lowered As BoundExpression, flattened As ArrayBuilder(Of BoundExpression))
165loweredLeft As BoundExpression,
166loweredRight As BoundExpression) As BoundExpression
193Private Shared Function IsNullOrEmptyStringConstant(operand As BoundExpression) As Boolean
226loweredOperand As BoundExpression) As BoundExpression
231Private Function RewriteStringConcatenationTwoExprs(node As BoundExpression,
233loweredLeft As BoundExpression,
234loweredRight As BoundExpression) As BoundExpression
246Private Function RewriteStringConcatenationThreeExprs(node As BoundExpression,
248loweredFirst As BoundExpression,
249loweredSecond As BoundExpression,
250loweredThird As BoundExpression) As BoundExpression
262Private Function RewriteStringConcatenationFourExprs(node As BoundExpression,
264loweredFirst As BoundExpression,
265loweredSecond As BoundExpression,
266loweredThird As BoundExpression,
267loweredFourth As BoundExpression) As BoundExpression
279Private Function RewriteStringConcatenationManyExprs(node As BoundExpression,
281loweredArgs As ImmutableArray(Of BoundExpression)) As BoundExpression
288Return factory.Call(Nothing, memberSymbol, ImmutableArray.Create(Of BoundExpression)(argArray))
Lowering\LocalRewriter\LocalRewriter_UnstructuredExceptionHandling.vb (7)
215DirectCast(nodeFactory.Literal(-1), BoundExpression),
243DirectCast(nodeFactory.Local(_unstructuredExceptionHandling.ActiveHandlerTemporary, isLValue:=False), BoundExpression)),
284ImmutableArray.Create(Of BoundExpression)(nodeFactory.Literal(E_INTERNALERROR)),
301New BoundCall(node.Syntax, clearProjectError, Nothing, Nothing, ImmutableArray(Of BoundExpression).Empty, Nothing, clearProjectError.ReturnType).ToStatement(),
338statements.Add(New BoundCall(node.Syntax, clearProjectError, Nothing, Nothing, ImmutableArray(Of BoundExpression).Empty, Nothing, clearProjectError.ReturnType).ToStatement)
397statements.Add(New BoundCall(node.Syntax, clearProjectError, Nothing, Nothing, ImmutableArray(Of BoundExpression).Empty, Nothing, clearProjectError.ReturnType).ToStatement)
412ImmutableArray.Create(Of BoundExpression)(nodeFactory.Literal(E_RESUMEWITHOUTERROR)),
Lowering\LocalRewriter\LocalRewriter_XmlLiterals.vb (28)
81Private Function VisitXmlContainer(rewriterInfo As BoundXmlContainerRewriterInfo) As BoundExpression
95Dim sideEffects = ArrayBuilder(Of BoundExpression).GetInstance()
110Dim prefixesArray As BoundExpression = Nothing
111Dim namespacesArray As BoundExpression = Nothing
148Private Function CreateTempLocal(syntax As SyntaxNode, type As TypeSymbol, expr As BoundExpression, sideEffects As ArrayBuilder(Of BoundExpression)) As BoundLocal
154Private Function VisitXmlContainerInExpressionLambda(rewriterInfo As BoundXmlContainerRewriterInfo) As BoundExpression
166Dim origSideEffects As ImmutableArray(Of BoundExpression) = rewriterInfo.SideEffects
177Dim origArgument As BoundExpression = objCreation.Arguments(0)
219Dim prefixesArray As BoundExpression = Nothing
220Dim namespacesArray As BoundExpression = Nothing
230Dim rewrittenCallArguments(origSideEffects.Length - 1) As BoundExpression
251Dim secondArgument As BoundExpression
257ImmutableArray.Create(Of BoundExpression)(
273ImmutableArray.Create(Of BoundExpression)(
280Private Function CreateTempLocalInExpressionLambda(syntax As SyntaxNode, type As TypeSymbol, expr As BoundExpression) As BoundLocal
290<Out()> ByRef prefixes As BoundExpression,
291<Out()> ByRef namespaces As BoundExpression)
293Dim prefixesBuilder = ArrayBuilder(Of BoundExpression).GetInstance()
294Dim namespacesBuilder = ArrayBuilder(Of BoundExpression).GetInstance()
310Private Function BindXmlNamespace(syntax As SyntaxNode, [namespace] As BoundExpression) As BoundExpression
329Private Function CreateCompilerGeneratedXmlnsPrefix(syntax As SyntaxNode, prefix As String) As BoundExpression
333Private Function CreateCompilerGeneratedXmlNamespace(syntax As SyntaxNode, [namespace] As String) As BoundExpression
344items As ImmutableArray(Of BoundExpression)) As BoundExpression
345Dim result As BoundExpression
352result = New BoundArrayCreation(syntax, ImmutableArray.Create(Of BoundExpression)(size), initializer, arrayType)
Lowering\MethodToClassRewriter\MethodToClassRewriter.vb (21)
38Protected ReadOnly PlaceholderReplacementMap As New Dictionary(Of BoundValuePlaceholderBase, BoundExpression)
45Friend MustOverride Function FramePointer(syntax As SyntaxNode, frameClass As NamedTypeSymbol) As BoundExpression
114Dim rewrittenReceiver = DirectCast(Visit(node.ReceiverOpt), BoundExpression)
116Dim arguments As ImmutableArray(Of BoundExpression) = node.Arguments
117Dim newArguments(arguments.Length - 1) As BoundExpression
119newArguments(i) = DirectCast(Visit(arguments(i)), BoundExpression)
134Dim receiverOpt As BoundExpression = node.ReceiverOpt
135Dim rewrittenReceiverOpt As BoundExpression = DirectCast(Visit(receiverOpt), BoundExpression)
137Dim arguments As ImmutableArray(Of BoundExpression) = VisitList(node.Arguments)
156Private Function ShouldRewriteMethodSymbol(originalReceiver As BoundExpression, rewrittenReceiverOpt As BoundExpression, newMethod As MethodSymbol) As Boolean
178Protected MustOverride Function MaterializeProxy(origExpression As BoundExpression, proxy As TProxy) As BoundNode
206Return node.Update(DirectCast(Visit(node.ReceiverOpt), BoundExpression),
219Dim rewrittenReceiver As BoundExpression = rewritten.ReceiverOpt
348prologue As ArrayBuilder(Of BoundExpression),
427Dim prologue = ArrayBuilder(Of BoundExpression).GetInstance
451Dim prologue = ArrayBuilder(Of BoundExpression).GetInstance
458prologue As ArrayBuilder(Of BoundExpression),
479Dim replacement = DirectCast(Me.Visit(s), BoundExpression)
486Dim newValue = DirectCast(Me.Visit(node.ValueOpt), BoundExpression)
Lowering\SyntheticBoundNodeFactory.vb (103)
163Public Function ReferenceOrByrefMe() As BoundExpression
169DirectCast(Me.Me, BoundExpression),
189Public Function Field(receiver As BoundExpression, f As FieldSymbol, isLValue As Boolean) As BoundFieldAccess
195Public Function [Property](member As WellKnownMember) As BoundExpression
202Public Function [Property](receiver As BoundExpression, member As WellKnownMember) As BoundExpression
210Public Function [Property](receiver As BoundExpression, name As String) As BoundExpression
219Public Function [Property](receiver As NamedTypeSymbol, name As String) As BoundExpression
282Public Function Assignment(left As BoundExpression, right As BoundExpression) As BoundExpressionStatement
286Public Function ExpressionStatement(expr As BoundExpression) As BoundExpressionStatement
295Public Function AssignmentExpression(left As BoundExpression, right As BoundExpression) As BoundAssignmentOperator
302Public Function ReferenceAssignment(byRefLocal As LocalSymbol, lValue As BoundExpression) As BoundReferenceAssignment
349Public Function [Return](Optional expression As BoundExpression = Nothing) As BoundReturnStatement
422Public Function LogicalAndAlso(left As BoundExpression, right As BoundExpression) As BoundBinaryOperator
426Public Function LogicalOrElse(left As BoundExpression, right As BoundExpression) As BoundBinaryOperator
430Public Function IntEqual(left As BoundExpression, right As BoundExpression) As BoundBinaryOperator
434Public Function IntLessThan(left As BoundExpression, right As BoundExpression) As BoundBinaryOperator
454Public Function BadExpression(ParamArray subExpressions As BoundExpression()) As BoundExpression
466Public Function [New](ctor As MethodSymbol, ParamArray args As BoundExpression()) As BoundObjectCreationExpression
475ImmutableArray(Of BoundExpression).Empty,
581Public Function [Call](receiver As BoundExpression, method As MethodSymbol) As BoundCall
582Return [Call](receiver, method, ImmutableArray(Of BoundExpression).Empty)
585Public Function [Call](receiver As BoundExpression, method As MethodSymbol, ParamArray args As BoundExpression()) As BoundCall
586Return [Call](receiver, method, ImmutableArray.Create(Of BoundExpression)(args))
589Public Function [Call](receiver As BoundExpression, method As MethodSymbol, args As ImmutableArray(Of BoundExpression)) As BoundCall
604Public Function [If](condition As BoundExpression, thenClause As BoundStatement, elseClause As BoundStatement) As BoundStatement
613Public Function TernaryConditionalExpression(condition As BoundExpression, ifTrue As BoundExpression, ifFalse As BoundExpression) As BoundTernaryConditionalExpression
619Public Function [TryCast](expression As BoundExpression, type As TypeSymbol) As BoundTryCast
630Public Function [DirectCast](expression As BoundExpression, type As TypeSymbol) As BoundDirectCast
645Public Function [If](condition As BoundExpression, thenClause As BoundStatement) As BoundStatement
649Public Function [Throw](Optional e As BoundExpression = Nothing) As BoundThrowStatement
661Public Function Sequence(temps As ImmutableArray(Of LocalSymbol), ParamArray parts As BoundExpression()) As BoundExpression
664Dim statements(parts.Length - 1 - 1) As BoundExpression
673Public Function Sequence(temp As LocalSymbol, ParamArray parts As BoundExpression()) As BoundExpression
677Public Function Sequence(ParamArray parts As BoundExpression()) As BoundExpression
681Public Function Sequence(locals As ImmutableArray(Of LocalSymbol), sideEffects As ImmutableArray(Of BoundExpression), result As BoundExpression) As BoundExpression
687Public Function [Select](ex As BoundExpression, sections As IEnumerable(Of BoundCaseBlock)) As BoundStatement
784Public Function ArrayAccess(array As BoundExpression, isLValue As Boolean, ParamArray indices As BoundExpression()) As BoundArrayAccess
788Public Function ArrayAccess(array As BoundExpression, isLValue As Boolean, indices As ImmutableArray(Of BoundExpression)) As BoundArrayAccess
801Public Function BaseInitialization(ParamArray args As BoundExpression()) As BoundStatement
813Public Function Null() As BoundExpression
814Dim nullLiteral As BoundExpression = New BoundLiteral(_syntax, ConstantValue.Null, Nothing)
819Public Function Null(type As TypeSymbol) As BoundExpression
821Dim nullLiteral As BoundExpression = New BoundLiteral(_syntax, ConstantValue.Null, type)
826Dim nullLiteral As BoundExpression = New BoundLiteral(_syntax, ConstantValue.Null, Nothing)
838Public Function [Typeof](type As WellKnownType) As BoundExpression
842Public Function [Typeof](typeSym As TypeSymbol) As BoundExpression
854Public Function MethodInfo(meth As WellKnownMember) As BoundExpression
863Public Function MethodInfo(meth As SpecialMember) As BoundExpression
872Public Function MethodInfo(method As MethodSymbol) As BoundExpression
882Public Function ConstructorInfo(meth As WellKnownMember) As BoundExpression
891Public Function ConstructorInfo(meth As SpecialMember) As BoundExpression
900Public Function ConstructorInfo(meth As MethodSymbol) As BoundExpression
914Public Function FieldInfo(field As FieldSymbol) As BoundExpression
927Public Function MethodDefIndex(method As MethodSymbol) As BoundExpression
936Public Function MaximumMethodDefIndex() As BoundExpression
945Public Function ModuleVersionId(isLValue As Boolean) As BoundExpression
954Public Function ModuleVersionIdString() As BoundExpression
965Public Function InstrumentationPayloadRoot(analysisKind As Integer, payloadType As TypeSymbol, isLValue As Boolean) As BoundExpression
974Public Function SourceDocumentIndex(document As Cci.DebugSourceDocument) As BoundExpression
980Public Function Convert(type As TypeSymbol, arg As BoundExpression, Optional isChecked As Boolean = False) As BoundConversion
990Public Function Convert(type As TypeSymbol, arg As BoundExpression, convKind As ConversionKind, Optional isChecked As Boolean = False) As BoundConversion
997Public Function Array(elementType As TypeSymbol, ParamArray elements As BoundExpression()) As BoundExpression
1001Public Function Array(elementType As TypeSymbol, elements As ImmutableArray(Of BoundExpression)) As BoundExpression
1005Return New BoundArrayCreation(_syntax, ImmutableArray.Create(Of BoundExpression)(Literal(elements.Length)), boundArrayInit, arrayType)
1008Public Function Array(elementType As TypeSymbol, bounds As ImmutableArray(Of BoundExpression), elements As ImmutableArray(Of BoundExpression)) As BoundExpression
1017Public Function Conditional(condition As BoundExpression, consequence As BoundExpression, alternative As BoundExpression, type As TypeSymbol) As BoundTernaryConditionalExpression
1021Public Function BinaryConditional(left As BoundExpression, right As BoundExpression) As BoundBinaryConditionalExpression
1025Public Function Binary(kind As BinaryOperatorKind, type As TypeSymbol, left As BoundExpression, right As BoundExpression) As BoundBinaryOperator
1031Public Function ObjectReferenceEqual(left As BoundExpression, right As BoundExpression) As BoundBinaryOperator
1037Public Function ReferenceIsNothing(operand As BoundExpression) As BoundBinaryOperator
1044Public Function ReferenceIsNotNothing(operand As BoundExpression) As BoundBinaryOperator
1051Public Function [Not](expression As BoundExpression) As BoundExpression
1100Public Function SpillSequence(locals As ImmutableArray(Of LocalSymbol), fields As ImmutableArray(Of FieldSymbol), statements As ImmutableArray(Of BoundStatement), valueOpt As BoundExpression) As BoundSpillSequence
Lowering\UseTwiceRewriter.vb (38)
19Public Sub New(first As BoundExpression, second As BoundExpression)
23Public ReadOnly First As BoundExpression
24Public ReadOnly Second As BoundExpression
40value As BoundExpression,
76receiverOpt As BoundExpression,
88receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type),
95receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type),
108value As BoundExpression,
137value As BoundExpression,
158value As BoundExpression,
165Private Shared Function UseTwiceRValue(containingMember As Symbol, value As BoundExpression, arg As ArrayBuilder(Of SynthesizedLocal)) As Result
229Dim indicesFirst(n - 1) As BoundExpression
230Dim indicesSecond(n - 1) As BoundExpression
251Private Shared Function UseTwiceLValue(containingMember As Symbol, lvalue As BoundExpression, temporaries As ArrayBuilder(Of SynthesizedLocal)) As Result
306Dim receiverOpt As BoundExpression = node.ReceiverOpt
322receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type),
329Dim firstArgs As ImmutableArray(Of BoundExpression)
330Dim secondArgs As ImmutableArray(Of BoundExpression)
332firstArgs = ImmutableArray(Of BoundExpression).Empty
333secondArgs = ImmutableArray(Of BoundExpression).Empty
336Dim firstArgsArray(nArgs - 1) As BoundExpression
337Dim secondArgsArray(nArgs - 1) As BoundExpression
340Dim boundArgument As BoundExpression = node.Arguments(i)
390Dim firstArgs As ImmutableArray(Of BoundExpression)
391Dim secondArgs As ImmutableArray(Of BoundExpression)
393firstArgs = ImmutableArray(Of BoundExpression).Empty
394secondArgs = ImmutableArray(Of BoundExpression).Empty
397Dim firstArgsArray(nArgs - 1) As BoundExpression
398Dim secondArgsArray(nArgs - 1) As BoundExpression
401Dim boundArgument As BoundExpression = node.ArgumentsOpt(i)
463Private Shared Sub UseTwiceRegularArgument(containingMember As Symbol, boundArgument As BoundExpression, arg As ArrayBuilder(Of SynthesizedLocal),
464ByRef first As BoundExpression, ByRef second As BoundExpression)
484ByRef first As BoundExpression, ByRef second As BoundExpression)
493Dim firstArgsArray(initializerSize - 1) As BoundExpression
494Dim secondArgsArray(initializerSize - 1) As BoundExpression
Lowering\WithExpressionRewriter.vb (28)
20Public Sub New(expression As BoundExpression, locals As ImmutableArray(Of LocalSymbol), initializers As ImmutableArray(Of BoundExpression))
27Public ReadOnly Expression As BoundExpression
33Public ReadOnly Initializers As ImmutableArray(Of BoundExpression)
49Private _initializers As ArrayBuilder(Of BoundExpression) = Nothing
58Public Sub AddLocal(local As LocalSymbol, initializer As BoundExpression)
66Me._initializers = ArrayBuilder(Of BoundExpression).GetInstance()
73Public Function CreateResult(expression As BoundExpression) As Result
76If(Me._initializers Is Nothing, ImmutableArray(Of BoundExpression).Empty, Me._initializers.ToImmutableAndFree()))
85Private Function CaptureInATemp(value As BoundExpression, state As State) As BoundLocal
108Private Function CaptureInAByRefTemp(value As BoundExpression, state As State) As BoundExpression
125Private Function CaptureArrayAccess(value As BoundArrayAccess, state As State) As BoundExpression
128Dim boundArrayTemp As BoundExpression = CaptureInATemp(value.Expression, state).MakeRValue()
131Dim indices(n - 1) As BoundExpression
139Private Function CaptureRValue(value As BoundExpression, state As State) As BoundExpression
171Private Function CaptureFieldAccess(value As BoundFieldAccess, state As State) As BoundExpression
182Dim receiver As BoundExpression = CaptureReceiver(value.ReceiverOpt, state)
188Private Function CaptureReceiver(value As BoundExpression, state As State) As BoundExpression
198Private Function CaptureExpression(value As BoundExpression, state As State) As BoundExpression
242Dim substitute As BoundExpression =
263value As BoundExpression,
272Private Function CaptureWithExpression(value As BoundExpression, state As State) As BoundExpression
321Dim expression As BoundExpression = Nothing
Operations\VisualBasicOperationFactory.vb (22)
315Dim expression = TryCast(boundNode, BoundExpression)
447Dim boundReceiver As BoundExpression = If(boundCall.ReceiverOpt, boundCall.MethodGroupOpt?.ReceiverOpt)
475Dim indices = CreateFromArray(Of BoundExpression, IOperation)(boundArrayAccess.Indices)
482Friend Function CreateBoundUnaryOperatorChild(boundOperator As BoundExpression) As IOperation
528Friend Function CreateBoundBinaryOperatorChild(binaryOperator As BoundExpression, isLeft As Boolean) As IOperation
607Dim convertedTestExpression As BoundExpression = boundBinaryConditionalExpression.ConvertedTestExpression
636Dim leftTest As BoundExpression = boundUserDefinedShortCircuitingOperator.LeftTest
656Dim children = CreateFromArray(Of BoundExpression, IOperation)(boundBadExpression.ChildBoundNodes)
685Dim namedArguments = CreateFromArray(Of BoundExpression, IOperation)(boundAttribute.NamedArguments)
809Dim arguments As ImmutableArray(Of IOperation) = CreateFromArray(Of BoundExpression, IOperation)(boundLateInvocation.ArgumentsOpt)
832Dim initializers As ImmutableArray(Of IOperation) = CreateFromArray(Of BoundExpression, IOperation)(boundObjectInitializerExpression.Initializers)
840Dim initializers As ImmutableArray(Of IOperation) = CreateFromArray(Of BoundExpression, IOperation)(boundCollectionInitializerExpression.Initializers)
864Dim dimensionSizes As ImmutableArray(Of IOperation) = CreateFromArray(Of BoundExpression, IOperation)(boundArrayCreation.Bounds)
873Dim elementValues As ImmutableArray(Of IOperation) = CreateFromArray(Of BoundExpression, IOperation)(boundArrayInitialization.Initializers)
1163CreateFromArray(Of BoundExpression, IOperation)(boundForToStatement.NextVariablesOpt))
1192Dim getEnumeratorArguments As ImmutableArray(Of BoundExpression) = Nothing
1194Dim moveNextArguments As ImmutableArray(Of BoundExpression) = Nothing
1196Dim currentArguments As ImmutableArray(Of BoundExpression) = Nothing
1241CreateFromArray(Of BoundExpression, IOperation)(boundForEachStatement.NextVariablesOpt))
1255Dim controlVariable As BoundExpression = boundForStatement.ControlVariable
1551Dim elements As ImmutableArray(Of IOperation) = CreateFromArray(Of BoundExpression, IOperation)(boundTupleExpression.Arguments)
1691Dim dimensionSizes As ImmutableArray(Of IOperation) = CreateFromArray(Of BoundExpression, IOperation)(boundRedimClause.Indices)
Operations\VisualBasicOperationFactory_Methods.vb (22)
27Dim binaryOperator As BoundExpression = Nothing
56Dim binaryOperator As BoundExpression = Nothing
79Dim leftOnTheRight As BoundExpression = operatorInfo.LeftOperand
100Public Sub New(leftOperand As BoundExpression,
101rightOperand As BoundExpression,
116Public ReadOnly LeftOperand As BoundExpression
117Public ReadOnly RightOperand As BoundExpression
147Private Function GetUserDefinedBinaryOperatorChild([operator] As BoundUserDefinedBinaryOperator, child As BoundExpression) As IOperation
155Private Shared Function GetUserDefinedBinaryOperatorChildBoundNode([operator] As BoundUserDefinedBinaryOperator, index As Integer) As BoundExpression
194Friend Function DeriveArguments(boundArguments As ImmutableArray(Of BoundExpression), parameters As ImmutableArray(Of VisualBasic.Symbols.ParameterSymbol), ByRef defaultArguments As BitVector) As ImmutableArray(Of IArgumentOperation)
208argument As BoundExpression,
301Private Shared Function GetChildOfBadExpressionBoundNode(parent As BoundNode, index As Integer) As BoundExpression
359Private Shared Function GetSingleValueCaseClauseValue(clause As BoundSingleValueCaseClause) As BoundExpression
363Friend Shared Function GetCaseClauseValue(valueOpt As BoundExpression, conditionOpt As BoundExpression) As BoundExpression
509Private Function TryGetAdjustedConversionInfo(topLevelConversion As BoundConversionOrCast, boundOperand As BoundExpression
529Dim nestedOperand As BoundExpression = GetConversionOperand(nestedConversion)
551Private Shared Function GetConversionOperand(boundConversion As BoundConversionOrCast) As BoundExpression
560Private Function CreateDelegateCreationConversionOperand(operand As BoundExpression) As IOperation
573Private Shared Function CreateConversion(expression As BoundExpression) As Conversion
633Friend Shared Function DeriveBinaryOperatorKind(operatorKind As VisualBasic.BinaryOperatorKind, leftOpt As BoundExpression) As BinaryOperatorKind
Semantics\Conversions.vb (13)
697source As BoundExpression,
865source As BoundExpression,
926Public Shared Function ClassifyPredefinedConversion(source As BoundExpression, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ConversionKind
931source As BoundExpression,
1012Public Shared Function ClassifyConversion(source As BoundExpression, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As KeyValuePair(Of ConversionKind, MethodSymbol)
1042Private Shared Function ClassifyExpressionReclassification(source As BoundExpression, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ConversionKind
1428operand As BoundExpression,
1581Private Shared Function ClassifyNumericConstantConversion(constantExpression As BoundExpression, destination As TypeSymbol, binder As Binder) As ConversionKind
1695Private Shared Function ClassifyNothingLiteralConversion(constantExpression As BoundExpression, destination As TypeSymbol) As ConversionKind
1783Public Shared Function ClassifyDirectCastConversion(source As BoundExpression, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ConversionKind
1839Public Shared Function ClassifyTryCastConversion(source As BoundExpression, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ConversionKind
2103Private Shared Function ClassifyUserDefinedConversion(source As BoundExpression, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As KeyValuePair(Of ConversionKind, MethodSymbol)
4227expressionOpt As BoundExpression,
Semantics\Operators.vb (14)
499operand As BoundExpression,
704operand As BoundExpression,
854left As BoundExpression,
855right As BoundExpression,
1021left As BoundExpression,
1022right As BoundExpression,
2952Public Shared Function ResolveIsTrueOperator(argument As BoundExpression, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As OverloadResolutionResult
2966Public Shared Function ResolveIsFalseOperator(argument As BoundExpression, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As OverloadResolutionResult
2981argument As BoundExpression,
3017left As BoundExpression,
3018right As BoundExpression,
3144argument1 As BoundExpression,
3145argument2 As BoundExpression,
3244ImmutableArray.Create(Of BoundExpression)(argument1, argument2)),
Semantics\OverloadResolution.vb (57)
517Public ReadOnly DefaultValue As BoundExpression
521Public Sub New(value As BoundExpression, conversion As KeyValuePair(Of ConversionKind, MethodSymbol), dependencies As ImmutableArray(Of AssemblySymbol))
732Public ReadOnly AsyncLambdaSubToFunctionMismatch As ImmutableArray(Of BoundExpression)
737asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression))
742ImmutableArray(Of BoundExpression).Empty,
807arguments As ImmutableArray(Of BoundExpression),
846arguments As ImmutableArray(Of BoundExpression),
870arguments As ImmutableArray(Of BoundExpression),
892arguments = ImmutableArray(Of BoundExpression).Empty
914Dim asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression) = Nothing
979asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression)) As OverloadResolutionResult
1001arguments As ImmutableArray(Of BoundExpression),
1013arguments = ImmutableArray(Of BoundExpression).Empty
1023Dim asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression) = Nothing
1065arguments As ImmutableArray(Of BoundExpression),
1070<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
1228arguments As ImmutableArray(Of BoundExpression),
1320arguments As ImmutableArray(Of BoundExpression),
1356arguments As ImmutableArray(Of BoundExpression),
1433arguments As ImmutableArray(Of BoundExpression),
1485arguments As ImmutableArray(Of BoundExpression),
1708arguments As ImmutableArray(Of BoundExpression),
1917arguments As ImmutableArray(Of BoundExpression),
2015argument As BoundExpression,
2132Dim newArgument As BoundExpression = Nothing
2173arguments As ImmutableArray(Of BoundExpression),
2226arguments As ImmutableArray(Of BoundExpression),
2273argument As BoundExpression,
2293Dim newArgument As BoundExpression = Nothing
2329arguments As ImmutableArray(Of BoundExpression),
2588arguments As ImmutableArray(Of BoundExpression),
2592<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
2673arguments As ImmutableArray(Of BoundExpression),
2855arguments As ImmutableArray(Of BoundExpression),
2858<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
3064Dim defaultArgument As BoundExpression = Nothing
3075Dim receiverOpt As BoundExpression = Nothing
3202argument As BoundExpression,
3207<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
3281argument As BoundExpression,
3285<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
3310Dim underlying As BoundExpression = argument
3331asyncLambdaSubToFunctionMismatch = New HashSet(Of BoundExpression)(ReferenceEqualityComparer.Instance)
3399Dim passedExpression As BoundExpression = binder.PassArgumentByVal(argument, conv, targetType, BindingDiagnosticBag.Discarded)
3431expression As BoundExpression,
3491arguments As ImmutableArray(Of BoundExpression),
3498<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
3693arguments As ImmutableArray(Of BoundExpression),
3781arguments As ImmutableArray(Of BoundExpression),
3787<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
3878arguments As ImmutableArray(Of BoundExpression),
3883<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
4201arguments As ImmutableArray(Of BoundExpression),
4359argument As BoundExpression,
4400arguments As ImmutableArray(Of BoundExpression),
4854arguments As ImmutableArray(Of BoundExpression),
4858<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
Semantics\TypeInference\TypeArgumentInference.vb (16)
20arguments As ImmutableArray(Of BoundExpression),
32<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
414Public ReadOnly Expression As BoundExpression
417Public Sub New(graph As InferenceGraph, expression As BoundExpression, parameterType As TypeSymbol, parameter As ParameterSymbol)
612Public ReadOnly Arguments As ImmutableArray(Of BoundExpression)
623Private _asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression)
630arguments As ImmutableArray(Of BoundExpression),
635asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
702arguments As ImmutableArray(Of BoundExpression),
714<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
919Dim arguments As ImmutableArray(Of BoundExpression) = Me.Arguments
1024argument As BoundExpression,
1244Private Shared Function ArgumentTypePossiblyMatchesParamarrayShape(argument As BoundExpression, paramType As TypeSymbol) As Boolean
1913argument As BoundExpression,
1984argument As BoundExpression,
2230_asyncLambdaSubToFunctionMismatch = New HashSet(Of BoundExpression)(ReferenceEqualityComparer.Instance)
Symbols\Source\SynthesizedSubmissionConstructorSymbol.vb (3)
79New BoundArrayAccess(syntax, submissionArrayReference, ImmutableArray.Create(Of BoundExpression)(New BoundLiteral(syntax, ConstantValue.Create(slotIndex), intType)), isLValue:=True, type:=objectType),
93New BoundArrayAccess(syntax, submissionArrayReference, ImmutableArray.Create(Of BoundExpression)(New BoundLiteral(syntax, ConstantValue.Create(0), intType)), isLValue:=False, type:=objectType),
113New BoundArrayAccess(syntax, submissionArrayReference, ImmutableArray.Create(Of BoundExpression)(New BoundLiteral(syntax, ConstantValue.Create(targetSubmissionId), intType)), isLValue:=False, type:=objectType),