105 types derived from BoundExpression
Microsoft.CodeAnalysis.VisualBasic (105)
BoundTree\BoundArrayAccess.vb (1)
13Inherits BoundExpression
BoundTree\BoundArrayCreation.vb (1)
11Inherits BoundExpression
BoundTree\BoundArrayLiteral.vb (1)
12Inherits BoundExpression
BoundTree\BoundAssignmentOperator.vb (1)
10Inherits BoundExpression
BoundTree\BoundBadExpression.vb (1)
12Inherits BoundExpression
BoundTree\BoundBadVariable.vb (1)
10Inherits BoundExpression
BoundTree\UnboundLambda.vb (1)
16Inherits BoundExpression
Generated\BoundNodes.xml.Generated.vb (98)
236Inherits BoundExpression 278Inherits BoundExpression 305Inherits BoundExpression 324Inherits BoundExpression 548Inherits BoundExpression 584Inherits BoundExpression 674Inherits BoundExpression 713Inherits BoundExpression 755Inherits BoundExpression 812Inherits BoundExpression 847Inherits BoundExpression 890Inherits BoundExpression 934Inherits BoundExpression 989Inherits BoundExpression 1031Inherits BoundExpression 1073Inherits BoundExpression 1128Inherits BoundExpression 1172Inherits BoundExpression 1205Inherits BoundExpression 1256Inherits BoundExpression 1298Inherits BoundExpression 1331Inherits BoundExpression 1375Inherits BoundExpression 1439Inherits BoundExpression 1487Inherits BoundExpression 1527Inherits BoundExpression 1600Inherits BoundExpression 1656Inherits BoundExpression 1753Inherits BoundExpression 1818Inherits BoundExpression 1874Inherits BoundExpression 1925Inherits BoundExpression 1991Inherits BoundExpression 2064Inherits BoundExpression 2266Inherits BoundExpression 2450Inherits BoundExpression 2546Inherits BoundExpression 2655Inherits BoundExpression 3034Inherits BoundExpression 3131Inherits BoundExpression 3199Inherits BoundExpression 3270Inherits BoundExpression 3342Inherits BoundExpression 3385Inherits BoundExpression 3490Inherits BoundExpression 3613Inherits BoundExpression 3664Inherits BoundExpression 3715Inherits BoundExpression 3758Inherits BoundExpression 3887Inherits BoundExpression 3954Inherits BoundExpression 4026Inherits BoundExpression 4103Inherits BoundExpression 4137Inherits BoundExpression 4209Inherits BoundExpression 4306Inherits BoundExpression 4822Inherits BoundExpression 5898Inherits BoundExpression 5947Inherits BoundExpression 5980Inherits BoundExpression 6020Inherits BoundExpression 6053Inherits BoundExpression 6086Inherits BoundExpression 6130Inherits BoundExpression 6163Inherits BoundExpression 6223Inherits BoundExpression 6294Inherits BoundExpression 6398Inherits BoundExpression 6473Inherits BoundExpression 6563Inherits BoundExpression 6784Inherits BoundExpression 6873Inherits BoundExpression 6953Inherits BoundExpression 6988Inherits BoundExpression 7253Inherits BoundExpression 7357Inherits BoundExpression 7510Inherits BoundExpression 7791Inherits BoundExpression 7844Inherits BoundExpression 7888Inherits BoundExpression 7941Inherits BoundExpression 8000Inherits BoundExpression 8053Inherits BoundExpression 8097Inherits BoundExpression 8163Inherits BoundExpression 8216Inherits BoundExpression 8251Inherits BoundExpression 8286Inherits BoundExpression 8505Inherits BoundExpression 8668Inherits BoundExpression 8753Inherits BoundExpression 8854Inherits BoundExpression 8920Inherits BoundExpression 9030Inherits BoundExpression 9103Inherits BoundExpression 9152Inherits BoundExpression 9200Inherits BoundExpression 9240Inherits BoundExpression
3893 references to BoundExpression
Microsoft.CodeAnalysis.VisualBasic (3893)
Analysis\FlowAnalysis\AbstractFlowPass.vb (39)
51Private _placeholderReplacementMap As Dictionary(Of BoundValuePlaceholderBase, BoundExpression) 298Private Function IsConstantTrue(node As BoundExpression) As Boolean 313Private Function IsConstantFalse(node As BoundExpression) As Boolean 629Protected Sub SetPlaceholderSubstitute(placeholder As BoundValuePlaceholderBase, newSubstitute As BoundExpression) 633_placeholderReplacementMap = New Dictionary(Of BoundValuePlaceholderBase, BoundExpression)() 646Protected ReadOnly Property GetPlaceholderSubstitute(placeholder As BoundValuePlaceholderBase) As BoundExpression 648Dim value As BoundExpression = Nothing 695Dim expression = TryCast(node, BoundExpression) 705Protected Overrides Function VisitExpressionWithoutStackGuard(node As BoundExpression) As BoundExpression 706Return DirectCast(MyBase.Visit(node), BoundExpression) 713Protected Overridable Sub VisitLvalue(node As BoundExpression, Optional dontLeaveRegion As Boolean = False) 738Dim substitute As BoundExpression = GetPlaceholderSubstitute(DirectCast(node, BoundValuePlaceholderBase)) 759Protected Sub VisitCondition(node As BoundExpression) 775Private Sub AdjustConditionalState(node As BoundExpression) 792Protected Sub VisitRvalue(node As BoundExpression, Optional rwContext As ReadWriteContext = ReadWriteContext.None, Optional dontLeaveRegion As Boolean = False) 838Dim replacement As BoundExpression = GetPlaceholderSubstitute(node) 894Dim initializerExpr As BoundExpression = DirectCast(initializer, BoundAssignmentOperator).Right 920Dim initializerExpr As BoundExpression = DirectCast(initializer, BoundAssignmentOperator).Right 1098Private Sub VisitExpressionAsStatement(node As BoundExpression) 1132Private Sub VisitLateBoundArguments(arguments As ImmutableArray(Of BoundExpression), isByRef As Boolean) 1143Protected Overridable Sub VisitLateBoundArgument(arg As BoundExpression, isByRef As Boolean) 1164Dim receiverOpt As BoundExpression = node.ReceiverOpt 1179Dim originalReceiver As BoundExpression = If(methodGroup IsNot Nothing, methodGroup.ReceiverOpt, Nothing) 1213Dim receiverOpt As BoundExpression = node.ReceiverOpt 1221Private Sub VisitCallReceiver(receiver As BoundExpression, method As MethodSymbol) 1233Private Sub WriteLValueCallReceiver(receiver As BoundExpression, method As MethodSymbol) 1252Private Sub VisitArguments(arguments As ImmutableArray(Of BoundExpression), parameters As ImmutableArray(Of ParameterSymbol)) 1272Protected Overridable Sub WriteArgument(arg As BoundExpression, isOut As Boolean) 1275Protected Overridable Sub VisitArgument(arg As BoundExpression, p As ParameterSymbol) 1292Dim receiverOpt As BoundExpression = node.ReceiverOpt 1307Dim originalReceiver As BoundExpression = If(methodGroup IsNot Nothing, methodGroup.ReceiverOpt, Nothing) 1337VisitRvalue(TryCast(child, BoundExpression)) 1350Dim expression = TryCast(child, BoundExpression) 1660Dim replacement As BoundExpression = GetPlaceholderSubstitute(node) 1721Dim originalReceiver As BoundExpression = If(propertyGroup IsNot Nothing, propertyGroup.ReceiverOpt, Nothing) 1754Private Sub VisitUnreachableReceiver(receiver As BoundExpression) 2123Dim child As BoundExpression = node.Left 2524Dim expr As BoundExpression = node.ExpressionOpt
Analysis\FlowAnalysis\AlwaysAssignedWalker.vb (1)
99Protected Overrides Sub WriteArgument(arg As BoundExpression, isOut As Boolean)
Analysis\FlowAnalysis\ControlFlowPass.vb (1)
38If Not (TypeOf node Is BoundExpression) Then
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 1057Dim substitute As BoundExpression = Me.GetPlaceholderSubstitute(DirectCast(node, BoundValuePlaceholderBase)) 1117Dim receiver As BoundExpression = boundFieldAccess.ReceiverOpt 1339Protected Overridable Sub Assign(node As BoundNode, value As BoundExpression, Optional assigned As Boolean = True) 1392Dim expression = DirectCast(node, BoundExpression) 1401Dim substitute As BoundExpression = Me.GetPlaceholderSubstitute(DirectCast(node, BoundValuePlaceholderBase)) 1639Protected Overridable Function TreatTheLocalAsAssignedWithinTheLambda(local As LocalSymbol, right As BoundExpression) As Boolean 1643Private Shared Function IsConvertedLambda(value As BoundExpression) As Boolean 1802Dim left As BoundExpression = node.Left 1927Protected NotOverridable Overrides Sub VisitArgument(arg As BoundExpression, p As ParameterSymbol) 1940Protected Overrides Sub WriteArgument(arg As BoundExpression, isOut As Boolean) 1949Protected Sub CheckAssignedFromArgumentWrite(expr As BoundExpression, node As SyntaxNode) 1979Protected Overrides Sub VisitLateBoundArgument(arg As BoundExpression, isByRef As Boolean) 2019Private Function DeclaredVariableIsAlwaysAssignedBeforeInitializer(syntax As SyntaxNode, boundInitializer As BoundExpression,
Analysis\FlowAnalysis\DataFlowsOutWalker.vb (3)
81Protected Overrides Sub Assign(node As BoundNode, value As BoundExpression, Optional assigned As Boolean = True) 102Dim expression = DirectCast(node, BoundExpression) 175Protected Overrides Sub NoteWrite(variable As Symbol, value As BoundExpression)
Analysis\FlowAnalysis\ReadWriteWalker.vb (3)
80Protected Overrides Sub NoteWrite(variable As Symbol, value As BoundExpression) 113Protected Overrides Sub NoteWrite(node As BoundExpression, value As BoundExpression)
Analysis\ForLoopVerification.vb (3)
38Private ReadOnly _controlVariables As Stack(Of BoundExpression) 42_controlVariables = New Stack(Of BoundExpression) 130Friend Shared Function ReferencedSymbol(expression As BoundExpression) As Symbol
Analysis\InitializerRewriter.vb (3)
118Dim receiver As BoundExpression = Nothing 154ImmutableArray(Of BoundExpression).Empty, 203Dim submissionResult As BoundExpression = Nothing
Analysis\IteratorAndAsyncAnalysis\IteratorAndAsyncCaptureWalker.vb (7)
25Private ReadOnly _byRefLocalsInitializers As Dictionary(Of LocalSymbol, BoundExpression) 33Public ReadOnly ByRefLocalsInitializers As Dictionary(Of LocalSymbol, BoundExpression) 35Friend Sub New(cl As OrderedSet(Of Symbol), initializers As Dictionary(Of LocalSymbol, BoundExpression)) 45Me._byRefLocalsInitializers = New Dictionary(Of LocalSymbol, BoundExpression)() 218Dim receiverOpt As BoundExpression = node.ReceiverOpt 260Protected Overrides Function TreatTheLocalAsAssignedWithinTheLambda(local As LocalSymbol, right As BoundExpression) As Boolean 266Dim arg0 As BoundExpression = objCreation.Arguments(0)
Binding\BackstopBinder.vb (6)
115<Out> ByRef wholeMemberAccessExpressionBound As Boolean) As BoundExpression 121diagnostics As BindingDiagnosticBag) As BoundExpression 125Protected Overrides Function TryBindOmittedLeftForConditionalAccess(node As ConditionalAccessExpressionSyntax, accessingBinder As Binder, diagnostics As BindingDiagnosticBag) As BoundExpression 131accessingBinder As Binder) As BoundExpression 135Protected Overrides Function TryGetConditionalAccessReceiver(node As ConditionalAccessExpressionSyntax) As BoundExpression 271Friend Overrides Function GetWithStatementPlaceholderSubstitute(placeholder As BoundValuePlaceholderBase) As BoundExpression
Binding\Binder.vb (3)
53Private Shared ReadOnly s_noArguments As ImmutableArray(Of BoundExpression) = ImmutableArray(Of BoundExpression).Empty 1129Friend Overridable Function GetWithStatementPlaceholderSubstitute(placeholder As BoundValuePlaceholderBase) 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 355Dim argumentInfo As (Arguments As ImmutableArray(Of BoundExpression), DefaultArguments As BitVector) = PassArguments(node.Name, methodResult, boundArguments, diagnostics) 383Dim boundArguments As ImmutableArray(Of BoundExpression) 384Dim namedArguments As ImmutableArray(Of BoundExpression) 392Dim boundArgumentsBuilder As ArrayBuilder(Of BoundExpression) = ArrayBuilder(Of BoundExpression).GetInstance 393Dim namedArgumentsBuilder As ArrayBuilder(Of BoundExpression) = Nothing 405Dim expression As BoundExpression = BindValue(simpleArgument.Expression, diagnostics) 410namedArgumentsBuilder = ArrayBuilder(Of BoundExpression).GetInstance() 434diagnostics As BindingDiagnosticBag) As BoundExpression 444Dim rValue As BoundExpression = Me.BindValue(namedArg.Expression, diagnostics) 446Dim lValue As BoundExpression = Nothing 535lValue = New BoundPropertyAccess(identifierName, propertySym, Nothing, PropertyAccessKind.Set, Not isReadOnly, Nothing, ImmutableArray(Of BoundExpression).Empty, defaultArguments:=BitVector.Null, hasErrors) 563Private Sub MarkEmbeddedTypeReferenceIfNeeded(expression As BoundExpression) 684Public Function VisitPositionalArguments(arguments As ImmutableArray(Of BoundExpression), diag As BindingDiagnosticBag) As ImmutableArray(Of TypedConstant) 688Private Function VisitArguments(arguments As ImmutableArray(Of BoundExpression), diag As BindingDiagnosticBag) As ImmutableArray(Of TypedConstant) 704Public Function VisitNamedArguments(arguments As ImmutableArray(Of BoundExpression), diag As BindingDiagnosticBag) As ImmutableArray(Of KeyValuePair(Of String, TypedConstant)) 726Private Function VisitNamedArgument(argument As BoundExpression, diag As BindingDiagnosticBag) As Nullable(Of KeyValuePair(Of String, TypedConstant)) 746Public Function VisitExpression(node As BoundExpression, diagBag As BindingDiagnosticBag) As TypedConstant 906Public positionalArguments As ImmutableArray(Of BoundExpression) 907Public namedArguments As ImmutableArray(Of BoundExpression) 909Public Sub New(positionalArguments As ImmutableArray(Of BoundExpression), namedArguments As ImmutableArray(Of BoundExpression))
Binding\Binder_ConditionalAccess.vb (10)
17Private Function BindConditionalAccessExpression(node As ConditionalAccessExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression 19Dim boundExpression As BoundExpression = BindConditionalAccessReceiver(node, diagnostics, placeholder) 23Dim whenNotNull As BoundExpression = accessBinder.BindExpression(node.WhenNotNull, diagnostics) 29Private Function BindConditionalAccessReceiver(node As ConditionalAccessExpressionSyntax, diagnostics As BindingDiagnosticBag, <Out> ByRef placeholder As BoundRValuePlaceholder) As BoundExpression 30Dim boundExpression As BoundExpression 71diagnostics As BindingDiagnosticBag) As BoundExpression 76Protected Function GetConditionalAccessReceiver(node As ConditionalAccessExpressionSyntax) As BoundExpression 77Dim result As BoundExpression = TryGetConditionalAccessReceiver(node) 88Protected Overridable Function TryGetConditionalAccessReceiver(node As ConditionalAccessExpressionSyntax) As BoundExpression 108Protected Overrides Function TryGetConditionalAccessReceiver(node As ConditionalAccessExpressionSyntax) As 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 171) As BoundExpression 183argument As BoundExpression, 186) As BoundExpression 274) As BoundExpression 310expression As BoundExpression, 313) As BoundExpression 323argument As BoundExpression, 328) As BoundExpression 359Dim result As BoundExpression 417Private Shared Function ApplyNullableIsTrueOperator(argument As BoundExpression, booleanType As TypeSymbol) As BoundNullableIsTrueOperator 427argument As BoundExpression, 434) As BoundExpression 979argument As BoundExpression, 1074Dim converted = ArrayBuilder(Of BoundExpression).GetInstance(sourceElementTypes.Length) 1090argument As BoundExpression, 1154arguments:=ImmutableArray.Create(Of BoundExpression)(argument), 1193ByRef argument As BoundExpression, 1207Dim enclosed As BoundExpression = parenthesized.Expression 1309) As BoundExpression 1316Dim anonymousDelegate As BoundExpression = ReclassifyUnboundLambdaExpression(unboundLambda, diagnostics) 1511) As BoundExpression 1617Private 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 1636diagnostics As BindingDiagnosticBag) As BoundExpression 1664Dim convertedArguments = ArrayBuilder(Of BoundExpression).GetInstance(arguments.Length) 1675Dim result As BoundExpression = New BoundConvertedTupleLiteral(
Binding\Binder_Delegates.vb (18)
45Private Function BindAddressOfExpression(node As VisualBasicSyntaxNode, diagnostics As BindingDiagnosticBag) As BoundExpression 88) As BoundExpression 90Dim boundFirstArgument As BoundExpression = Nothing 157ImmutableArray(Of BoundExpression).Empty, 163Dim boundArguments(argumentCount - 1) As BoundExpression 186ImmutableArray(Of BoundExpression).Empty, 283Dim receiver As BoundExpression = addressOfExpression.MethodGroup.ReceiverOpt 437Dim boundArguments = ImmutableArray(Of BoundExpression).Empty 444Dim boundParameterArguments(parameterCount - 1) As BoundExpression 454Dim tempBoundParameter As BoundExpression = New BoundLocal(addressOfSyntax, 968) As BoundExpression 983Dim receiver As BoundExpression = sourceMethodGroup.ReceiverOpt 985Dim resolvedTypeOrValueReceiver As BoundExpression = Nothing 1036Dim newReceiver As BoundExpression 1068receiver As BoundExpression, 1090Dim actualReceiver As BoundExpression = receiver 1188Dim lambdaBoundParameters(targetParameterCount - 1) As BoundExpression 1209Dim boundInvocationExpression As BoundExpression = lambdaBinder.BindInvocationExpression(syntaxNode,
Binding\Binder_Diagnostics.vb (5)
21id As ERRID) As BoundExpression 31ParamArray args As Object()) As BoundExpression 41ParamArray nodes As BoundExpression()) As BoundExpression 43If(nodes.IsEmpty, ImmutableArray(Of BoundExpression).Empty, ImmutableArray.Create(nodes)),
Binding\Binder_Expressions.vb (157)
25) As BoundExpression 38) As BoundExpression 45Dim result As BoundExpression = BindExpressionCore(node, isInvocationOrAddressOf, isOperandOfConditionalBranch, eventContext, diagnostics) 64Private Function BindExpressionCore(node As ExpressionSyntax, isInvocationOrAddressOf As Boolean, isOperandOfConditionalBranch As Boolean, eventContext As Boolean, diagnostics As BindingDiagnosticBag) As BoundExpression 116Dim operand As BoundExpression = BindExpression(DirectCast(node, ParenthesizedExpressionSyntax).Expression, 280Return BadExpression(node, ImmutableArray(Of BoundExpression).Empty, ErrorTypeSymbol.UnknownResultType) 289Return New BoundBadExpression(node, LookupResultKind.Empty, ImmutableArray(Of Symbol).Empty, ImmutableArray(Of BoundExpression).Empty, resultType, hasErrors:=True) 296Private Shared Function BadExpression(node As SyntaxNode, expr As BoundExpression, resultType As TypeSymbol) As BoundBadExpression 304Private Shared Function BadExpression(node As SyntaxNode, expr As BoundExpression, resultKind As LookupResultKind, resultType As TypeSymbol) As BoundBadExpression 312Private Shared Function BadExpression(node As SyntaxNode, exprs As ImmutableArray(Of BoundExpression), resultType As TypeSymbol) As BoundBadExpression 316Private Shared Function BadExpression(expr As BoundExpression) As BoundBadExpression 321Private Shared Function BadExpression(resultKind As LookupResultKind, wrappedExpression As BoundExpression) As BoundBadExpression 330Private Function BindTupleExpression(node As TupleExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression 338ImmutableArray(Of BoundExpression).Empty) 346Dim boundArguments = ArrayBuilder(Of BoundExpression).GetInstance(arguments.Count) 373Dim boundArgument As BoundExpression = BindValue(argumentSyntax.Expression, diagnostics) 526Private Function GetTupleFieldType(expression As BoundExpression, 597Public Function BindNamespaceOrTypeExpression(node As TypeSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression 621Public Function BindNamespaceOrTypeOrExpressionSyntaxForSemanticModel(node As ExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression 624Dim result As BoundExpression = Me.BindNamespaceOrTypeExpression(DirectCast(node, TypeSyntax), diagnostics) 634Dim boundParent As BoundExpression = BindNamespaceOrTypeOrExpressionSyntaxForSemanticModel(DirectCast(node.Parent, QualifiedNameSyntax), BindingDiagnosticBag.Discarded) 657Private Shared Sub BindNamespaceOrTypeSyntaxForSemanticModelGetExpressionSymbols(expression As BoundExpression, symbols As ArrayBuilder(Of Symbol)) 674Private Function BindQualifiedName(name As QualifiedNameSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression 678Private Function BindGetTypeExpression(node As GetTypeExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression 700Private Function BindNameOfExpression(node As NameOfExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression 723Dim argument As BoundExpression = BindExpression(node.Argument, diagnostics) 768Private Function BindTypeOfExpression(node As TypeOfExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression 818) As BoundExpression 824Private Function AdjustReceiverTypeOrValue(receiver As BoundExpression, 828ByRef resolvedTypeOrValueExpression As BoundExpression) As BoundExpression 833Private Function AdjustReceiverTypeOrValue(receiver As BoundExpression, 837ByRef qualKind As QualificationKind) As BoundExpression 838Dim unused As BoundExpression = Nothing 847Private Function AdjustReceiverTypeOrValue(receiver As BoundExpression, 853ByRef resolvedTypeOrValueExpression As BoundExpression) As BoundExpression 892Private Shared Function AdjustReceiverAmbiguousTypeOrValue(receiver As BoundExpression, diagnostics As BindingDiagnosticBag) As BoundExpression 902Private Shared Function AdjustReceiverAmbiguousTypeOrValue(ByRef group As BoundMethodOrPropertyGroup, diagnostics As BindingDiagnosticBag) As BoundExpression 938Private Function AdjustReceiverValue(receiver As BoundExpression, 940diagnostics As BindingDiagnosticBag) As BoundExpression 960expr As BoundExpression, 962) As BoundExpression 965Dim access As BoundExpression = Me.MakeRValue(conditionalAccess.AccessExpression, diagnostics) 1019Dim instance As BoundExpression = TryDefaultInstanceProperty(DirectCast(expr, BoundTypeExpression), diagnostics) 1058Friend Function TryDefaultInstanceProperty(typeExpr As BoundTypeExpression, diagnostics As BindingDiagnosticBag) As BoundExpression 1125Dim result As BoundExpression = (New DefaultInstancePropertyBinder(Me)).BindValue(ret.Expression, exprDiagnostics) 1231expr As BoundExpression, 1233) As BoundExpression 1238Dim enclosed As BoundExpression = MakeValue(parenthesized.Expression, diagnostics) 1314Private Function GetAccessThroughType(receiverOpt As BoundExpression) As TypeSymbol 1340) As BoundExpression 1347expr As BoundExpression, 1349) As BoundExpression 1353Dim enclosed As BoundExpression = MakeRValue(parenthesized.Expression, diagnostics) 1425expr As BoundExpression 1426) As BoundExpression 1432expr As BoundExpression, 1434) As BoundExpression 1447Dim enclosed As BoundExpression = ReclassifyExpression(parenthesized.Expression, diagnostics) 1494diagnostics As BindingDiagnosticBag) As BoundExpression 1511Dim argument As BoundExpression = ApplyImplicitConversion(arrayLiteral.Syntax, arrayLiteral.InferredType, arrayLiteral, BindingDiagnosticBag.Discarded) 1557Dim bounds As ImmutableArray(Of BoundExpression) 1577Dim expr As BoundExpression = arrayCreation 1637Dim initializers = ArrayBuilder(Of BoundExpression).GetInstance 1661Dim initializers = ImmutableArray(Of BoundExpression).Empty 1665initializers = ImmutableArray.Create(Of BoundExpression)(arrayInitialization) 1674) As BoundExpression 1685) As BoundExpression 1695) As BoundExpression 1706) As BoundExpression 1714expression As BoundExpression, 1716) As BoundExpression 1733Dim newArguments(invocation.ArgumentsOpt.Length - 1) As BoundExpression 1750Friend Shared Function IsValidAssignmentTarget(expression As BoundExpression) As Boolean 1788Private Shared Sub ReportAssignmentToRValue(expr As BoundExpression, diagnostics As BindingDiagnosticBag) 1805node As BoundExpression, 1835Friend Function IsLValueFieldAccess(field As FieldSymbol, receiver As BoundExpression) As Boolean 1931Private Function BindTernaryConditionalExpression(node As TernaryConditionalExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression 1948Dim array = ArrayBuilder(Of BoundExpression).GetInstance(2) 1992Private Shared Function IsConstantAllowingCompileTimeFolding(candidate As BoundExpression) As Boolean 1998Private Function BindBinaryConditionalExpression(node As BinaryConditionalExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression 2020Dim array = ArrayBuilder(Of BoundExpression).GetInstance(2) 2108Dim boundSecondArgWithConversions As BoundExpression = boundSecondArg 2145testExpression As BoundExpression, 2146elseExpression As BoundExpression, 2151Optional explicitConversion As Boolean = False) As BoundExpression 2153Dim convertedTestExpression As BoundExpression = Nothing 2446Optional skipLocalsAndParameters As Boolean = False) As BoundExpression 2536Dim boundExpr As BoundExpression = BindSimpleName(result, node, options, typeArguments, diagnostics) 2551diagnostics As BindingDiagnosticBag) As BoundExpression 2556Dim receiver As BoundExpression = Nothing 2576Dim boundExpr As BoundExpression = BindSymbolAccess(node, result, options, receiver, typeArguments, QualificationKind.Unqualified, diagnostics) 2604Private Function TryBindInteractiveReceiver(syntax As VisualBasicSyntaxNode, currentMember As Symbol, currentType As NamedTypeSymbol, memberDeclaringType As NamedTypeSymbol) As BoundExpression 2620Private Function BindMemberAccess(node As MemberAccessExpressionSyntax, eventContext As Boolean, diagnostics As BindingDiagnosticBag) As BoundExpression 2622Dim boundLeft As BoundExpression = Nothing 2662Private Function BindLeftOfPotentialColorColorMemberAccess(parentNode As MemberAccessExpressionSyntax, leftOpt As ExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression 2790Protected Function BindMemberAccess(node As VisualBasicSyntaxNode, left As BoundExpression, right As SimpleNameSyntax, eventContext As Boolean, diagnostics As BindingDiagnosticBag) As BoundExpression 2983<Out> ByRef wholeMemberAccessExpressionBound As Boolean) As BoundExpression 2990accessingBinder As Binder) As BoundExpression 3073receiver As BoundExpression, 3076diagnostics As BindingDiagnosticBag) As BoundExpression 3134If(receiver IsNot Nothing, ImmutableArray.Create(receiver), ImmutableArray(Of BoundExpression).Empty), 3376Private Function AdjustReceiverNamespace(lookupResult As LookupResult, receiver As BoundExpression) As BoundExpression 3457Dim receiver As BoundExpression = namespaceReceiver.UnevaluatedReceiverOpt 3574Public Function BindLabel(node As LabelSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression 3601ImmutableArray(Of BoundExpression).Empty, 3637Private Function CheckSharedSymbolAccess(node As SyntaxNode, isShared As Boolean, <[In], Out> ByRef receiver As BoundExpression, qualKind As QualificationKind, diagnostics As BindingDiagnosticBag) As Boolean 3665Dim instance As BoundExpression = TryDefaultInstanceProperty(DirectCast(receiver, BoundTypeExpression), diagnostics) 3717diagnostics As BindingDiagnosticBag) As BoundExpression 3722Private Function BindDictionaryAccess(node As MemberAccessExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression 3724Dim left As BoundExpression 3768Dim boundArguments = ImmutableArray.Create(Of BoundExpression)(arg) 3779Dim defaultPropertyGroup As BoundExpression = BindDefaultPropertyGroup(node, left, diagnostics) 3792boundArguments:=ImmutableArray.Create(Of BoundExpression)(arg), 3833Private Shared Sub ReportNoDefaultProperty(expr As BoundExpression, diagnostics As BindingDiagnosticBag) 3851Private Shared Sub ReportQualNotObjectRecord(expr As BoundExpression, diagnostics As BindingDiagnosticBag) 3856Private Shared Sub ReportDefaultMemberNotProperty(expr As BoundExpression, diagnostics As BindingDiagnosticBag) 3863Private Shared Function GenerateBadExpression(node As InvocationExpressionSyntax, target As BoundExpression, boundArguments As ImmutableArray(Of BoundExpression)) As BoundExpression 3864Dim children = ArrayBuilder(Of BoundExpression).GetInstance() 3910Private Function BindArrayAccess(node As InvocationExpressionSyntax, expr As BoundExpression, boundArguments As ImmutableArray(Of BoundExpression), argumentNames As ImmutableArray(Of String), diagnostics As BindingDiagnosticBag) As BoundExpression 3918Dim convertedArguments = ArrayBuilder(Of BoundExpression).GetInstance(boundArguments.Length) 4072Private Function BindArrayCreationExpression(node As ArrayCreationExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression 4079Dim boundArguments As ImmutableArray(Of BoundExpression) = Nothing 4103diagnostics As BindingDiagnosticBag) As BoundExpression 4122Dim sizes As ImmutableArray(Of BoundExpression) = CreateArrayBounds(node, knownSizes, diagnostics) 4127Private Function CreateArrayBounds(node As SyntaxNode, knownSizes() As DimensionSize, diagnostics As BindingDiagnosticBag) As ImmutableArray(Of BoundExpression) 4129Dim sizes = New BoundExpression(rank - 1) {} 4206Dim initializers As ArrayBuilder(Of BoundExpression) = ArrayBuilder(Of BoundExpression).GetInstance 4229allInitializers As ArrayBuilder(Of BoundExpression), 4233Dim initializers = ArrayBuilder(Of BoundExpression).GetInstance 4258Dim boundExpression As BoundExpression 4287init = New BoundArrayInitialization(expr, ImmutableArray(Of BoundExpression).Empty, arrayInitType, hasErrors:=True) 4338Optional errorOnEmptyBound As Boolean = False) As ImmutableArray(Of BoundExpression) 4345Dim boundArgumentsBuilder As ArrayBuilder(Of BoundExpression) = ArrayBuilder(Of BoundExpression).GetInstance 4359Dim upperBound As BoundExpression = Nothing 4477Expressions As ArrayBuilder(Of BoundExpression), 4514For Each expression As BoundExpression In Expressions 4640) As BoundExpression 4648Dim operand As BoundExpression = BindExpression(node.Expression, diagnostics) 4655operand As BoundExpression, 4658) As BoundExpression 4702Dim getAwaiter As BoundExpression = Nothing 4703Dim isCompleted As BoundExpression = Nothing 4704Dim getResult As BoundExpression = Nothing 4755ImmutableArray(Of BoundExpression).Empty, 4804ImmutableArray(Of BoundExpression).Empty, 4853ImmutableArray(Of BoundExpression).Empty,
Binding\Binder_Imports.vb (1)
229Dim [namespace] As BoundExpression = Nothing
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_InterpolatedString.vb (7)
16Private Function BindInterpolatedStringExpression(syntax As InterpolatedStringExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression 44Dim alignmentOpt As BoundExpression = Nothing 75Private Function BindUnconvertedInterpolatedStringToString(node As BoundInterpolatedStringExpression, diagnostics As BindingDiagnosticBag) As BoundExpression 108Private Function BindUnconvertedInterpolatedStringToFormattable(syntax As SyntaxNode, node As BoundInterpolatedStringExpression, targetType As TypeSymbol, diagnostics As BindingDiagnosticBag) As BoundExpression 139Private Function TryInvokeInterpolatedStringFactory(node As BoundInterpolatedStringExpression, factoryType As TypeSymbol, factoryMethodName As String, targetType As TypeSymbol, diagnostics As BindingDiagnosticBag) As BoundExpression 170Dim arguments = ArrayBuilder(Of BoundExpression).GetInstance() 219Dim result As BoundExpression = MakeRValue(BindInvocationExpression(node.Syntax,
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 846Dim argumentInfo As (Arguments As ImmutableArray(Of BoundExpression), DefaultArguments As BitVector) = PassArguments(node, bestResult, boundArguments, diagnostics) 852Dim receiver As BoundExpression = group.ReceiverOpt 866Dim resolvedTypeOrValueReceiver As BoundExpression = Nothing 929Dim newReceiver As BoundExpression = If(receiver IsNot Nothing, Nothing, If(resolvedTypeOrValueReceiver, methodGroup.ReceiverOpt)) 967Dim newReceiver As BoundExpression = If(receiver IsNot Nothing, Nothing, If(resolvedTypeOrValueReceiver, propertyGroup.ReceiverOpt)) 1011Friend Sub WarnOnRecursiveAccess(node As BoundExpression, accessKind As PropertyAccessKind, diagnostics As BindingDiagnosticBag) 1026receiver As BoundExpression, 1030) As BoundExpression 1037Dim oldReceiver As BoundExpression = receiver 1082arguments As ImmutableArray(Of BoundExpression), 1190boundArguments As ImmutableArray(Of BoundExpression), 1200) As BoundExpression 1220boundArguments As ImmutableArray(Of BoundExpression), 1231) As BoundExpression 1242Dim result As BoundExpression = ReportOverloadResolutionFailureAndProduceBoundNode( 1270boundArguments As ImmutableArray(Of BoundExpression), 1278) As BoundExpression 1345boundArguments As ImmutableArray(Of BoundExpression), 1355) As BoundExpression 1367boundArguments = ImmutableArray(Of BoundExpression).Empty 1621Dim childBoundNodes As ImmutableArray(Of BoundExpression) 1625childBoundNodes = ImmutableArray(Of BoundExpression).Empty 1627childBoundNodes = ImmutableArray.Create(Of BoundExpression)(groupOpt) 1630Dim builder = ArrayBuilder(Of BoundExpression).GetInstance() 1829arguments As ImmutableArray(Of BoundExpression), 1839arguments = ImmutableArray(Of BoundExpression).Empty 1936arguments As ImmutableArray(Of BoundExpression), 1982arguments As ImmutableArray(Of BoundExpression), 1997arguments = ImmutableArray(Of BoundExpression).Empty 2298Dim argument As BoundExpression = Nothing 2471argument As BoundExpression, 2540argument As BoundExpression, 2628arguments As ImmutableArray(Of BoundExpression), 2630) As (Arguments As ImmutableArray(Of BoundExpression), DefaultArguments As BitVector) 2635arguments = ImmutableArray(Of BoundExpression).Empty 2641Dim argumentsInOrder = ArrayBuilder(Of BoundExpression).GetInstance(paramCount) 2698Dim argument As BoundExpression = Nothing 2705Dim items = ArrayBuilder(Of BoundExpression).GetInstance(paramArrayItems.Count) 2717(New BoundExpression() {New BoundLiteral(node, 2775Dim adjustedArgument As BoundExpression = PassArgument(argument, conversion, candidateIsAProperty, conversionBack, targetType, param, diagnostics) 2794argument As BoundExpression, 2801) As BoundExpression 2817argument As BoundExpression, 2823) As BoundExpression 2925Dim argBuilder As ArrayBuilder(Of BoundExpression) = Nothing 2932argBuilder = ArrayBuilder(Of BoundExpression).GetInstance 2955argument As BoundExpression, 2959) As BoundExpression 2975ByRef boundArguments As ImmutableArray(Of BoundExpression), 3005ByRef boundArguments As ImmutableArray(Of BoundExpression), 3019Dim boundArgumentsBuilder As ArrayBuilder(Of BoundExpression) = ArrayBuilder(Of BoundExpression).GetInstance 3096arguments As ImmutableArray(Of BoundExpression), 3097reducedExtensionReceiverOpt As BoundExpression) As BoundExpression 3098Dim defaultArgument As BoundExpression = Nothing 3184Dim convertedValue As BoundExpression = ApplyImplicitConversion(syntax, param.Type, literal, ignoreDiagnostics) 3268ImmutableArray.Create(Of BoundExpression)(argument),
Binding\Binder_Lambda.vb (12)
19) As BoundExpression 353If node Is Nothing OrElse TypeOf node Is BoundExpression Then 435Dim expression As BoundExpression = bodyBinder.BindValue( 665Public Function Report_ERRID_ReadOnlyInClosure(argument As BoundExpression) As Boolean 678Dim receiverOpt As BoundExpression 913Dim returnExpressions = ArrayBuilder(Of BoundExpression).GetInstance() 933Dim returnExpression As BoundExpression = Nothing 1020Private ReadOnly _builder As ArrayBuilder(Of BoundExpression) 1023Private Sub New(builder As ArrayBuilder(Of BoundExpression), isIterator As Boolean) 1033arrayToFill As ArrayBuilder(Of BoundExpression), 1042If node Is Nothing OrElse TypeOf node Is BoundExpression Then 1059Dim expr As BoundExpression = node.ExpressionOpt
Binding\Binder_Latebound.vb (16)
21receiver As BoundExpression, 23diagnostics As BindingDiagnosticBag) As BoundExpression 32receiver As BoundExpression, 35Optional suppressLateBindingResolutionDiagnostics As Boolean = False) As BoundExpression 45Dim children = ArrayBuilder(Of BoundExpression).GetInstance 81arguments As ImmutableArray(Of BoundExpression), 83diagnostics As BindingDiagnosticBag) As BoundExpression 92Dim receiver As BoundExpression = AdjustReceiverAmbiguousTypeOrValue(group, diagnostics) 124receiver As BoundExpression, 125arguments As ImmutableArray(Of BoundExpression), 128Optional suppressLateBindingResolutionDiagnostics As Boolean = False) As BoundExpression 149Dim children = ArrayBuilder(Of BoundExpression).GetInstance 170Dim builder As ArrayBuilder(Of BoundExpression) = Nothing 175Dim argument As BoundExpression = origArgument 202builder = ArrayBuilder(Of BoundExpression).GetInstance(arguments.Length) 232arguments As ImmutableArray(Of BoundExpression),
Binding\Binder_ObjectInitializer.vb (37)
16) As BoundExpression 34Dim boundArguments As ImmutableArray(Of BoundExpression) = Nothing 42Dim boundNodes = ArrayBuilder(Of BoundExpression).GetInstance() 49Dim boundInitializer As BoundExpression = 77) As BoundExpression 122CheckRequiredMembersInObjectInitializer(constructorSymbol, namedType, If(initializerOpt?.Initializers, ImmutableArray(Of BoundExpression).Empty), typeNode, diagnostics) 132arguments:=ImmutableArray(Of BoundExpression).Empty, 141Dim boundArguments As ImmutableArray(Of BoundExpression) = Nothing 165arguments As ImmutableArray(Of BoundExpression), 166diagnostics As BindingDiagnosticBag) As BoundExpression 180boundArguments As ImmutableArray(Of BoundExpression), 182) As ImmutableArray(Of BoundExpression) 197boundArguments As ImmutableArray(Of BoundExpression), 202) As BoundExpression 354Dim resultExpression As BoundExpression 435Dim children = ArrayBuilder(Of BoundExpression).GetInstance() 470Dim argumentInfo As (Arguments As ImmutableArray(Of BoundExpression), DefaultArguments As BitVector) = PassArguments(typeNode, methodResult, boundArguments, diagnostics) 485Dim children = ArrayBuilder(Of BoundExpression).GetInstance() 501CheckRequiredMembersInObjectInitializer(constructorSymbol, constructorSymbol.ContainingType, If(objectInitializerExpressionOpt?.Initializers, ImmutableArray(Of BoundExpression).Empty), typeNode, diagnostics) 523initializers As ImmutableArray(Of BoundExpression), 584boundArguments As ImmutableArray(Of BoundExpression), 587) As BoundExpression 684Dim boundAssignmentValues(initializerCount - 1) As BoundExpression 701Dim memberAssignments = ArrayBuilder(Of BoundExpression).GetInstance 715Dim target As BoundExpression 802Dim assignmentOperator As BoundExpression = BindAssignment(namedFieldInitializer, target, value, diagnostics) 837Dim unusedExpression As BoundExpression = Nothing 906Dim addInvocationExpressions As ImmutableArray(Of BoundExpression) 925Dim addInvocations(initializerCount - 1) As BoundExpression 956) As BoundExpression 958Dim arguments = ArrayBuilder(Of BoundExpression).GetInstance 1019Private ReadOnly _receiver As BoundExpression 1021Public Sub New(containingBinder As Binder, receiver As BoundExpression) 1035) As BoundExpression 1040Protected Friend Overrides Function TryBindOmittedLeftForXmlMemberAccess(node As XmlMemberAccessExpressionSyntax, diagnostics As BindingDiagnosticBag, accessingBinder As Binder) As BoundExpression 1051) As BoundExpression 1056Protected 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 74Dim result As BoundExpression 94targetArgument As BoundExpression, 95otherArgument As BoundExpression, 98) As BoundExpression 101Dim result As BoundExpression 153) As BoundExpression 208Dim left As BoundExpression = BindValue(child, diagnostics, propagateIsOperandOfConditionalBranch) 213Dim right As BoundExpression = BindValue(binary.Right, diagnostics, propagateIsOperandOfConditionalBranch) 228left As BoundExpression, 229right As BoundExpression, 235) As BoundExpression 470Dim beforeConversion As BoundExpression = left 551Dim result As BoundExpression = New BoundBinaryOperator(node, operatorKind Or If(isOperandOfConditionalBranch, BinaryOperatorKind.IsOperandOfConditionalBranch, Nothing), 570Private Function ForceLiftToEmptyString(left As BoundExpression, stringType As TypeSymbol, diagnostics As BindingDiagnosticBag) As BoundExpression 588left As BoundExpression, 589right As BoundExpression, 597Dim result As BoundExpression 608ImmutableArray.Create(Of BoundExpression)(left, right), 618ImmutableArray.Create(Of BoundExpression)(left, right), 654left As BoundExpression, 655right As BoundExpression, 665Dim leftOperand As BoundExpression = Nothing 667Dim test As BoundExpression = Nothing 745Dim argumentInfo As (Arguments As ImmutableArray(Of BoundExpression), DefaultArguments As BitVector) = 746PassArguments(node, bitwiseAnalysis, ImmutableArray.Create(Of BoundExpression)(left, right), diagnostics) 757ImmutableArray.Create(Of BoundExpression)(leftPlaceholder, argumentInfo.Arguments(1)), 797operand As BoundExpression, 812ByRef dbNullOperand As BoundExpression, 927Private Shared Function IsKnownToBeNullableNothing(expr As BoundExpression) As Boolean 961left As BoundExpression, 962right As BoundExpression, 1007ByRef left As BoundExpression, 1008ByRef right As BoundExpression, 1134Private Function BindUnaryOperator(node As UnaryExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression 1136Dim operand As BoundExpression = BindValue(node.Operand, diagnostics) 1240operand As BoundExpression, 1246Dim result As BoundExpression 1259ImmutableArray.Create(Of BoundExpression)(operand), 1269ImmutableArray.Create(Of BoundExpression)(operand), 1279operand 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 (121)
438ImmutableArray(Of BoundExpression).Empty, 518If Not _binder.IsInAsyncContext() AndAlso TypeOf node Is BoundExpression Then 729Dim boundIndices As ImmutableArray(Of BoundExpression) = ImmutableArray(Of BoundExpression).Empty 799Dim target As BoundExpression = BindAssignmentTarget(operand, diagnostics) 831Dim boundLabelExpression As BoundExpression = BindExpression(node.Label, diagnostics) 1122Dim declarationInitializer As BoundExpression = Nothing 1124Dim boundArrayBounds As ImmutableArray(Of BoundExpression) = Nothing 1298<Out()> ByRef valueExpression As BoundExpression, 1382Dim inferFrom As BoundExpression = valueExpression 1461<Out()> ByRef fromValueExpression As BoundExpression, 1462<Out()> ByRef toValueExpression As BoundExpression, 1463<Out()> ByRef stepValueExpression As BoundExpression, 1500Dim array = ArrayBuilder(Of BoundExpression).GetInstance(2) 1535<Out()> ByRef collectionExpression As BoundExpression, 1539<Out()> ByRef boundGetEnumeratorCall As BoundExpression, 1541<Out()> ByRef boundMoveNextCall As BoundExpression, 1542<Out()> ByRef boundCurrentAccess As BoundExpression, 1613valueExpression As BoundExpression, 1925Friend Function AdjustAssignmentTarget(node As SyntaxNode, op1 As BoundExpression, diagnostics As BindingDiagnosticBag, ByRef isError As Boolean) As BoundExpression 2005Private Function BindAssignment(node As SyntaxNode, op1 As BoundExpression, op2 As BoundExpression, diagnostics As BindingDiagnosticBag) As BoundAssignmentOperator 2025left As BoundExpression, 2026right As BoundExpression, 2036Dim assignmentTarget As BoundExpression = AdjustAssignmentTarget(node, left, diagnostics, isError) 2038Dim rValue As BoundExpression 2134Dim op1 As BoundExpression = Me.BindAssignmentTarget(node.Left, diagnostics) 2135Dim op2 As BoundExpression = Me.BindValue(node.Right, diagnostics) 2205Dim target As BoundExpression = BindAssignmentTarget(targetSyntax, diagnostics) 2210Dim start As BoundExpression = ApplyImplicitConversion(startSyntax, int32, BindValue(startSyntax, diagnostics), diagnostics) 2212Dim lengthOpt As BoundExpression = Nothing 2223Dim source As BoundExpression = ApplyImplicitConversion(node.Right, stringType, BindValue(node.Right, diagnostics), diagnostics) 2228Dim assignmentTarget As BoundExpression = AdjustAssignmentTarget(targetSyntax, target, diagnostics, isError) 2238Dim original As BoundExpression 2250Dim right As BoundExpression = New BoundMidResult(node, 2271Dim eventAccess As BoundExpression = BindEventAccess(node.EventExpression, diagnostics, actualEventAccess, eventSymbol) 2278Dim toCheck As BoundExpression = handlerExpression 2395<Out()> ByRef eventSymbol As EventSymbol) As BoundExpression 2412Dim errorRecovery As BoundExpression = BindRValue(node, BindingDiagnosticBag.Discarded) 2420Dim result As BoundExpression 2462Dim target As BoundExpression = BindSimpleName(node.Name, False, diagnostics, skipLocalsAndParameters:=True) 2475Dim boundArguments As ImmutableArray(Of BoundExpression) = Nothing 2482Dim receiver As BoundExpression 2612Dim boundExpression As BoundExpression 2632Private Sub WarnOnUnobservedCallThatReturnsAnAwaitable(statement As ExpressionStatementSyntax, boundExpression As BoundExpression, diagnostics As BindingDiagnosticBag) 2705Dim boundExpression As BoundExpression = BindRValue(printStmt.Expression, diagnostics) 2710Dim boundInvocation As BoundExpression = BindInvocationExpressionAsStatement(callStmt.Invocation, diagnostics) 2715Private Function BindInvocationExpressionAsStatement(expression As ExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression 2719Friend Function ReclassifyInvocationExpressionAsStatement(boundInvocation As BoundExpression, diagnostics As BindingDiagnosticBag) As BoundExpression 2760Dim condition As BoundExpression 2780Dim conditions As ArrayBuilder(Of BoundExpression) = ArrayBuilder(Of BoundExpression).GetInstance() 2817Dim topCondition As BoundExpression = Nothing 2818Dim bottomCondition As BoundExpression = Nothing 2853Dim condition As BoundExpression = BindBooleanExpression(node.WhileStatement.Condition, diagnostics) 2877Dim controlVariable As BoundExpression = Nothing 2907Dim controlVariable As BoundExpression = Nothing 2909Dim nextVariables As ImmutableArray(Of BoundExpression) = Nothing 2940<Out()> ByRef controlVariable As BoundExpression, 3040<Out()> ByRef nextVariables As ImmutableArray(Of BoundExpression), 3058nextVariables = ImmutableArray(Of BoundExpression).Empty 3067Dim nextVariableBuilder As ArrayBuilder(Of BoundExpression) = ArrayBuilder(Of BoundExpression).GetInstance 3104controlVariableOpt As BoundExpression, 3111Dim initialValue As BoundExpression = Nothing 3112Dim limit As BoundExpression = Nothing 3113Dim stepValue As BoundExpression = Nothing 3210Dim lessThanOrEqual As BoundExpression = BindForLoopUserDefinedOperator(syntax, BinaryOperatorKind.LessThanOrEqual, leftOperandPlaceholder, rightOperandPlaceholder, diagnostics) 3216Dim greaterThanOrEqual As BoundExpression = BindForLoopUserDefinedOperator(syntax, BinaryOperatorKind.GreaterThanOrEqual, leftOperandPlaceholder, rightOperandPlaceholder, diagnostics) 3246Dim nextVariables As ImmutableArray(Of BoundExpression) = Nothing 3272left As BoundExpression, 3273right As BoundExpression, 3357controlVariableOpt As BoundExpression, 3369Dim boundGetEnumeratorCall As BoundExpression = Nothing 3371Dim boundMoveNextCall As BoundExpression = Nothing 3372Dim boundCurrentAccess As BoundExpression = Nothing 3375Dim boundDisposeCondition As BoundExpression = Nothing 3376Dim boundDisposeCast As BoundExpression = Nothing 3378Dim boundCurrentConversion As BoundExpression = Nothing 3381Dim collection As BoundExpression = Nothing 3445Dim boundElement As BoundExpression 3528Dim nextVariables As ImmutableArray(Of BoundExpression) = Nothing 3590<Out()> ByRef controlVariable As BoundExpression, 3627Private Function VerifyForLoopControlReference(controlVariable As BoundExpression, diagnostics As BindingDiagnosticBag) As Boolean 3708collection As BoundExpression, 3712<Out()> ByRef boundGetEnumeratorCall As BoundExpression, 3714<Out()> ByRef boundMoveNextCall As BoundExpression, 3715<Out()> ByRef boundCurrentAccess As BoundExpression, 3720) As BoundExpression 4059collection As BoundExpression, 4061<Out()> ByRef boundGetEnumeratorCall As BoundExpression, 4063<Out()> ByRef boundMoveNextCall As BoundExpression, 4064<Out()> ByRef boundCurrentAccess As BoundExpression, 4221) As BoundExpression 4225ImmutableArray(Of BoundExpression).Empty, 4440Dim resourceExpression As BoundExpression = Nothing 4450Dim placeholderInfo = New Dictionary(Of TypeSymbol, ValueTuple(Of BoundRValuePlaceholder, BoundExpression, BoundExpression))() 4560placeholderInfo As Dictionary(Of TypeSymbol, ValueTuple(Of BoundRValuePlaceholder, BoundExpression, BoundExpression)), 4595placeholderInfo As Dictionary(Of TypeSymbol, ValueTuple(Of BoundRValuePlaceholder, BoundExpression, BoundExpression)), 4614Dim disposeConversion As BoundExpression = Nothing 4615Dim disposeCondition As BoundExpression = Nothing 4626New ValueTuple(Of BoundRValuePlaceholder, BoundExpression, BoundExpression)( 4727Dim lockExpression As BoundExpression = BindRValue(node.SyncLockStatement.Expression, diagnostics) 4786Dim exceptionSource As BoundExpression = Nothing 4787Dim exceptionFilter As BoundExpression = Nothing 4811Dim originalExceptionValue As BoundExpression = exceptionSource 4949Private Function BindBooleanExpression(node As ExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression 4951Dim expr As BoundExpression = Me.BindValue(node, diagnostics, isOperandOfConditionalBranch:=True) 5025Dim arg As BoundExpression = Me.BindValue(expressionSyntax, diagnostics) 5032Dim arg As BoundExpression = Nothing 5137Dim arg As BoundExpression = Me.BindValue(expressionSyntax, diagnostics) 5214Dim value As BoundExpression = BindRValue(expressionSyntax, diagnostics) 5235Dim value As BoundExpression = ApplyImplicitConversion(node.ErrorNumber, 5261Dim boundLabelExpression As BoundExpression = BindExpression(node.Label, diagnostics) 5300Dim boundLabelExpression As BoundExpression = BindExpression(onError.Label, diagnostics)
Binding\Binder_Utils.vb (4)
1299Public Function GetExpressionConstantValueIfAny(boundExpression As BoundExpression, diagnostics As BindingDiagnosticBag, context As ConstantContext) As ConstantValue 1391Private Function CheckConversionForConstantExpression(conv As BoundExpression, operand As BoundExpression, diagnostics As BindingDiagnosticBag, context As ConstantContext) As ConstantValue 1467Dim conversionToUnderlying As BoundExpression = ApplyConversion(operand.Syntax, conversionType.GetNullableUnderlyingType(), operand, isExplicit:=True, diagnostics:=BindingDiagnosticBag.Discarded)
Binding\Binder_WithBlock.vb (17)
76Friend ReadOnly Property DraftInitializers As ImmutableArray(Of BoundExpression) 90Friend ReadOnly Property DraftPlaceholderSubstitute As BoundExpression 101Public Sub New(originalExpression As BoundExpression, 103draftSubstitute As BoundExpression, 104draftInitializers As ImmutableArray(Of BoundExpression), 105capturedLvalueByRefCallOrProperty As BoundExpression, 122Public ReadOnly OriginalExpression As BoundExpression 135Public ReadOnly DraftInitializers As ImmutableArray(Of BoundExpression) 143Public ReadOnly DraftSubstitute As BoundExpression 145Public ReadOnly CapturedLvalueByRefCallOrProperty As BoundExpression 196Friend Overrides Function GetWithStatementPlaceholderSubstitute(placeholder As BoundValuePlaceholderBase) As BoundExpression 212Dim boundExpression As BoundExpression = Me.ContainingBinder.BindValue(Me.Expression, diagnostics) 269Public Shared Function HasByRefMeReference(expression As BoundExpression, recursionDepth As Integer) As Boolean 385<Out> ByRef wholeMemberAccessExpressionBound As Boolean) As BoundExpression 394diagnostics As BindingDiagnosticBag) As BoundExpression 399Protected Overrides Function TryBindOmittedLeftForConditionalAccess(node As ConditionalAccessExpressionSyntax, accessingBinder As Binder, diagnostics As BindingDiagnosticBag) As BoundExpression 406accessingBinder As Binder) As BoundExpression
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\ForEachEnumeratorInfo.vb (12)
21Public ReadOnly GetEnumerator As BoundExpression 27Public ReadOnly MoveNext As BoundExpression 33Public ReadOnly Current As BoundExpression 57Public ReadOnly DisposeCondition As BoundExpression 64Public ReadOnly DisposeCast As BoundExpression 71Public ReadOnly CurrentConversion As BoundExpression 108getEnumerator As BoundExpression, 109moveNext As BoundExpression, 110current As BoundExpression, 114disposeCondition As BoundExpression, 115disposeCast As BoundExpression, 116currentConversion As BoundExpression,
Binding\ImplicitVariableBinder.vb (2)
73Friend Overrides Function BindGroupAggregationExpression(group As GroupAggregationSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression 78Friend Overrides Function BindFunctionAggregationExpression([function] As FunctionAggregationSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
Binding\InitializerSemanticModel.vb (3)
127Dim expressionInitializer = TryCast(boundInitializer, BoundExpression) 140Dim expressionInitializer = TryCast(boundInitializer, BoundExpression) 151Dim expressionInitializer = TryCast(boundInitializer, BoundExpression)
Binding\MemberSemanticModel.vb (18)
117Dim boundExpression = TryCast(Me.GetLowerBoundNode(expression), BoundExpression) 610Dim boundExpression = TryCast(GetLowerBoundNode(anonymousObjectCreationExpressionSyntax), BoundExpression) 636Dim boundExpression = TryCast(GetLowerBoundNode(anonymousObjectCreation), BoundExpression) 736<Out> ByRef getEnumeratorArguments As ImmutableArray(Of BoundExpression), 738<Out> ByRef moveNextArguments As ImmutableArray(Of BoundExpression), 740<Out> ByRef currentArguments As ImmutableArray(Of BoundExpression), 784Dim boundCurrentConversion As BoundExpression = enumeratorInfo.CurrentConversion 793Dim originalCollection As BoundExpression = boundForEach.Collection 2106Private _placeholderReplacementMap As Dictionary(Of BoundValuePlaceholderBase, BoundExpression) 2223Dim rightOperands = ArrayBuilder(Of BoundExpression).GetInstance() 2235Dim current As BoundExpression = binary.Left 2263Dim receiver As BoundExpression = node.ReceiverOpt 2286Dim receiver As BoundExpression = node.ReceiverOpt 2381Dim receiver As BoundExpression = node.ReceiverOpt 2411_placeholderReplacementMap = New Dictionary(Of BoundValuePlaceholderBase, BoundExpression)() 2421Dim replacement As BoundExpression = Nothing 2431Dim replacement As BoundExpression = Nothing 2445_placeholderReplacementMap = New Dictionary(Of BoundValuePlaceholderBase, BoundExpression)()
Binding\SpeculativeBinder.vb (2)
42Friend Overrides Function BindGroupAggregationExpression(group As GroupAggregationSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression 47Friend Overrides Function BindFunctionAggregationExpression([function] As FunctionAggregationSyntax, diagnostics As BindingDiagnosticBag) As 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)(
Binding\SyntheticBoundTrees\SynthesizedPropertyAccessorBase.vb (12)
31Dim meReference As BoundExpression = Nothing 43Dim myBaseReference As BoundExpression = Nothing 44Dim baseGet As BoundExpression = Nothing 56ImmutableArray(Of BoundExpression).Empty, 76Dim returnValue As BoundExpression 203Dim withEventsValue As BoundExpression 235Dim withEventsProviderAccess As BoundExpression = withEventsLocalAccess 245ImmutableArray(Of BoundExpression).Empty) 276Dim valueSettingExpression As BoundExpression 284ImmutableArray.Create(Of BoundExpression)(parameterAccess), 316Dim withEventsProviderAccess As BoundExpression = withEventsLocalAccess 325ImmutableArray(Of BoundExpression).Empty)
Binding\SyntheticBoundTrees\SynthesizedStringSwitchHashMethod.vb (1)
87Dim textI As BoundExpression = F.Call(F.Parameter(text),
Binding\UsingInfo.vb (4)
21Public ReadOnly PlaceholderInfo As Dictionary(Of TypeSymbol, ValueTuple(Of BoundRValuePlaceholder, BoundExpression, BoundExpression)) 36placeholderInfo As Dictionary(Of TypeSymbol, ValueTuple(Of BoundRValuePlaceholder, BoundExpression, BoundExpression))
BoundTree\BoundArrayAccess.vb (3)
15Public Sub New(syntax As SyntaxNode, expression As BoundExpression, indices As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False) 19Protected Overrides Function MakeRValueImpl() As 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
BoundTree\BoundBadVariable.vb (2)
12Public Sub New(syntax As SyntaxNode, expression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 16Protected Overrides Function MakeRValueImpl() As BoundExpression
BoundTree\BoundBinaryOperator.vb (2)
16left As BoundExpression, 17right As BoundExpression,
BoundTree\BoundCall.vb (6)
16receiverOpt As BoundExpression, 17arguments As ImmutableArray(Of BoundExpression), 35receiverOpt As BoundExpression, 36arguments As ImmutableArray(Of BoundExpression), 45Protected Overrides Function MakeRValueImpl() As BoundExpression 84Dim argument As BoundExpression = Arguments(i)
BoundTree\BoundCaseClause.vb (2)
10Protected Shared Sub ValidateValueAndCondition(valueOpt As BoundExpression, conditionOpt As BoundExpression, operatorKind As BinaryOperatorKind)
BoundTree\BoundConversion.vb (3)
15operand As BoundExpression, 27operand As BoundExpression, 85Dim expr As BoundExpression = DirectCast(Operand, BoundUserDefinedConversion).UnderlyingExpression
BoundTree\BoundConversionOrCast.vb (1)
7Public MustOverride ReadOnly Property Operand As BoundExpression
BoundTree\BoundDirectCast.vb (3)
15operand As BoundExpression, 25operand As BoundExpression, 34Public Sub New(syntax As SyntaxNode, operand As BoundExpression, conversionKind As ConversionKind, constantValueOpt As ConstantValue, type As TypeSymbol, Optional hasErrors As Boolean = False)
BoundTree\BoundDoLoop.vb (1)
51Public ReadOnly Property ConditionOpt As BoundExpression
BoundTree\BoundExpression.vb (2)
59Public Function MakeRValue() As BoundExpression 63Protected Overridable Function MakeRValueImpl() As BoundExpression
BoundTree\BoundExpressionExtensions.vb (36)
26Public Function IsDefaultValue(node As BoundExpression) As Boolean 68Public Function IsValue(node As BoundExpression) As Boolean 92Public Function IsMeReference(node As BoundExpression) As Boolean 97Public Function IsMyBaseReference(node As BoundExpression) As Boolean 102Public Function IsMyClassReference(node As BoundExpression) As Boolean 108Public Function IsInstanceReference(node As BoundExpression) As Boolean 117Public Function IsPropertyOrXmlPropertyAccess(node As BoundExpression) As Boolean 132Public Function IsPropertyReturnsByRef(node As BoundExpression) As Boolean 138Public Function IsLateBound(node As BoundExpression) As Boolean 150Public Function GetTypeOfAssignmentTarget(node As BoundExpression) As TypeSymbol 161Public Function GetPropertyOrXmlProperty(node As BoundExpression) As PropertySymbol 179Public Function IsPropertySupportingAssignment(node As BoundExpression) As Boolean 203Public Function IsSupportingAssignment(node As BoundExpression) As Boolean 245Public Function GetAccessKind(node As BoundExpression) As PropertyAccessKind 260Public Function GetLateBoundAccessKind(node As BoundExpression) As LateBoundAccessKind 280Public Function SetAccessKind(node As BoundExpression, newAccessKind As PropertyAccessKind) As BoundExpression 298Public Function SetLateBoundAccessKind(node As BoundExpression, newAccessKind As LateBoundAccessKind) As BoundExpression 318Public Function SetGetSetAccessKindIfAppropriate(node As BoundExpression) As BoundExpression 346Public Function Update(node As BoundXmlMemberAccess, memberAccess As BoundExpression) As BoundXmlMemberAccess 355Public Function IsIntegerZeroLiteral(node As BoundExpression) As Boolean 384Public Function IsDefaultValueConstant(expr As BoundExpression) As Boolean 393Public Function IsTrueConstant(expr As BoundExpression) As Boolean 401Public Function IsFalseConstant(expr As BoundExpression) As Boolean 409Public Function IsNegativeIntegerConstant(expression As BoundExpression) As Boolean 422Public Function GetIntegerConstantValue(expression As BoundExpression) As Integer? 453Public Function IsNothingLiteral(node As BoundExpression) As Boolean 487Public Function IsStrictNothingLiteral(node As BoundExpression) As Boolean 525Public Function GetMostEnclosedParenthesizedExpression(expression As BoundExpression) As BoundExpression 533Public Function HasExpressionSymbols(node As BoundExpression) As Boolean 588Public Sub GetExpressionSymbols(node As BoundExpression, symbols As ArrayBuilder(Of Symbol)) 630Public Function ToStatement(node As BoundExpression) As BoundExpressionStatement 635Public Sub AssertRValue(node As BoundExpression)
BoundTree\BoundFieldAccess.vb (2)
14Public Sub New(syntax As SyntaxNode, receiverOpt As BoundExpression, fieldSymbol As FieldSymbol, isLValue As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False) 24Protected Overrides Function MakeRValueImpl() As BoundExpression
BoundTree\BoundLateInvocation.vb (1)
22Dim member As BoundExpression = Me.Member
BoundTree\BoundLocal.vb (1)
27Protected Overrides Function MakeRValueImpl() As BoundExpression
BoundTree\BoundLocalDeclaration.vb (2)
14Public Sub New(syntax As SyntaxNode, localSymbol As LocalSymbol, initializerOpt As BoundExpression) 18Public ReadOnly Property InitializerOpt As BoundExpression
BoundTree\BoundLValuePlaceholderBase.vb (1)
20Protected NotOverridable Overrides Function MakeRValueImpl() As BoundExpression
BoundTree\BoundMethodGroup.vb (2)
22receiverOpt As BoundExpression, 60Dim receiverOpt As BoundExpression = group.ReceiverOpt
BoundTree\BoundNamespaceExpression.vb (2)
12Public Sub New(syntax As SyntaxNode, unevaluatedReceiverOpt As BoundExpression, namespaceSymbol As NamespaceSymbol, hasErrors As Boolean) 16Public Sub New(syntax As SyntaxNode, unevaluatedReceiverOpt As BoundExpression, namespaceSymbol As NamespaceSymbol)
BoundTree\BoundObjectCreationExpression.vb (2)
14Public Sub New(syntax As SyntaxNode, constructorOpt As MethodSymbol, arguments As ImmutableArray(Of BoundExpression), initializerOpt As BoundObjectInitializerExpressionBase, type As TypeSymbol, 19Public Function Update(constructorOpt As MethodSymbol, arguments As ImmutableArray(Of BoundExpression), defaultArguments As BitVector, initializerOpt As BoundObjectInitializerExpressionBase, type As TypeSymbol) As BoundObjectCreationExpression
BoundTree\BoundOnErrorStatement.vb (1)
20Public Sub New(syntax As SyntaxNode, label As LabelSymbol, labelExpressionOpt As BoundExpression, Optional hasErrors As Boolean = False)
BoundTree\BoundParameter.vb (1)
33Protected Overrides Function MakeRValueImpl() As BoundExpression
BoundTree\BoundPropertyAccess.vb (3)
18Public Sub New(syntax As SyntaxNode, propertySymbol As PropertySymbol, propertyGroupOpt As BoundPropertyGroup, accessKind As PropertyAccessKind, isWriteable As Boolean, receiverOpt As BoundExpression, arguments As ImmutableArray(Of BoundExpression), 75Protected Overrides Function MakeRValueImpl() As BoundExpression
BoundTree\BoundPseudoVariable.vb (1)
16Protected Overrides Function MakeRValueImpl() As BoundExpression
BoundTree\BoundQuerySource.vb (1)
13Public Sub New(source As BoundExpression)
BoundTree\BoundReferenceAssignment.vb (1)
18Protected Overrides Function MakeRValueImpl() As BoundExpression
BoundTree\BoundResumeStatement.vb (1)
23Public Sub New(syntax As SyntaxNode, label As LabelSymbol, labelExpressionOpt As BoundExpression, Optional hasErrors As Boolean = False)
BoundTree\BoundSequence.vb (1)
21Protected Overrides Function MakeRValueImpl() As BoundExpression
BoundTree\BoundSequencePointExpression.vb (1)
27Protected Overrides Function MakeRValueImpl() As BoundExpression
BoundTree\BoundSpillSequence.vb (1)
15Protected Overrides Function MakeRValueImpl() As BoundExpression
BoundTree\BoundTreeRewriter.vb (9)
78Dim expression = TryCast(node, BoundExpression) 87Protected Overloads Function VisitExpressionWithStackGuard(expression As BoundExpression) As BoundExpression 91Protected NotOverridable Overrides Function VisitExpressionWithoutStackGuard(node As BoundExpression) As BoundExpression 92Return DirectCast(MyBase.Visit(node), BoundExpression) 108Dim child As BoundExpression = node.Left 130Dim left = DirectCast(Me.Visit(child), BoundExpression) 135Dim right = DirectCast(Me.Visit(binary.Right), BoundExpression)
BoundTree\BoundTreeVisitor.vb (7)
176Protected Function VisitExpressionWithStackGuard(ByRef recursionDepth As Integer, node As BoundExpression) As BoundExpression 177Dim result As BoundExpression 203Private Function VisitExpressionWithStackGuard(node As BoundExpression) As BoundExpression 214Protected MustOverride Function VisitExpressionWithoutStackGuard(node As BoundExpression) As BoundExpression
BoundTree\BoundTreeWalker.vb (11)
47Dim expression = TryCast(node, BoundExpression) 56Protected Overloads Function VisitExpressionWithStackGuard(expression As BoundExpression) As BoundExpression 60Protected NotOverridable Overrides Function VisitExpressionWithoutStackGuard(node As BoundExpression) As BoundExpression 61Return DirectCast(MyBase.Visit(node), BoundExpression) 81Dim rightOperands = ArrayBuilder(Of BoundExpression).GetInstance() 89Dim current As BoundExpression = binary.Left 114Debug.Assert(TypeOf node IsNot BoundExpression) 119Protected Overrides Function VisitExpressionWithoutStackGuard(node As BoundExpression) As BoundExpression
BoundTree\BoundTryCast.vb (3)
14operand As BoundExpression, 24operand As BoundExpression, 33Public Sub New(syntax As SyntaxNode, operand As BoundExpression, conversionKind As ConversionKind, constantValueOpt As ConstantValue, type As TypeSymbol, Optional hasErrors As Boolean = False)
BoundTree\BoundTypeOrValueExpression.vb (6)
16Private ReadOnly _valueExpression As BoundExpression 17Public ReadOnly Property ValueExpression As BoundExpression 30Private ReadOnly _typeExpression As BoundExpression 31Public ReadOnly Property TypeExpression As BoundExpression 44Public Sub New(valueExpression As BoundExpression, valueDiagnostics As ReadOnlyBindingDiagnostic(Of AssemblySymbol), typeExpression As BoundExpression, typeDiagnostics As ReadOnlyBindingDiagnostic(Of AssemblySymbol))
BoundTree\BoundUnaryOperator.vb (1)
16operand As BoundExpression,
BoundTree\BoundUserDefinedBinaryOperator.vb (4)
13Public ReadOnly Property Left As BoundExpression 19Public ReadOnly Property Right As BoundExpression 45Dim argument As BoundExpression = underlyingCall.Arguments(i) 59Dim argument As BoundExpression = underlyingCall.Arguments(i)
BoundTree\BoundUserDefinedConversion.vb (2)
13Public ReadOnly Property Operand As BoundExpression 64Dim operand As BoundExpression
BoundTree\BoundUserDefinedUnaryOperator.vb (2)
13Public ReadOnly Property Operand As BoundExpression 35Dim argument As BoundExpression = underlyingCall.Arguments(0)
BoundTree\BoundWithStatement.vb (2)
33Friend ReadOnly Property DraftInitializers As ImmutableArray(Of BoundExpression) 46Friend ReadOnly Property DraftPlaceholderSubstitute As BoundExpression
BoundTree\BoundYieldStatement.vb (1)
19Friend Sub New(syntax As SyntaxNode, expression As BoundExpression, hasErrors As Boolean, returnTypeIsBeingInferred As Boolean)
BoundTree\PseudoVariableExpressions.vb (2)
12Friend MustOverride Function GetAddress(variable As BoundPseudoVariable) As BoundExpression 13Friend MustOverride Function GetValue(variable As BoundPseudoVariable, diagnostics As DiagnosticBag) As BoundExpression
CodeGen\EmitAddress.vb (6)
42Private Function EmitAddress(expression As BoundExpression, addressKind As AddressKind) As LocalDefinition 142Private Function EmitAddressOfTempClone(expression As BoundExpression) As LocalDefinition 191Private Function DigForLocal(value As BoundExpression) As BoundLocal 219Private Function HasHome(expression As BoundExpression) As Boolean 289Private Function AllowedToTakeRef(expression As BoundExpression, addressKind As AddressKind) As Boolean 460Private Function EmitReceiverRef(receiver As BoundExpression,
CodeGen\EmitArrayInitializer.vb (12)
53inits As ImmutableArray(Of BoundExpression), 64inits As ImmutableArray(Of BoundExpression), 81Private Shared Function ShouldEmitInitExpression(includeConstants As Boolean, init As BoundExpression) As Boolean 98Public Sub New(Index As Integer, Initializers As ImmutableArray(Of BoundExpression)) 104Public ReadOnly Initializers As ImmutableArray(Of BoundExpression) 108inits As ImmutableArray(Of BoundExpression), 179Private Function AsConstOrDefault(init As BoundExpression) As ConstantValue 190Private Function ShouldEmitBlockInitializer(elementType As TypeSymbol, inits As ImmutableArray(Of BoundExpression)) As ArrayInitializerStyle 232Private Sub InitializerCountRecursive(inits As ImmutableArray(Of BoundExpression), ByRef initCount As Integer, ByRef constInits As Integer) 259Private Function GetRawData(initializers As ImmutableArray(Of BoundExpression)) As ImmutableArray(Of Byte) 269Private Sub SerializeArrayRecursive(bw As BlobBuilder, inits As ImmutableArray(Of BoundExpression)) 286Private Function IsMultidimensionalInitializer(inits As ImmutableArray(Of BoundExpression)) As Boolean
CodeGen\EmitConversion.vb (1)
237EmitNewObj(constructor, ImmutableArray(Of BoundExpression).Empty, used:=True, syntaxNode:=conversion.Syntax)
CodeGen\EmitExpression.vb (29)
27Private Sub EmitExpression(expression As BoundExpression, used As Boolean) 60Private Sub EmitExpressionCoreWithStackGuard(expression As BoundExpression, used As Boolean) 74Private Sub EmitExpressionCore(expression As BoundExpression, used As Boolean) 290Dim receiver As BoundExpression = conditional.ReceiverOrCondition 449Private Sub EmitDelegateCreation(receiver As BoundExpression, method As MethodSymbol, delegateType As TypeSymbol, used As Boolean, syntaxNode As SyntaxNode) 494Private Sub EmitMeOrMyClassReferenceExpression(thisRef As BoundExpression) 535Private Sub EmitSideEffects(sideEffects As ImmutableArray(Of BoundExpression)) 543Private Sub EmitExpressions(expressions As ImmutableArray(Of BoundExpression), used As Boolean) 552Private Sub EmitArguments(arguments As ImmutableArray(Of BoundExpression), parameters As ImmutableArray(Of ParameterSymbol)) 721Private Function EmitFieldLoadReceiverAddress(receiver As BoundExpression) As Boolean 749Private Function FieldLoadPrefersRef(receiver As BoundExpression) As Boolean 785Friend Shared Function FieldLoadMustUseRef(expr As BoundExpression) As Boolean 873Private Function CanUseCallOnRefTypeReceiver(receiver As BoundExpression) As Boolean 946Private Function IsMeReceiver(receiver As BoundExpression) As Boolean 1241Friend Shared Function IsPossibleReferenceTypeReceiverOfConstrainedCall(receiver As BoundExpression) As Boolean 1251Friend Shared Function ReceiverIsKnownToReferToTempIfReferenceType(receiver As BoundExpression) As Boolean 1270Friend Shared Function IsSafeToDereferenceReceiverRefAfterEvaluatingArguments(arguments As ImmutableArray(Of BoundExpression)) As Boolean 1502Private Function StackMergeType(expr As BoundExpression) As TypeSymbol 1664arguments As ImmutableArray(Of BoundExpression), 1686Private Sub EmitInitObjOnTarget(target As BoundExpression) 1788Dim left As BoundExpression = assignmentOperator.Left 1801Dim right As BoundExpression = assignmentOperator.Right 1832Private Function SafeToGetWriteableReference(left As BoundExpression) As Boolean 1836Private Sub InPlaceInit(target As BoundExpression, used As Boolean) 1849Private Sub InPlaceCtorCall(target As BoundExpression, objCreation As BoundObjectCreationExpression, used As Boolean) 1870Private Function PartialCtorResultCannotEscape(left As BoundExpression) As Boolean 1874Private Function TargetIsNotOnHeap(left As BoundExpression) As Boolean 1888Private Function EmitAssignmentPreamble(assignmentTarget As BoundExpression) As Boolean 2019Private Sub EmitStore(expression As BoundExpression)
CodeGen\EmitOperators.vb (8)
156Dim child As BoundExpression = expression.Left 574Private Sub EmitIsNotNullOrZero(comparand As BoundExpression, nullOrZero As ConstantValue) 586Private Sub EmitIsNullOrZero(comparand As BoundExpression, nullOrZero As ConstantValue) 599left As BoundExpression, 600right As BoundExpression, 610Private Function EmitCondExpr(condition As BoundExpression, sense As Boolean) As ConstResKind 640Private Function TryEmitComparison(condition As BoundExpression, sense As Boolean) As Boolean 686Private Sub RemoveNegation(ByRef condition As BoundExpression, ByRef sense As Boolean)
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.VisitExpression(node.ValueTypeReceiver, Me._context), BoundExpression) 895Dim referenceTypeReceiver = DirectCast(Me.VisitExpression(node.ReferenceTypeReceiver, Me._context), 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)
CodeGen\ResumableStateMachineStateAllocator.vb (1)
76Public Function GenerateThrowMissingStateDispatch(f As SyntheticBoundNodeFactory, cachedState As BoundExpression, errorCode As HotReloadExceptionCode) As BoundStatement
Compilation\MethodCompiler.vb (5)
822Dim arguments = ArrayBuilder(Of BoundExpression).GetInstance(matchingStub.ParameterCount) 1440Dim expression As BoundExpression = stmt.Expression 2089Dim baseInvocation As BoundExpression = Nothing 2093baseInvocation = New BoundCall(syntaxNode, constructorToCall, Nothing, thisRef, ImmutableArray(Of BoundExpression).Empty, Nothing, voidType) 2113ImmutableArray(Of BoundExpression).Empty,
Compilation\SemanticModel.vb (7)
431Dim lowerExpr = TryCast(boundNodes.LowestBoundNode, BoundExpression) 793Dim boundExpression = TryCast(node, BoundExpression) 922Dim lowestExpr = TryCast(boundNodes.LowestBoundNode, BoundExpression) 923Dim highestExpr = TryCast(boundNodes.HighestBoundNode, BoundExpression) 1119Dim meReference = DirectCast(boundNodes.LowestBoundNode, BoundExpression) 1140Dim lowestExpr = TryCast(boundNodes.LowestBoundNode, BoundExpression) 1184Dim highestBoundNodeExpr = TryCast(boundNodes.HighestBoundNode, BoundExpression)
Compilation\SyntaxTreeSemanticModel.vb (1)
274Dim bound As BoundExpression = binder.BindExpression(node, BindingDiagnosticBag.Discarded)
Emit\SynthesizedPrivateImplementationDetailsSharedConstructor.vb (1)
86factory.Array(payloadArrayType.ElementType, ImmutableArray.Create(factory.MaximumMethodDefIndex()), ImmutableArray(Of BoundExpression).Empty)))
Generated\BoundNodes.xml.Generated.vb (952)
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 991Public Sub New(syntax As SyntaxNode, unevaluatedReceiverOpt As BoundExpression, aliasOpt As AliasSymbol, type As TypeSymbol, Optional hasErrors As Boolean = False) 1001Private ReadOnly _UnevaluatedReceiverOpt As BoundExpression 1002Public ReadOnly Property UnevaluatedReceiverOpt As BoundExpression 1020Public Function Update(unevaluatedReceiverOpt As BoundExpression, aliasOpt As AliasSymbol, type As TypeSymbol) As BoundTypeExpression 1075Public Sub New(syntax As SyntaxNode, unevaluatedReceiverOpt As BoundExpression, aliasOpt As AliasSymbol, namespaceSymbol As NamespaceSymbol, Optional hasErrors As Boolean = False) 1091Private ReadOnly _UnevaluatedReceiverOpt As BoundExpression 1092Public ReadOnly Property UnevaluatedReceiverOpt As BoundExpression 1117Public Function Update(unevaluatedReceiverOpt As BoundExpression, aliasOpt As AliasSymbol, namespaceSymbol As NamespaceSymbol) As BoundNamespaceExpression 1377Public 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) 1402Private ReadOnly _Operand As BoundExpression 1403Public ReadOnly Property Operand As BoundExpression 1428Public Function Update(operatorKind As UnaryOperatorKind, operand As BoundExpression, checked As Boolean, constantValueOpt As ConstantValue, type As TypeSymbol) As BoundUnaryOperator 1441Public Sub New(syntax As SyntaxNode, operatorKind As UnaryOperatorKind, underlyingExpression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 1464Private ReadOnly _UnderlyingExpression As BoundExpression 1465Public ReadOnly Property UnderlyingExpression As BoundExpression 1476Public Function Update(operatorKind As UnaryOperatorKind, underlyingExpression As BoundExpression, type As TypeSymbol) As BoundUserDefinedUnaryOperator 1489Public Sub New(syntax As SyntaxNode, operand As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 1504Private ReadOnly _Operand As BoundExpression 1505Public ReadOnly Property Operand As BoundExpression 1516Public Function Update(operand As BoundExpression, type As TypeSymbol) As BoundNullableIsTrueOperator 1529Public 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) 1556Private ReadOnly _Left As BoundExpression 1557Public ReadOnly Property Left As BoundExpression 1563Private ReadOnly _Right As BoundExpression 1564Public ReadOnly Property Right As BoundExpression 1589Public Function Update(operatorKind As BinaryOperatorKind, left As BoundExpression, right As BoundExpression, checked As Boolean, constantValueOpt As ConstantValue, type As TypeSymbol) As BoundBinaryOperator 1602Public Sub New(syntax As SyntaxNode, operatorKind As BinaryOperatorKind, underlyingExpression As BoundExpression, checked As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False) 1626Private ReadOnly _UnderlyingExpression As BoundExpression 1627Public ReadOnly Property UnderlyingExpression As BoundExpression 1645Public Function Update(operatorKind As BinaryOperatorKind, underlyingExpression As BoundExpression, checked As Boolean, type As TypeSymbol) As BoundUserDefinedBinaryOperator 1658Public 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) 1676Private ReadOnly _LeftOperand As BoundExpression 1677Public ReadOnly Property LeftOperand As BoundExpression 1690Private ReadOnly _LeftTest As BoundExpression 1691Public ReadOnly Property LeftTest As BoundExpression 1709Public Function Update(leftOperand As BoundExpression, leftOperandPlaceholder As BoundRValuePlaceholder, leftTest As BoundExpression, bitwiseOperator As BoundUserDefinedBinaryOperator, type As TypeSymbol) As BoundUserDefinedShortCircuitingOperator 1755Public 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) 1774Private ReadOnly _Left As BoundExpression 1775Public ReadOnly Property Left As BoundExpression 1788Private ReadOnly _Right As BoundExpression 1789Public ReadOnly Property Right As BoundExpression 1807Public Function Update(left As BoundExpression, leftOnTheRightOpt As BoundCompoundAssignmentTargetPlaceholder, right As BoundExpression, suppressObjectClone As Boolean, type As TypeSymbol) As BoundAssignmentOperator 1820Public Sub New(syntax As SyntaxNode, byRefLocal As BoundLocal, lValue As BoundExpression, isLValue As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False) 1844Private ReadOnly _LValue As BoundExpression 1845Public ReadOnly Property LValue As BoundExpression 1863Public Function Update(byRefLocal As BoundLocal, lValue As BoundExpression, isLValue As Boolean, type As TypeSymbol) As BoundReferenceAssignment 1927Public 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) 1947Private ReadOnly _Condition As BoundExpression 1948Public ReadOnly Property Condition As BoundExpression 1954Private ReadOnly _WhenTrue As BoundExpression 1955Public ReadOnly Property WhenTrue As BoundExpression 1961Private ReadOnly _WhenFalse As BoundExpression 1962Public ReadOnly Property WhenFalse As BoundExpression 1980Public Function Update(condition As BoundExpression, whenTrue As BoundExpression, whenFalse As BoundExpression, constantValueOpt As ConstantValue, type As TypeSymbol) As BoundTernaryConditionalExpression 1993Public 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) 2013Private ReadOnly _TestExpression As BoundExpression 2014Public ReadOnly Property TestExpression As BoundExpression 2020Private ReadOnly _ConvertedTestExpression As BoundExpression 2021Public ReadOnly Property ConvertedTestExpression As BoundExpression 2034Private ReadOnly _ElseExpression As BoundExpression 2035Public ReadOnly Property ElseExpression As BoundExpression 2053Public Function Update(testExpression As BoundExpression, convertedTestExpression As BoundExpression, testExpressionPlaceholder As BoundRValuePlaceholder, elseExpression As BoundExpression, constantValueOpt As ConstantValue, type As TypeSymbol) As BoundBinaryConditionalExpression 2085Public 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) 2105Private ReadOnly _Operand As BoundExpression 2106Public Overrides ReadOnly Property Operand As BoundExpression 2152Public 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 2220Public Sub New(syntax As SyntaxNode, elementPlaceholders As ImmutableArray(Of BoundRValuePlaceholder), convertedElements As ImmutableArray(Of BoundExpression), Optional hasErrors As Boolean = False) 2243Private ReadOnly _ConvertedElements As ImmutableArray(Of BoundExpression) 2244Public ReadOnly Property ConvertedElements As ImmutableArray(Of BoundExpression) 2255Public Function Update(elementPlaceholders As ImmutableArray(Of BoundRValuePlaceholder), convertedElements As ImmutableArray(Of BoundExpression)) As BoundConvertedTupleElements 2268Public Sub New(syntax As SyntaxNode, underlyingExpression As BoundExpression, inOutConversionFlags As Byte, type As TypeSymbol, Optional hasErrors As Boolean = False) 2284Private ReadOnly _UnderlyingExpression As BoundExpression 2285Public ReadOnly Property UnderlyingExpression As BoundExpression 2303Public Function Update(underlyingExpression As BoundExpression, inOutConversionFlags As Byte, type As TypeSymbol) As BoundUserDefinedConversion 2316Public 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) 2335Private ReadOnly _Operand As BoundExpression 2336Public Overrides ReadOnly Property Operand As BoundExpression 2375Public Function Update(operand As BoundExpression, conversionKind As ConversionKind, suppressVirtualCalls As Boolean, constantValueOpt As ConstantValue, relaxationLambdaOpt As BoundLambda, type As TypeSymbol) As BoundDirectCast 2388Public 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) 2406Private ReadOnly _Operand As BoundExpression 2407Public Overrides ReadOnly Property Operand As BoundExpression 2439Public Function Update(operand As BoundExpression, conversionKind As ConversionKind, constantValueOpt As ConstantValue, relaxationLambdaOpt As BoundLambda, type As TypeSymbol) As BoundTryCast 2452Public Sub New(syntax As SyntaxNode, operand As BoundExpression, isTypeOfIsNotExpression As Boolean, targetType As TypeSymbol, type As TypeSymbol, Optional hasErrors As Boolean = False) 2465Private ReadOnly _Operand As BoundExpression 2466Public ReadOnly Property Operand As BoundExpression 2491Public Function Update(operand As BoundExpression, isTypeOfIsNotExpression As Boolean, targetType As TypeSymbol, type As TypeSymbol) As BoundTypeOf 2548Public Sub New(syntax As SyntaxNode, expression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 2557Private ReadOnly _Expression As BoundExpression 2558Public ReadOnly Property Expression As BoundExpression 2569Public Function Update(expression As BoundExpression, type As TypeSymbol) As BoundSequencePointExpression 2657Protected Sub New(kind As BoundKind, syntax as SyntaxNode, receiverOpt As BoundExpression, qualificationKind As QualificationKind, Optional hasErrors As Boolean = False) 2664Private ReadOnly _ReceiverOpt As BoundExpression 2665Public ReadOnly Property ReceiverOpt As BoundExpression 2682Public 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) 2727Public Function Update(typeArgumentsOpt As BoundTypeArguments, methods As ImmutableArray(Of MethodSymbol), pendingExtensionMethodsOpt As ExtensionMethodGroup, resultKind As LookupResultKind, receiverOpt As BoundExpression, qualificationKind As QualificationKind) As BoundMethodGroup 2740Public Sub New(syntax As SyntaxNode, properties As ImmutableArray(Of PropertySymbol), resultKind As LookupResultKind, receiverOpt As BoundExpression, qualificationKind As QualificationKind, Optional hasErrors As Boolean = False) 2769Public Function Update(properties As ImmutableArray(Of PropertySymbol), resultKind As LookupResultKind, receiverOpt As BoundExpression, qualificationKind As QualificationKind) As BoundPropertyGroup 2782Public Sub New(syntax As SyntaxNode, expressionOpt As BoundExpression, functionLocalOpt As LocalSymbol, exitLabelOpt As LabelSymbol, Optional hasErrors As Boolean = False) 2795Private ReadOnly _ExpressionOpt As BoundExpression 2796Public ReadOnly Property ExpressionOpt As BoundExpression 2821Public Function Update(expressionOpt As BoundExpression, functionLocalOpt As LocalSymbol, exitLabelOpt As LabelSymbol) As BoundReturnStatement 2834Public Sub New(syntax As SyntaxNode, expression As BoundExpression, Optional hasErrors As Boolean = False) 2848Private ReadOnly _Expression As BoundExpression 2849Public ReadOnly Property Expression As BoundExpression 2860Public Function Update(expression As BoundExpression) As BoundYieldStatement 2873Public Sub New(syntax As SyntaxNode, expressionOpt As BoundExpression, Optional hasErrors As Boolean = False) 2879Private ReadOnly _ExpressionOpt As BoundExpression 2880Public ReadOnly Property ExpressionOpt As BoundExpression 2891Public Function Update(expressionOpt As BoundExpression) As BoundThrowStatement 2938Public Sub New(syntax As SyntaxNode, operand As BoundExpression, indices As ImmutableArray(Of BoundExpression), arrayTypeOpt As ArrayTypeSymbol, preserve As Boolean, Optional hasErrors As Boolean = False) 2956Private ReadOnly _Operand As BoundExpression 2957Public ReadOnly Property Operand As BoundExpression 2963Private ReadOnly _Indices As ImmutableArray(Of BoundExpression) 2964Public ReadOnly Property Indices As ImmutableArray(Of BoundExpression) 2989Public Function Update(operand As BoundExpression, indices As ImmutableArray(Of BoundExpression), arrayTypeOpt As ArrayTypeSymbol, preserve As Boolean) As BoundRedimClause 3036Public 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) 3073Private ReadOnly _ReceiverOpt As BoundExpression 3074Public ReadOnly Property ReceiverOpt As BoundExpression 3080Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression) 3081Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression) 3120Public 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 3133Public 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) 3155Private ReadOnly _ConstructorArguments As ImmutableArray(Of BoundExpression) 3156Public ReadOnly Property ConstructorArguments As ImmutableArray(Of BoundExpression) 3169Private ReadOnly _NamedArguments As ImmutableArray(Of BoundExpression) 3170Public ReadOnly Property NamedArguments As ImmutableArray(Of BoundExpression) 3188Public 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 3201Public 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) 3233Private ReadOnly _ReceiverOpt As BoundExpression 3234Public ReadOnly Property ReceiverOpt As BoundExpression 3259Public Function Update(nameOpt As String, containerTypeOpt As TypeSymbol, receiverOpt As BoundExpression, typeArgumentsOpt As BoundTypeArguments, accessKind As LateBoundAccessKind, type As TypeSymbol) As BoundLateMemberAccess 3272Public 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) 3291Private ReadOnly _Member As BoundExpression 3292Public ReadOnly Property Member As BoundExpression 3298Private ReadOnly _ArgumentsOpt As ImmutableArray(Of BoundExpression) 3299Public ReadOnly Property ArgumentsOpt As ImmutableArray(Of BoundExpression) 3331Public 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 3387Protected Sub New(kind As BoundKind, syntax as SyntaxNode, arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False) 3396Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression) 3397Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression) 3407Public 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) 3444Public 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 3457Public Sub New(syntax As SyntaxNode, naturalTypeOpt As TypeSymbol, arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False) 3479Public Function Update(naturalTypeOpt As TypeSymbol, arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundConvertedTupleLiteral 3517Public 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) 3549Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression) 3550Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression) 3568Public Function Update(constructorOpt As MethodSymbol, methodGroupOpt As BoundMethodGroup, arguments As ImmutableArray(Of BoundExpression), defaultArguments As BitVector, initializerOpt As BoundObjectInitializerExpressionBase, type As TypeSymbol) As BoundObjectCreationExpression 3615Public 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) 3641Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression) 3642Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression) 3653Public Function Update(binderOpt As Binder.AnonymousTypeCreationBinder, declarations As ImmutableArray(Of BoundAnonymousTypePropertyAccess), arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundAnonymousTypeCreationExpression 3717Public Sub New(syntax As SyntaxNode, binder As Binder.AnonymousTypeFieldInitializerBinder, value As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 3735Private ReadOnly _Value As BoundExpression 3736Public ReadOnly Property Value As BoundExpression 3747Public Function Update(binder As Binder.AnonymousTypeFieldInitializerBinder, value As BoundExpression, type As TypeSymbol) As BoundAnonymousTypeFieldInitializer 3760Protected Sub New(kind As BoundKind, syntax as SyntaxNode, placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False) 3777Private ReadOnly _Initializers As ImmutableArray(Of BoundExpression) 3778Public ReadOnly Property Initializers As ImmutableArray(Of BoundExpression) 3788Public Sub New(syntax As SyntaxNode, createTemporaryLocalForInitialization As Boolean, placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False) 3814Public Function Update(createTemporaryLocalForInitialization As Boolean, placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundObjectInitializerExpression 3827Public Sub New(syntax As SyntaxNode, placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False) 3845Public Function Update(placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundCollectionInitializerExpression 3889Public 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) 3903Private ReadOnly _ReceiverOpt As BoundExpression 3904Public ReadOnly Property ReceiverOpt As BoundExpression 3943Public Function Update(receiverOpt As BoundExpression, method As MethodSymbol, relaxationLambdaOpt As BoundLambda, relaxationReceiverPlaceholderOpt As BoundRValuePlaceholder, methodGroupOpt As BoundMethodGroup, type As TypeSymbol) As BoundDelegateCreationExpression 3956Public 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) 3982Private ReadOnly _Bounds As ImmutableArray(Of BoundExpression) 3983Public ReadOnly Property Bounds As ImmutableArray(Of BoundExpression) 4015Public Function Update(isParamArrayArgument As Boolean, bounds As ImmutableArray(Of BoundExpression), initializerOpt As BoundArrayInitialization, arrayLiteralOpt As BoundArrayLiteral, arrayLiteralConversion As ConversionKind, type As TypeSymbol) As BoundArrayCreation 4028Public 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) 4066Private ReadOnly _Bounds As ImmutableArray(Of BoundExpression) 4067Public ReadOnly Property Bounds As ImmutableArray(Of BoundExpression) 4092Public Function Update(hasDominantType As Boolean, numberOfCandidates As Integer, inferredType As ArrayTypeSymbol, bounds As ImmutableArray(Of BoundExpression), initializer As BoundArrayInitialization, binder As Binder) As BoundArrayLiteral 4105Public Sub New(syntax As SyntaxNode, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False) 4114Private ReadOnly _Initializers As ImmutableArray(Of BoundExpression) 4115Public ReadOnly Property Initializers As ImmutableArray(Of BoundExpression) 4126Public Function Update(initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundArrayInitialization 4139Public 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) 4158Private ReadOnly _ReceiverOpt As BoundExpression 4159Public ReadOnly Property ReceiverOpt As BoundExpression 4198Public Function Update(receiverOpt As BoundExpression, fieldSymbol As FieldSymbol, isLValue As Boolean, suppressVirtualCalls As Boolean, constantsInProgressOpt As ConstantFieldsInProgress, type As TypeSymbol) As BoundFieldAccess 4211Public 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) 4269Private ReadOnly _ReceiverOpt As BoundExpression 4270Public ReadOnly Property ReceiverOpt As BoundExpression 4276Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression) 4277Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression) 4295Public 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 4308Public Sub New(syntax As SyntaxNode, receiverOpt As BoundExpression, eventSymbol As EventSymbol, type As TypeSymbol, Optional hasErrors As Boolean = False) 4319Private ReadOnly _ReceiverOpt As BoundExpression 4320Public ReadOnly Property ReceiverOpt As BoundExpression 4338Public Function Update(receiverOpt As BoundExpression, eventSymbol As EventSymbol, type As TypeSymbol) As BoundEventAccess 4458Public Sub New(syntax As SyntaxNode, localSymbol As LocalSymbol, declarationInitializerOpt As BoundExpression, identifierInitializerOpt As BoundArrayCreation, initializedByAsNew As Boolean, Optional hasErrors As Boolean = False) 4482Private ReadOnly _DeclarationInitializerOpt As BoundExpression 4483Public ReadOnly Property DeclarationInitializerOpt As BoundExpression 4508Public Function Update(localSymbol As LocalSymbol, declarationInitializerOpt As BoundExpression, identifierInitializerOpt As BoundArrayCreation, initializedByAsNew As Boolean) As BoundLocalDeclaration 4521Public Sub New(syntax As SyntaxNode, localDeclarations As ImmutableArray(Of BoundLocalDeclaration), initializer As BoundExpression, binder As Binder, Optional hasErrors As Boolean = False) 4541Private ReadOnly _Initializer As BoundExpression 4542Public ReadOnly Property Initializer As BoundExpression 4560Public Function Update(localDeclarations As ImmutableArray(Of BoundLocalDeclaration), initializer As BoundExpression, binder As Binder) As BoundAsNewLocalDeclarations 4573Public Sub New(syntax As SyntaxNode, localDeclarations As ImmutableArray(Of BoundLocalDeclarationBase), initializerOpt As BoundExpression, Optional hasErrors As Boolean = False) 4590Private ReadOnly _InitializerOpt As BoundExpression 4591Public ReadOnly Property InitializerOpt As BoundExpression 4602Public Function Update(localDeclarations As ImmutableArray(Of BoundLocalDeclarationBase), initializerOpt As BoundExpression) As BoundDimStatement 4641Protected Sub New(kind As BoundKind, syntax as SyntaxNode, memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder, Optional hasErrors As Boolean = False) 4652Private ReadOnly _MemberAccessExpressionOpt As BoundExpression 4653Public ReadOnly Property MemberAccessExpressionOpt As BoundExpression 4659Private ReadOnly _InitialValue As BoundExpression 4660Public ReadOnly Property InitialValue As BoundExpression 4677Public Sub New(syntax As SyntaxNode, initializedFields As ImmutableArray(Of FieldSymbol), memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder, Optional hasErrors As Boolean = False) 4699Public Function Update(initializedFields As ImmutableArray(Of FieldSymbol), memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder) As BoundFieldInitializer 4712Public Sub New(syntax As SyntaxNode, initializedProperties As ImmutableArray(Of PropertySymbol), memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder, Optional hasErrors As Boolean = False) 4734Public Function Update(initializedProperties As ImmutableArray(Of PropertySymbol), memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder) As BoundPropertyInitializer 4747Public Sub New(syntax As SyntaxNode, parameter As ParameterSymbol, value As BoundExpression, Optional hasErrors As Boolean = False) 4765Private ReadOnly _Value As BoundExpression 4766Public ReadOnly Property Value As BoundExpression 4777Public Function Update(parameter As ParameterSymbol, value As BoundExpression) As BoundParameterEqualsValue 4824Public 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) 4849Private ReadOnly _SideEffects As ImmutableArray(Of BoundExpression) 4850Public ReadOnly Property SideEffects As ImmutableArray(Of BoundExpression) 4856Private ReadOnly _ValueOpt As BoundExpression 4857Public ReadOnly Property ValueOpt As BoundExpression 4868Public Function Update(locals As ImmutableArray(Of LocalSymbol), sideEffects As ImmutableArray(Of BoundExpression), valueOpt As BoundExpression, type As TypeSymbol) As BoundSequence 4881Public Sub New(syntax As SyntaxNode, expression As BoundExpression, Optional hasErrors As Boolean = False) 4890Private ReadOnly _Expression As BoundExpression 4891Public ReadOnly Property Expression As BoundExpression 4902Public Function Update(expression As BoundExpression) As BoundExpressionStatement 4915Public Sub New(syntax As SyntaxNode, condition As BoundExpression, consequence As BoundStatement, alternativeOpt As BoundStatement, Optional hasErrors As Boolean = False) 4927Private ReadOnly _Condition As BoundExpression 4928Public ReadOnly Property Condition As BoundExpression 4953Public Function Update(condition As BoundExpression, consequence As BoundStatement, alternativeOpt As BoundStatement) As BoundIfStatement 5077Public Sub New(syntax As SyntaxNode, caseClauses As ImmutableArray(Of BoundCaseClause), conditionOpt As BoundExpression, Optional hasErrors As Boolean = False) 5094Private ReadOnly _ConditionOpt As BoundExpression 5095Public ReadOnly Property ConditionOpt As BoundExpression 5106Public Function Update(caseClauses As ImmutableArray(Of BoundCaseClause), conditionOpt As BoundExpression) As BoundCaseStatement 5132Protected Sub New(kind As BoundKind, syntax as SyntaxNode, valueOpt As BoundExpression, conditionOpt As BoundExpression, Optional hasErrors As Boolean = False) 5139Private ReadOnly _ValueOpt As BoundExpression 5140Public ReadOnly Property ValueOpt As BoundExpression 5146Private ReadOnly _ConditionOpt As BoundExpression 5147Public ReadOnly Property ConditionOpt As BoundExpression 5157Public Sub New(syntax As SyntaxNode, valueOpt As BoundExpression, conditionOpt As BoundExpression, Optional hasErrors As Boolean = False) 5172Public Function Update(valueOpt As BoundExpression, conditionOpt As BoundExpression) As BoundSimpleCaseClause 5185Public Sub New(syntax As SyntaxNode, lowerBoundOpt As BoundExpression, upperBoundOpt As BoundExpression, lowerBoundConditionOpt As BoundExpression, upperBoundConditionOpt As BoundExpression, Optional hasErrors As Boolean = False) 5199Private ReadOnly _LowerBoundOpt As BoundExpression 5200Public ReadOnly Property LowerBoundOpt As BoundExpression 5206Private ReadOnly _UpperBoundOpt As BoundExpression 5207Public ReadOnly Property UpperBoundOpt As BoundExpression 5213Private ReadOnly _LowerBoundConditionOpt As BoundExpression 5214Public ReadOnly Property LowerBoundConditionOpt As BoundExpression 5220Private ReadOnly _UpperBoundConditionOpt As BoundExpression 5221Public ReadOnly Property UpperBoundConditionOpt As BoundExpression 5232Public Function Update(lowerBoundOpt As BoundExpression, upperBoundOpt As BoundExpression, lowerBoundConditionOpt As BoundExpression, upperBoundConditionOpt As BoundExpression) As BoundRangeCaseClause 5245Public Sub New(syntax As SyntaxNode, operatorKind As BinaryOperatorKind, valueOpt As BoundExpression, conditionOpt As BoundExpression, Optional hasErrors As Boolean = False) 5268Public Function Update(operatorKind As BinaryOperatorKind, valueOpt As BoundExpression, conditionOpt As BoundExpression) As BoundRelationalCaseClause 5320Public 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) 5335Private ReadOnly _TopConditionOpt As BoundExpression 5336Public ReadOnly Property TopConditionOpt As BoundExpression 5342Private ReadOnly _BottomConditionOpt As BoundExpression 5343Public ReadOnly Property BottomConditionOpt As BoundExpression 5375Public 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 5388Public Sub New(syntax As SyntaxNode, condition As BoundExpression, body As BoundStatement, continueLabel As LabelSymbol, exitLabel As LabelSymbol, Optional hasErrors As Boolean = False) 5401Private ReadOnly _Condition As BoundExpression 5402Public ReadOnly Property Condition As BoundExpression 5420Public Function Update(condition As BoundExpression, body As BoundStatement, continueLabel As LabelSymbol, exitLabel As LabelSymbol) As BoundWhileStatement 5433Protected 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) 5455Private ReadOnly _ControlVariable As BoundExpression 5456Public ReadOnly Property ControlVariable As BoundExpression 5469Private ReadOnly _NextVariablesOpt As ImmutableArray(Of BoundExpression) 5470Public ReadOnly Property NextVariablesOpt As ImmutableArray(Of BoundExpression) 5480Public 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) 5532Private ReadOnly _LessThanOrEqual As BoundExpression 5533Public ReadOnly Property LessThanOrEqual As BoundExpression 5539Private ReadOnly _GreaterThanOrEqual As BoundExpression 5540Public ReadOnly Property GreaterThanOrEqual As BoundExpression 5551Public Function Update(leftOperandPlaceholder As BoundRValuePlaceholder, rightOperandPlaceholder As BoundRValuePlaceholder, addition As BoundUserDefinedBinaryOperator, subtraction As BoundUserDefinedBinaryOperator, lessThanOrEqual As BoundExpression, greaterThanOrEqual As BoundExpression) As BoundForToUserDefinedOperators 5564Public 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) 5583Private ReadOnly _InitialValue As BoundExpression 5584Public ReadOnly Property InitialValue As BoundExpression 5590Private ReadOnly _LimitValue As BoundExpression 5591Public ReadOnly Property LimitValue As BoundExpression 5597Private ReadOnly _StepValue As BoundExpression 5598Public ReadOnly Property StepValue As BoundExpression 5623Public 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 5636Public 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) 5651Private ReadOnly _Collection As BoundExpression 5652Public ReadOnly Property Collection As BoundExpression 5670Public 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 5826Public 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) 5847Private ReadOnly _ExceptionSourceOpt As BoundExpression 5848Public ReadOnly Property ExceptionSourceOpt As BoundExpression 5854Private ReadOnly _ErrorLineNumberOpt As BoundExpression 5855Public ReadOnly Property ErrorLineNumberOpt As BoundExpression 5861Private ReadOnly _ExceptionFilterOpt As BoundExpression 5862Public ReadOnly Property ExceptionFilterOpt As BoundExpression 5887Public Function Update(localOpt As LocalSymbol, exceptionSourceOpt As BoundExpression, errorLineNumberOpt As BoundExpression, exceptionFilterOpt As BoundExpression, body As BoundBlock, isSynthesizedAsyncCatchAll As Boolean) As BoundCatchBlock 6400Public 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) 6422Private ReadOnly _OriginalArgument As BoundExpression 6423Public ReadOnly Property OriginalArgument As BoundExpression 6429Private ReadOnly _InConversion As BoundExpression 6430Public ReadOnly Property InConversion As BoundExpression 6443Private ReadOnly _OutConversion As BoundExpression 6444Public ReadOnly Property OutConversion As BoundExpression 6462Public Function Update(originalArgument As BoundExpression, inConversion As BoundExpression, inPlaceholder As BoundByRefArgumentPlaceholder, outConversion As BoundExpression, outPlaceholder As BoundRValuePlaceholder, type As TypeSymbol) As BoundByRefArgumentWithCopyBack 6475Public Sub New(syntax As SyntaxNode, originalArgument As BoundExpression, localSymbol As SynthesizedLocal, type As TypeSymbol, Optional hasErrors As Boolean = False) 6491Private ReadOnly _OriginalArgument As BoundExpression 6492Public ReadOnly Property OriginalArgument As BoundExpression 6510Public Function Update(originalArgument As BoundExpression, localSymbol As SynthesizedLocal, type As TypeSymbol) As BoundLateBoundArgumentSupportingAssignmentWithCapture 6683Public Sub New(syntax As SyntaxNode, condition As BoundExpression, jumpIfTrue As Boolean, label As LabelSymbol, Optional hasErrors As Boolean = False) 6695Private ReadOnly _Condition As BoundExpression 6696Public ReadOnly Property Condition As BoundExpression 6721Public Function Update(condition As BoundExpression, jumpIfTrue As Boolean, label As LabelSymbol) As BoundConditionalGoto 6734Public Sub New(syntax As SyntaxNode, originalExpression As BoundExpression, body As BoundBlock, binder As WithBlockBinder, Optional hasErrors As Boolean = False) 6747Private ReadOnly _OriginalExpression As BoundExpression 6748Public ReadOnly Property OriginalExpression As BoundExpression 6773Public Function Update(originalExpression As BoundExpression, body As BoundBlock, binder As WithBlockBinder) As BoundWithStatement 7009Public Sub New(syntax As SyntaxNode, expression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 7019Private ReadOnly _Expression As BoundExpression 7020Public ReadOnly Property Expression As BoundExpression 7031Public Function Update(expression As BoundExpression, type As TypeSymbol) As BoundQuerySource 7182Public 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) 7195Private ReadOnly _UnderlyingExpression As BoundExpression 7196Public ReadOnly Property UnderlyingExpression As BoundExpression 7207Public Function Update(underlyingExpression As BoundExpression, rangeVariables As ImmutableArray(Of RangeVariableSymbol), compoundVariableType As TypeSymbol, binders As ImmutableArray(Of Binder), type As TypeSymbol) As BoundQueryClause 7220Public Sub New(syntax As SyntaxNode, underlyingExpression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 7230Private ReadOnly _UnderlyingExpression As BoundExpression 7231Public ReadOnly Property UnderlyingExpression As BoundExpression 7242Public Function Update(underlyingExpression As BoundExpression, type As TypeSymbol) As BoundOrdering 7255Public Sub New(syntax As SyntaxNode, lambdaSymbol As SynthesizedLambdaSymbol, rangeVariables As ImmutableArray(Of RangeVariableSymbol), expression As BoundExpression, exprIsOperandOfConditionalBranch As Boolean, Optional hasErrors As Boolean = False) 7283Private ReadOnly _Expression As BoundExpression 7284Public ReadOnly Property Expression As BoundExpression 7302Public Function Update(lambdaSymbol As SynthesizedLambdaSymbol, rangeVariables As ImmutableArray(Of RangeVariableSymbol), expression As BoundExpression, exprIsOperandOfConditionalBranch As Boolean) As BoundQueryLambda 7315Public Sub New(syntax As SyntaxNode, rangeVariable As RangeVariableSymbol, value As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 7334Private ReadOnly _Value As BoundExpression 7335Public ReadOnly Property Value As BoundExpression 7346Public Function Update(rangeVariable As RangeVariableSymbol, value As BoundExpression, type As TypeSymbol) As BoundRangeVariableAssignment 7423Public 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) 7452Private ReadOnly _UnderlyingExpression As BoundExpression 7453Public ReadOnly Property UnderlyingExpression As BoundExpression 7464Public 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 7477Public Sub New(syntax As SyntaxNode, group As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 7487Private ReadOnly _Group As BoundExpression 7488Public ReadOnly Property Group As BoundExpression 7499Public Function Update(group As BoundExpression, type As TypeSymbol) As BoundGroupAggregation 7556Protected Sub New(kind As BoundKind, syntax as SyntaxNode, eventAccess As BoundExpression, handler As BoundExpression, Optional hasErrors As Boolean = False) 7567Private ReadOnly _EventAccess As BoundExpression 7568Public ReadOnly Property EventAccess As BoundExpression 7574Private ReadOnly _Handler As BoundExpression 7575Public ReadOnly Property Handler As BoundExpression 7585Public Sub New(syntax As SyntaxNode, eventAccess As BoundExpression, handler As BoundExpression, Optional hasErrors As Boolean = False) 7599Public Function Update(eventAccess As BoundExpression, handler As BoundExpression) As BoundAddHandlerStatement 7612Public Sub New(syntax As SyntaxNode, eventAccess As BoundExpression, handler As BoundExpression, Optional hasErrors As Boolean = False) 7626Public Function Update(eventAccess As BoundExpression, handler As BoundExpression) As BoundRemoveHandlerStatement 7639Public Sub New(syntax As SyntaxNode, eventSymbol As EventSymbol, eventInvocation As BoundExpression, Optional hasErrors As Boolean = False) 7657Private ReadOnly _EventInvocation As BoundExpression 7658Public ReadOnly Property EventInvocation As BoundExpression 7669Public Function Update(eventSymbol As EventSymbol, eventInvocation As BoundExpression) As BoundRaiseEventStatement 7682Public 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) 7704Private ReadOnly _ResourceExpressionOpt As BoundExpression 7705Public ReadOnly Property ResourceExpressionOpt As BoundExpression 7737Public Function Update(resourceList As ImmutableArray(Of BoundLocalDeclarationBase), resourceExpressionOpt As BoundExpression, body As BoundBlock, usingInfo As UsingInfo, locals As ImmutableArray(Of LocalSymbol)) As BoundUsingStatement 7750Public Sub New(syntax As SyntaxNode, lockExpression As BoundExpression, body As BoundBlock, Optional hasErrors As Boolean = False) 7761Private ReadOnly _LockExpression As BoundExpression 7762Public ReadOnly Property LockExpression As BoundExpression 7780Public Function Update(lockExpression As BoundExpression, body As BoundBlock) As BoundSyncLockStatement 7793Public Sub New(syntax As SyntaxNode, xmlNamespace As BoundExpression, localName As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 7807Private ReadOnly _XmlNamespace As BoundExpression 7808Public ReadOnly Property XmlNamespace As BoundExpression 7814Private ReadOnly _LocalName As BoundExpression 7815Public ReadOnly Property LocalName As BoundExpression 7821Private ReadOnly _ObjectCreation As BoundExpression 7822Public ReadOnly Property ObjectCreation As BoundExpression 7833Public Function Update(xmlNamespace As BoundExpression, localName As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlName 7846Public Sub New(syntax As SyntaxNode, xmlNamespace As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 7858Private ReadOnly _XmlNamespace As BoundExpression 7859Public ReadOnly Property XmlNamespace As BoundExpression 7865Private ReadOnly _ObjectCreation As BoundExpression 7866Public ReadOnly Property ObjectCreation As BoundExpression 7877Public Function Update(xmlNamespace As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlNamespace 7890Public Sub New(syntax As SyntaxNode, declaration As BoundExpression, childNodes As ImmutableArray(Of BoundExpression), rewriterInfo As BoundXmlContainerRewriterInfo, type As TypeSymbol, Optional hasErrors As Boolean = False) 7904Private ReadOnly _Declaration As BoundExpression 7905Public ReadOnly Property Declaration As BoundExpression 7911Private ReadOnly _ChildNodes As ImmutableArray(Of BoundExpression) 7912Public ReadOnly Property ChildNodes As ImmutableArray(Of BoundExpression) 7930Public Function Update(declaration As BoundExpression, childNodes As ImmutableArray(Of BoundExpression), rewriterInfo As BoundXmlContainerRewriterInfo, type As TypeSymbol) As BoundXmlDocument 7943Public 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) 7956Private ReadOnly _Version As BoundExpression 7957Public ReadOnly Property Version As BoundExpression 7963Private ReadOnly _Encoding As BoundExpression 7964Public ReadOnly Property Encoding As BoundExpression 7970Private ReadOnly _Standalone As BoundExpression 7971Public ReadOnly Property Standalone As BoundExpression 7977Private ReadOnly _ObjectCreation As BoundExpression 7978Public ReadOnly Property ObjectCreation As BoundExpression 7989Public Function Update(version As BoundExpression, encoding As BoundExpression, standalone As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlDeclaration 8002Public Sub New(syntax As SyntaxNode, target As BoundExpression, data As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 8016Private ReadOnly _Target As BoundExpression 8017Public ReadOnly Property Target As BoundExpression 8023Private ReadOnly _Data As BoundExpression 8024Public ReadOnly Property Data As BoundExpression 8030Private ReadOnly _ObjectCreation As BoundExpression 8031Public ReadOnly Property ObjectCreation As BoundExpression 8042Public Function Update(target As BoundExpression, data As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlProcessingInstruction 8055Public Sub New(syntax As SyntaxNode, value As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 8067Private ReadOnly _Value As BoundExpression 8068Public ReadOnly Property Value As BoundExpression 8074Private ReadOnly _ObjectCreation As BoundExpression 8075Public ReadOnly Property ObjectCreation As BoundExpression 8086Public Function Update(value As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlComment 8099Public 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) 8119Private ReadOnly _Name As BoundExpression 8120Public ReadOnly Property Name As BoundExpression 8126Private ReadOnly _Value As BoundExpression 8127Public ReadOnly Property Value As BoundExpression 8140Private ReadOnly _ObjectCreation As BoundExpression 8141Public ReadOnly Property ObjectCreation As BoundExpression 8152Public Function Update(name As BoundExpression, value As BoundExpression, matchesImport As Boolean, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlAttribute 8165Public Sub New(syntax As SyntaxNode, argument As BoundExpression, childNodes As ImmutableArray(Of BoundExpression), rewriterInfo As BoundXmlContainerRewriterInfo, type As TypeSymbol, Optional hasErrors As Boolean = False) 8179Private ReadOnly _Argument As BoundExpression 8180Public ReadOnly Property Argument As BoundExpression 8186Private ReadOnly _ChildNodes As ImmutableArray(Of BoundExpression) 8187Public ReadOnly Property ChildNodes As ImmutableArray(Of BoundExpression) 8205Public Function Update(argument As BoundExpression, childNodes As ImmutableArray(Of BoundExpression), rewriterInfo As BoundXmlContainerRewriterInfo, type As TypeSymbol) As BoundXmlElement 8218Public Sub New(syntax As SyntaxNode, memberAccess As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 8228Private ReadOnly _MemberAccess As BoundExpression 8229Public ReadOnly Property MemberAccess As BoundExpression 8240Public Function Update(memberAccess As BoundExpression, type As TypeSymbol) As BoundXmlMemberAccess 8253Public Sub New(syntax As SyntaxNode, expression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 8263Private ReadOnly _Expression As BoundExpression 8264Public ReadOnly Property Expression As BoundExpression 8275Public Function Update(expression As BoundExpression, type As TypeSymbol) As BoundXmlEmbeddedExpression 8288Public Sub New(syntax As SyntaxNode, value As BoundLiteral, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 8307Private ReadOnly _ObjectCreation As BoundExpression 8308Public ReadOnly Property ObjectCreation As BoundExpression 8319Public Function Update(value As BoundLiteral, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlCData 8332Public Sub New(syntax As SyntaxNode, resumeKind As ResumeStatementKind, labelOpt As LabelSymbol, labelExpressionOpt As BoundExpression, Optional hasErrors As Boolean = False) 8359Private ReadOnly _LabelExpressionOpt As BoundExpression 8360Public ReadOnly Property LabelExpressionOpt As BoundExpression 8371Public Function Update(resumeKind As ResumeStatementKind, labelOpt As LabelSymbol, labelExpressionOpt As BoundExpression) As BoundResumeStatement 8384Public Sub New(syntax As SyntaxNode, onErrorKind As OnErrorStatementKind, labelOpt As LabelSymbol, labelExpressionOpt As BoundExpression, Optional hasErrors As Boolean = False) 8411Private ReadOnly _LabelExpressionOpt As BoundExpression 8412Public ReadOnly Property LabelExpressionOpt As BoundExpression 8423Public Function Update(onErrorKind As OnErrorStatementKind, labelOpt As LabelSymbol, labelExpressionOpt As BoundExpression) As BoundOnErrorStatement 8556Public Sub New(syntax As SyntaxNode, value As BoundExpression, jumps As ImmutableArray(Of BoundGotoStatement), Optional hasErrors As Boolean = False) 8572Private ReadOnly _Value As BoundExpression 8573Public ReadOnly Property Value As BoundExpression 8591Public Function Update(value As BoundExpression, jumps As ImmutableArray(Of BoundGotoStatement)) As BoundUnstructuredExceptionOnErrorSwitch 8670Public 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) 8695Private ReadOnly _Operand As BoundExpression 8696Public ReadOnly Property Operand As BoundExpression 8709Private ReadOnly _GetAwaiter As BoundExpression 8710Public ReadOnly Property GetAwaiter As BoundExpression 8723Private ReadOnly _IsCompleted As BoundExpression 8724Public ReadOnly Property IsCompleted As BoundExpression 8730Private ReadOnly _GetResult As BoundExpression 8731Public ReadOnly Property GetResult As BoundExpression 8742Public 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 8755Public 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) 8795Private ReadOnly _ValueOpt As BoundExpression 8796Public ReadOnly Property ValueOpt As BoundExpression 8807Public 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 8856Public 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) 8876Private ReadOnly _Original As BoundExpression 8877Public ReadOnly Property Original As BoundExpression 8883Private ReadOnly _Start As BoundExpression 8884Public ReadOnly Property Start As BoundExpression 8890Private ReadOnly _LengthOpt As BoundExpression 8891Public ReadOnly Property LengthOpt As BoundExpression 8897Private ReadOnly _Source As BoundExpression 8898Public ReadOnly Property Source As BoundExpression 8909Public Function Update(original As BoundExpression, start As BoundExpression, lengthOpt As BoundExpression, source As BoundExpression, type As TypeSymbol) As BoundMidResult 8922Public Sub New(syntax As SyntaxNode, receiver As BoundExpression, placeholder As BoundRValuePlaceholder, accessExpression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 8935Private ReadOnly _Receiver As BoundExpression 8936Public ReadOnly Property Receiver As BoundExpression 8949Private ReadOnly _AccessExpression As BoundExpression 8950Public ReadOnly Property AccessExpression As BoundExpression 8961Public Function Update(receiver As BoundExpression, placeholder As BoundRValuePlaceholder, accessExpression As BoundExpression, type As TypeSymbol) As BoundConditionalAccess 9032Public 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) 9052Private ReadOnly _ReceiverOrCondition As BoundExpression 9053Public ReadOnly Property ReceiverOrCondition As BoundExpression 9073Private ReadOnly _WhenNotNull As BoundExpression 9074Public ReadOnly Property WhenNotNull As BoundExpression 9080Private ReadOnly _WhenNullOpt As BoundExpression 9081Public ReadOnly Property WhenNullOpt As BoundExpression 9092Public Function Update(receiverOrCondition As BoundExpression, captureReceiver As Boolean, placeholderId As Integer, whenNotNull As BoundExpression, whenNullOpt As BoundExpression, type As TypeSymbol) As BoundLoweredConditionalAccess 9105Public Sub New(syntax As SyntaxNode, valueTypeReceiver As BoundExpression, referenceTypeReceiver As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 9122Private ReadOnly _ValueTypeReceiver As BoundExpression 9123Public ReadOnly Property ValueTypeReceiver As BoundExpression 9129Private ReadOnly _ReferenceTypeReceiver As BoundExpression 9130Public ReadOnly Property ReferenceTypeReceiver As BoundExpression 9141Public Function Update(valueTypeReceiver As BoundExpression, referenceTypeReceiver As BoundExpression, type As TypeSymbol) As BoundComplexConditionalAccessReceiver 9154Public Sub New(syntax As SyntaxNode, argument As BoundExpression, constantValueOpt As ConstantValue, type As TypeSymbol, Optional hasErrors As Boolean = False) 9170Private ReadOnly _Argument As BoundExpression 9171Public ReadOnly Property Argument As BoundExpression 9189Public Function Update(argument As BoundExpression, constantValueOpt As ConstantValue, type As TypeSymbol) As BoundNameOfOperator 9242Public Sub New(syntax As SyntaxNode, contents As ImmutableArray(Of BoundNode), constructionOpt As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 9265Private ReadOnly _ConstructionOpt As BoundExpression 9266Public ReadOnly Property ConstructionOpt As BoundExpression 9277Public Function Update(contents As ImmutableArray(Of BoundNode), constructionOpt As BoundExpression, type As TypeSymbol) As BoundInterpolatedStringExpression 9290Public Sub New(syntax As SyntaxNode, expression As BoundExpression, alignmentOpt As BoundExpression, formatStringOpt As BoundLiteral, Optional hasErrors As Boolean = False) 9301Private ReadOnly _Expression As BoundExpression 9302Public ReadOnly Property Expression As BoundExpression 9308Private ReadOnly _AlignmentOpt As BoundExpression 9309Public ReadOnly Property AlignmentOpt As BoundExpression 9327Public Function Update(expression As BoundExpression, alignmentOpt As BoundExpression, formatStringOpt As BoundLiteral) As BoundInterpolation 12066Dim underlyingLValue As BoundExpression = DirectCast(Me.Visit(node.UnderlyingLValue), BoundExpression) 12097Dim childBoundNodes As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ChildBoundNodes) 12108Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression) 12114Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression) 12120Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression) 12121Dim indices As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Indices) 12127Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression) 12149Dim unevaluatedReceiverOpt As BoundExpression = node.UnevaluatedReceiverOpt 12160Dim unevaluatedReceiverOpt As BoundExpression = DirectCast(Me.Visit(node.UnevaluatedReceiverOpt), BoundExpression) 12196Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression) 12202Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression) 12208Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression) 12214Dim left As BoundExpression = DirectCast(Me.Visit(node.Left), BoundExpression) 12215Dim right As BoundExpression = DirectCast(Me.Visit(node.Right), BoundExpression) 12221Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression) 12227Dim leftOperand As BoundExpression = DirectCast(Me.Visit(node.LeftOperand), BoundExpression) 12229Dim leftTest As BoundExpression = DirectCast(Me.Visit(node.LeftTest), BoundExpression) 12241Dim left As BoundExpression = DirectCast(Me.Visit(node.Left), BoundExpression) 12243Dim right As BoundExpression = DirectCast(Me.Visit(node.Right), BoundExpression) 12250Dim lValue As BoundExpression = DirectCast(Me.Visit(node.LValue), BoundExpression) 12262Dim condition As BoundExpression = DirectCast(Me.Visit(node.Condition), BoundExpression) 12263Dim whenTrue As BoundExpression = DirectCast(Me.Visit(node.WhenTrue), BoundExpression) 12264Dim whenFalse As BoundExpression = DirectCast(Me.Visit(node.WhenFalse), BoundExpression) 12270Dim testExpression As BoundExpression = DirectCast(Me.Visit(node.TestExpression), BoundExpression) 12271Dim convertedTestExpression As BoundExpression = node.ConvertedTestExpression 12273Dim elseExpression As BoundExpression = DirectCast(Me.Visit(node.ElseExpression), BoundExpression) 12279Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression) 12293Dim convertedElements As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ConvertedElements) 12298Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression) 12304Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression) 12311Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression) 12318Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression) 12330Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression) 12346Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression) 12352Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression) 12358Dim expressionOpt As BoundExpression = DirectCast(Me.Visit(node.ExpressionOpt), BoundExpression) 12363Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression) 12368Dim expressionOpt As BoundExpression = DirectCast(Me.Visit(node.ExpressionOpt), BoundExpression) 12378Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression) 12379Dim indices As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Indices) 12390Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression) 12391Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments) 12397Dim constructorArguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ConstructorArguments) 12398Dim namedArguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.NamedArguments) 12404Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression) 12412Dim member As BoundExpression = DirectCast(Me.Visit(node.Member), BoundExpression) 12413Dim argumentsOpt As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ArgumentsOpt) 12426Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments) 12432Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments) 12440Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments) 12454Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments) 12465Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression) 12472Dim initializers As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Initializers) 12479Dim initializers As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Initializers) 12491Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression) 12500Dim bounds As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Bounds) 12508Dim bounds As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Bounds) 12515Dim initializers As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Initializers) 12521Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression) 12528Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression) 12529Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments) 12535Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression) 12551Dim declarationInitializerOpt As BoundExpression = DirectCast(Me.Visit(node.DeclarationInitializerOpt), BoundExpression) 12558Dim initializer As BoundExpression = DirectCast(Me.Visit(node.Initializer), BoundExpression) 12564Dim initializerOpt As BoundExpression = DirectCast(Me.Visit(node.InitializerOpt), BoundExpression) 12573Dim memberAccessExpressionOpt As BoundExpression = DirectCast(Me.Visit(node.MemberAccessExpressionOpt), BoundExpression) 12574Dim initialValue As BoundExpression = DirectCast(Me.Visit(node.InitialValue), BoundExpression) 12579Dim memberAccessExpressionOpt As BoundExpression = DirectCast(Me.Visit(node.MemberAccessExpressionOpt), BoundExpression) 12580Dim initialValue As BoundExpression = DirectCast(Me.Visit(node.InitialValue), BoundExpression) 12585Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression) 12595Dim sideEffects As ImmutableArray(Of BoundExpression) = Me.VisitList(node.SideEffects) 12596Dim valueOpt As BoundExpression = DirectCast(Me.Visit(node.ValueOpt), BoundExpression) 12602Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression) 12607Dim condition As BoundExpression = DirectCast(Me.Visit(node.Condition), BoundExpression) 12628Dim conditionOpt As BoundExpression = DirectCast(Me.Visit(node.ConditionOpt), BoundExpression) 12633Dim valueOpt As BoundExpression = DirectCast(Me.Visit(node.ValueOpt), BoundExpression) 12634Dim conditionOpt As BoundExpression = DirectCast(Me.Visit(node.ConditionOpt), BoundExpression) 12639Dim lowerBoundOpt As BoundExpression = DirectCast(Me.Visit(node.LowerBoundOpt), BoundExpression) 12640Dim upperBoundOpt As BoundExpression = DirectCast(Me.Visit(node.UpperBoundOpt), BoundExpression) 12641Dim lowerBoundConditionOpt As BoundExpression = DirectCast(Me.Visit(node.LowerBoundConditionOpt), BoundExpression) 12642Dim upperBoundConditionOpt As BoundExpression = DirectCast(Me.Visit(node.UpperBoundConditionOpt), BoundExpression) 12647Dim valueOpt As BoundExpression = DirectCast(Me.Visit(node.ValueOpt), BoundExpression) 12648Dim conditionOpt As BoundExpression = DirectCast(Me.Visit(node.ConditionOpt), BoundExpression) 12653Dim topConditionOpt As BoundExpression = DirectCast(Me.Visit(node.TopConditionOpt), BoundExpression) 12654Dim bottomConditionOpt As BoundExpression = DirectCast(Me.Visit(node.BottomConditionOpt), BoundExpression) 12660Dim condition As BoundExpression = DirectCast(Me.Visit(node.Condition), BoundExpression) 12670Dim lessThanOrEqual As BoundExpression = DirectCast(Me.Visit(node.LessThanOrEqual), BoundExpression) 12671Dim greaterThanOrEqual As BoundExpression = DirectCast(Me.Visit(node.GreaterThanOrEqual), BoundExpression) 12676Dim initialValue As BoundExpression = DirectCast(Me.Visit(node.InitialValue), BoundExpression) 12677Dim limitValue As BoundExpression = DirectCast(Me.Visit(node.LimitValue), BoundExpression) 12678Dim stepValue As BoundExpression = DirectCast(Me.Visit(node.StepValue), BoundExpression) 12680Dim controlVariable As BoundExpression = DirectCast(Me.Visit(node.ControlVariable), BoundExpression) 12682Dim nextVariablesOpt As ImmutableArray(Of BoundExpression) = Me.VisitList(node.NextVariablesOpt) 12687Dim collection As BoundExpression = DirectCast(Me.Visit(node.Collection), BoundExpression) 12688Dim controlVariable As BoundExpression = DirectCast(Me.Visit(node.ControlVariable), BoundExpression) 12690Dim nextVariablesOpt As ImmutableArray(Of BoundExpression) = Me.VisitList(node.NextVariablesOpt) 12710Dim exceptionSourceOpt As BoundExpression = DirectCast(Me.Visit(node.ExceptionSourceOpt), BoundExpression) 12711Dim errorLineNumberOpt As BoundExpression = DirectCast(Me.Visit(node.ErrorLineNumberOpt), BoundExpression) 12712Dim exceptionFilterOpt As BoundExpression = DirectCast(Me.Visit(node.ExceptionFilterOpt), BoundExpression) 12773Dim originalArgument As BoundExpression = DirectCast(Me.Visit(node.OriginalArgument), BoundExpression) 12774Dim inConversion As BoundExpression = DirectCast(Me.Visit(node.InConversion), BoundExpression) 12776Dim outConversion As BoundExpression = DirectCast(Me.Visit(node.OutConversion), BoundExpression) 12783Dim originalArgument As BoundExpression = DirectCast(Me.Visit(node.OriginalArgument), BoundExpression) 12808Dim condition As BoundExpression = DirectCast(Me.Visit(node.Condition), BoundExpression) 12813Dim originalExpression As BoundExpression = DirectCast(Me.Visit(node.OriginalExpression), BoundExpression) 12837Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression) 12856Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression) 12863Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression) 12869Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression) 12875Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression) 12888Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression) 12895Dim group As BoundExpression = DirectCast(Me.Visit(node.Group), BoundExpression) 12906Dim eventAccess As BoundExpression = DirectCast(Me.Visit(node.EventAccess), BoundExpression) 12907Dim handler As BoundExpression = DirectCast(Me.Visit(node.Handler), BoundExpression) 12912Dim eventAccess As BoundExpression = DirectCast(Me.Visit(node.EventAccess), BoundExpression) 12913Dim handler As BoundExpression = DirectCast(Me.Visit(node.Handler), BoundExpression) 12918Dim eventInvocation As BoundExpression = DirectCast(Me.Visit(node.EventInvocation), BoundExpression) 12924Dim resourceExpressionOpt As BoundExpression = DirectCast(Me.Visit(node.ResourceExpressionOpt), BoundExpression) 12930Dim lockExpression As BoundExpression = DirectCast(Me.Visit(node.LockExpression), BoundExpression) 12936Dim xmlNamespace As BoundExpression = DirectCast(Me.Visit(node.XmlNamespace), BoundExpression) 12937Dim localName As BoundExpression = DirectCast(Me.Visit(node.LocalName), BoundExpression) 12938Dim objectCreation As BoundExpression = node.ObjectCreation 12944Dim xmlNamespace As BoundExpression = DirectCast(Me.Visit(node.XmlNamespace), BoundExpression) 12945Dim objectCreation As BoundExpression = node.ObjectCreation 12951Dim declaration As BoundExpression = DirectCast(Me.Visit(node.Declaration), BoundExpression) 12952Dim childNodes As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ChildNodes) 12958Dim version As BoundExpression = DirectCast(Me.Visit(node.Version), BoundExpression) 12959Dim encoding As BoundExpression = DirectCast(Me.Visit(node.Encoding), BoundExpression) 12960Dim standalone As BoundExpression = DirectCast(Me.Visit(node.Standalone), BoundExpression) 12961Dim objectCreation As BoundExpression = node.ObjectCreation 12967Dim target As BoundExpression = DirectCast(Me.Visit(node.Target), BoundExpression) 12968Dim data As BoundExpression = DirectCast(Me.Visit(node.Data), BoundExpression) 12969Dim objectCreation As BoundExpression = node.ObjectCreation 12975Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression) 12976Dim objectCreation As BoundExpression = node.ObjectCreation 12982Dim name As BoundExpression = DirectCast(Me.Visit(node.Name), BoundExpression) 12983Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression) 12984Dim objectCreation As BoundExpression = node.ObjectCreation 12990Dim argument As BoundExpression = DirectCast(Me.Visit(node.Argument), BoundExpression) 12991Dim childNodes As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ChildNodes) 12997Dim memberAccess As BoundExpression = DirectCast(Me.Visit(node.MemberAccess), BoundExpression) 13003Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression) 13010Dim objectCreation As BoundExpression = node.ObjectCreation 13016Dim labelExpressionOpt As BoundExpression = DirectCast(Me.Visit(node.LabelExpressionOpt), BoundExpression) 13021Dim labelExpressionOpt As BoundExpression = DirectCast(Me.Visit(node.LabelExpressionOpt), BoundExpression) 13038Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression) 13052Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression) 13054Dim getAwaiter As BoundExpression = DirectCast(Me.Visit(node.GetAwaiter), BoundExpression) 13056Dim isCompleted As BoundExpression = DirectCast(Me.Visit(node.IsCompleted), BoundExpression) 13057Dim getResult As BoundExpression = DirectCast(Me.Visit(node.GetResult), BoundExpression) 13064Dim valueOpt As BoundExpression = DirectCast(Me.Visit(node.ValueOpt), BoundExpression) 13078Dim original As BoundExpression = DirectCast(Me.Visit(node.Original), BoundExpression) 13079Dim start As BoundExpression = DirectCast(Me.Visit(node.Start), BoundExpression) 13080Dim lengthOpt As BoundExpression = DirectCast(Me.Visit(node.LengthOpt), BoundExpression) 13081Dim source As BoundExpression = DirectCast(Me.Visit(node.Source), BoundExpression) 13087Dim receiver As BoundExpression = DirectCast(Me.Visit(node.Receiver), BoundExpression) 13089Dim accessExpression As BoundExpression = DirectCast(Me.Visit(node.AccessExpression), BoundExpression) 13100Dim receiverOrCondition As BoundExpression = DirectCast(Me.Visit(node.ReceiverOrCondition), BoundExpression) 13101Dim whenNotNull As BoundExpression = DirectCast(Me.Visit(node.WhenNotNull), BoundExpression) 13102Dim whenNullOpt As BoundExpression = DirectCast(Me.Visit(node.WhenNullOpt), BoundExpression) 13108Dim valueTypeReceiver As BoundExpression = DirectCast(Me.Visit(node.ValueTypeReceiver), BoundExpression) 13109Dim referenceTypeReceiver As BoundExpression = DirectCast(Me.Visit(node.ReferenceTypeReceiver), BoundExpression) 13115Dim argument As BoundExpression = DirectCast(Me.Visit(node.Argument), BoundExpression) 13128Dim constructionOpt As BoundExpression = node.ConstructionOpt 13134Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression) 13135Dim 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 (62)
27Public Function VisitExpression(expression As BoundExpression) As BoundExpression 28Return DirectCast(Me.Visit(expression), BoundExpression) 33Dim valueOpt As BoundExpression = Me.VisitExpression(node.ValueOpt) 54Dim sideEffects As ImmutableArray(Of BoundExpression) = rewritten.SideEffects 55Dim valueOpt As BoundExpression = rewritten.ValueOpt 83Private Function MakeExpressionStatement(expression As BoundExpression, ByRef builder As SpillBuilder) As BoundStatement 96Dim receiverOpt As BoundExpression = rewritten.ReceiverOpt 97Dim arguments As ImmutableArray(Of BoundExpression) = rewritten.Arguments 149Dim spilledReferenceReceiver As BoundExpression = SpillRValue(receiverOpt.MakeRValue(), referenceReceiverBuilder) 191Dim arguments As ImmutableArray(Of BoundExpression) = rewritten.Arguments 211Dim receiverOpt As BoundExpression = rewritten.ReceiverOpt 232Dim left As BoundExpression = rewritten.Left 233Dim right As BoundExpression = rewritten.Right 262Dim newArgs As ImmutableArray(Of BoundExpression) = SpillExpressionList(builder, left, right) 277Friend Function ProcessRewrittenAssignmentOperator(rewritten As BoundAssignmentOperator) As BoundExpression 280Dim left As BoundExpression = rewritten.Left 281Dim right As BoundExpression = rewritten.Right 309Dim spilledLeft As BoundExpression = SpillLValue(left, isReceiver:=False, evaluateSideEffects:=True, builder:=builder, isAssignmentTarget:=True) 330Dim rewrittenRight As BoundExpression = Me.VisitExpression(node.LValue) 362Dim initializersBuilder = ArrayBuilder(Of BoundExpression).GetInstance() 365Dim materializedCapture As BoundExpression = capturedLocal.Materialize(Me, node.IsLValue) 382Dim receiverOpt As BoundExpression = rewritten.ReceiverOpt 402Dim operand As BoundExpression = rewritten.Operand 423Dim operand As BoundExpression = rewritten.Operand 443Dim operand As BoundExpression = rewritten.Operand 467Dim operand As BoundExpression = rewritten.UnderlyingLValue 484Dim condition As BoundExpression = rewritten.Condition 485Dim whenTrue As BoundExpression = rewritten.WhenTrue 486Dim whenFalse As BoundExpression = rewritten.WhenFalse 501Dim sequenceValueOpt As BoundExpression 528Private Function MakeAssignmentStatement(expression As BoundExpression, temp As LocalSymbol, <[In], Out> ByRef builder As SpillBuilder) As BoundStatement 539Private Function MakeAssignmentStatement(expression As BoundExpression, temp As LocalSymbol) As BoundStatement 562Dim receiverOrCondition As BoundExpression = DirectCast(Me.Visit(node.ReceiverOrCondition), BoundExpression) 576Dim whenNotNull As BoundExpression = DirectCast(Me.Visit(node.WhenNotNull), BoundExpression) 584Dim whenNullOpt As BoundExpression = DirectCast(Me.Visit(node.WhenNullOpt), BoundExpression) 617Dim condition As BoundExpression 625Dim receiver As BoundExpression = receiverOrCondition 627Dim nullCheckTarget As BoundExpression 628Dim placeholderReplacement As BoundExpression 634Dim capturedReceiver As BoundExpression 654Dim spilledReferenceReceiver As BoundExpression = SpillRValue(receiver.MakeRValue(), referenceReceiverBuilder) 714whenNotNull = DirectCast(rewriter.Visit(whenNotNull), BoundExpression) 763Private ReadOnly _replaceWith As BoundExpression 766Public Sub New(placeholderId As Integer, replaceWith As BoundExpression, recursionDepth As Integer) 818Dim bounds As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Bounds) 854Private Function VisitArrayInitializationParts(node As BoundArrayInitialization) As BoundExpression 857Dim parts As ImmutableArray(Of BoundExpression) = node.Initializers 860Dim rewrittenParts(partCount - 1) As BoundExpression 863Dim part As BoundExpression = parts(index) 884Dim expression As BoundExpression = rewritten.Expression 885Dim indices As ImmutableArray(Of BoundExpression) = rewritten.Indices 893Dim allExpressions = ImmutableArray.Create(Of BoundExpression)(expression).Concat(indices) 905Dim expression As BoundExpression = rewritten.Expression 920Dim operand As BoundExpression = rewritten.Operand 940Dim testExpression As BoundExpression = rewritten.TestExpression 941Dim elseExpression As BoundExpression = rewritten.ElseExpression 965Dim operand As BoundExpression = rewritten.Operand 983Dim expression As BoundExpression = rewritten.Expression
Lowering\AsyncRewriter\AsyncRewriter.AsyncMethodToClassRewriter.Spilling.vb (34)
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)) 131expressions As ImmutableArray(Of BoundExpression) 132) As ImmutableArray(Of BoundExpression) 135Dim newArgs As ImmutableArray(Of BoundExpression) = SpillArgumentListInner(expressions, spillBuilders, False) 148ParamArray expressions() As BoundExpression) As ImmutableArray(Of BoundExpression) 152Private Function SpillArgumentListInner(arguments As ImmutableArray(Of BoundExpression), 154<[In], Out> ByRef spilledFirstArg As Boolean) As ImmutableArray(Of BoundExpression) 156Dim newArgs(arguments.Length - 1) As BoundExpression 158Dim arg As BoundExpression = arguments(index) 163Dim newInitializers As ImmutableArray(Of BoundExpression) = 171Dim newExpression As BoundExpression 208Private Function SpillValue(expr As BoundExpression, <[In], Out> ByRef builder As SpillBuilder) As BoundExpression 212Private Function SpillValue(expr As BoundExpression, isReceiver As Boolean, evaluateSideEffects As Boolean, <[In], Out> ByRef builder As SpillBuilder) As BoundExpression 224Private Function SpillLValue(expr As BoundExpression, isReceiver As Boolean, evaluateSideEffects As Boolean, <[In], Out> ByRef builder As SpillBuilder, Optional isAssignmentTarget As Boolean = False) As BoundExpression 239Dim sideEffects As ImmutableArray(Of BoundExpression) = sequence.SideEffects 264Dim spilledExpression As BoundExpression = SpillRValue(array.Expression, builder) 266Dim indices As ImmutableArray(Of BoundExpression) = array.Indices 267Dim spilledIndices(indices.Length - 1) As BoundExpression 292Dim newReceiver As BoundExpression = SpillValue(fieldAccess.ReceiverOpt, 317Dim spilledValueReceiver As BoundExpression = SpillLValue(complexReceiver.ValueTypeReceiver, isReceiver, evaluateSideEffects, valueReceiverBuilder, isAssignmentTarget) 322Dim spilledReferenceReceiver As BoundExpression = SpillLValue(complexReceiver.ReferenceTypeReceiver, isReceiver, evaluateSideEffects, referenceReceiverBuilder, isAssignmentTarget) 381Private Function SpillRValue(expr As BoundExpression, <[In], Out> ByRef builder As SpillBuilder) As BoundExpression 552Private Shared Function Unspillable(node As BoundExpression) As Boolean 576Private Shared Function SpillSequenceWithNewValue(spill As BoundSpillSequence, newValue As BoundExpression) As BoundSpillSequence
Lowering\AsyncRewriter\AsyncRewriter.AsyncMethodToClassRewriter.Statements.vb (4)
24Dim expression As BoundExpression = rewritten.ExpressionOpt 51Dim expression As BoundExpression = rewritten.Expression 62Dim expression As BoundExpression = rewritten.ExpressionOpt 79Dim condition As BoundExpression = rewritten.Condition
Lowering\AsyncRewriter\AsyncRewriter.AsyncMethodToClassRewriter.vb (1)
214{Me.F.Local(Me._exprRetValue, False)}, Array.Empty(Of BoundExpression)()))))
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.SpillBuilder.vb (2)
37Friend Function BuildSequenceAndFree(F As SyntheticBoundNodeFactory, expression As BoundExpression) As BoundExpression
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\Diagnostics\DiagnosticsPass.vb (3)
26Private _expressionsBeingVisited As Stack(Of BoundExpression) 171_expressionsBeingVisited = New Stack(Of BoundExpression)() 200Dim expr = TryCast(node, BoundExpression)
Lowering\Diagnostics\DiagnosticsPass_ExpressionLambdas.vb (2)
125Dim boundExpression As BoundExpression = initializer 296Private Sub VisitLambdaConversion(operand As BoundExpression, relaxationLambda As BoundLambda)
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter.vb (89)
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 205Private Function VisitExpressionWithoutStackGuard(node As BoundExpression) As BoundExpression 275node = node.MemberwiseClone(Of BoundExpression)() 292Private Function VisitInternal(node As BoundExpression) As BoundExpression 293Dim result As BoundExpression 314Private Function VisitExpressionWithStackGuard(node As BoundExpression) As BoundExpression 322Private Function VisitLambdaInternal(node As BoundLambda, delegateType As NamedTypeSymbol) As BoundExpression 327Dim initializers = ArrayBuilder(Of BoundExpression).GetInstance() 328Dim parameters = ArrayBuilder(Of BoundExpression).GetInstance() 341Dim parameter As BoundExpression = ConvertRuntimeHelperToExpressionTree(WellKnownMember.System_Linq_Expressions_Expression__Parameter, 356Dim translatedBody As BoundExpression = TranslateLambdaBody(node.Body) 376Private Function VisitCall(node As BoundCall) As BoundExpression 379Dim receiverOpt As BoundExpression = node.ReceiverOpt 383receiverOpt = receiverOpt.MemberwiseClone(Of BoundExpression)() 402Private Function VisitFieldAccess(node As BoundFieldAccess) As BoundExpression 403Dim origReceiverOpt As BoundExpression = node.ReceiverOpt 408Dim rewrittenReceiver As BoundExpression = Nothing 415origReceiverOpt = origReceiverOpt.MemberwiseClone(Of BoundExpression)() 429Private Function VisitPropertyAccess(node As BoundPropertyAccess) As BoundExpression 430Dim origReceiverOpt As BoundExpression = node.ReceiverOpt 435Dim rewrittenReceiver As BoundExpression = Nothing 451Private Function VisitLambda(node As BoundLambda) As BoundExpression 455Private Function VisitDelegateCreationExpression(node As BoundDelegateCreationExpression) As BoundExpression 464Dim receiverOpt As BoundExpression = node.ReceiverOpt 485Dim result As BoundExpression 496Dim methodInfo As BoundExpression = Me._factory.MethodInfo(targetMethod, createDelegate.ContainingType) 523Private Function VisitParameter(node As BoundParameter) As BoundExpression 527Private Function VisitArrayAccess(node As BoundArrayAccess) As BoundExpression 539Private Function BuildIndices(expressions As ImmutableArray(Of BoundExpression)) As BoundExpression 541Dim newExpr(count - 1) As BoundExpression 549Private Function VisitBadExpression(node As BoundBadExpression) As BoundExpression 553Private Function VisitObjectCreationExpression(node As BoundObjectCreationExpression) As BoundExpression 554Dim visitedObjectCreation As BoundExpression = VisitObjectCreationExpressionInternal(node) 558Private Function VisitNewT(node As BoundNewT) As BoundExpression 565Private Function VisitObjectCreationContinued(creation As BoundExpression, initializerOpt As BoundExpression) As BoundExpression 584Private Function VisitObjectInitializer(initializer As BoundObjectInitializerExpression) As BoundExpression 588Dim initializers As ImmutableArray(Of BoundExpression) = initializer.Initializers 590Dim newInitializers(initializerCount - 1) As BoundExpression 597Dim left As BoundExpression = assignment.Left 613Dim right As BoundExpression = assignment.Right 619Dim memberRef As BoundExpression = If(leftSymbol.Kind = SymbolKind.Field, 636Private Function VisitCollectionInitializer(initializer As BoundCollectionInitializerExpression) As BoundExpression 637Dim initializers As ImmutableArray(Of BoundExpression) = initializer.Initializers 639Dim newInitializers(initializerCount - 1) As BoundExpression 664Private Function VisitObjectCreationExpressionInternal(node As BoundObjectCreationExpression) As BoundExpression 685Dim methodInfos(properties.Length - 1) As BoundExpression 700Private Function VisitSequence(node As BoundSequence) As BoundExpression 702Dim sideEffects As ImmutableArray(Of BoundExpression) = node.SideEffects 703Dim value As BoundExpression = node.ValueOpt 715Private Function VisitArrayLength(node As BoundArrayLength) As BoundExpression 724ImmutableArray(Of BoundExpression).Empty, 734Private Function VisitArrayCreation(node As BoundArrayCreation) As BoundExpression 736Dim boundType As BoundExpression = _factory.[Typeof](arrayType.ElementType, _factory.WellKnownType(WellKnownType.System_Type)) 746Private Function ConvertArgumentsIntoArray(exprs As ImmutableArray(Of BoundExpression)) As BoundExpression 747Dim newArgs(exprs.Length - 1) As BoundExpression 754Private Function VisitTypeOf(node As BoundTypeOf) As BoundExpression 763Private Function [Call](receiver As BoundExpression, method As MethodSymbol, ParamArray params As BoundExpression()) As BoundExpression 772Private Function [Default](type As TypeSymbol) As BoundExpression 777Private Function [New](helper As SpecialMember, argument As BoundExpression) As BoundExpression 784Private Function Negate(expr As BoundExpression) As BoundExpression 788Private Function InitWithParameterlessValueTypeConstructor(type As TypeSymbol) As BoundExpression 802Private Function CreateLiteralExpression(node As BoundExpression) As BoundExpression 806Private Function CreateLiteralExpression(node As BoundExpression, type As TypeSymbol) As BoundExpression 818ParamArray arguments As BoundExpression()) As BoundExpression 827ParamArray arguments As BoundExpression()) As BoundExpression 836arguments:=ImmutableArray.Create(Of BoundExpression)(arguments),
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_BinaryOperator.vb (35)
11Private Function VisitBinaryOperator(node As BoundBinaryOperator) As BoundExpression 53Private Function VisitUserDefinedBinaryOperator(node As BoundUserDefinedBinaryOperator) As BoundExpression 166Private Function VisitUserDefinedShortCircuitingOperator(node As BoundUserDefinedShortCircuitingOperator) As BoundExpression 183Private Function ConvertUserDefinedLikeOrConcate(node As BoundUserDefinedBinaryOperator) As BoundExpression 198Private Function ConvertBooleanOperator(node As BoundBinaryOperator) As BoundExpression 213Dim originalLeft As BoundExpression = node.Left 216Dim left As BoundExpression = Nothing 217Dim originalRight As BoundExpression = node.Right 218Dim right As BoundExpression = Nothing 333Private Function ConvertShortCircuitedBooleanOperator(node As BoundBinaryOperator) As BoundExpression 343Dim originalLeft As BoundExpression = node.Left 344Dim left As BoundExpression = Visit(originalLeft) 347Dim originalRight As BoundExpression = node.Right 348Dim right As BoundExpression = Visit(originalRight) 369Dim result As BoundExpression = ConvertRuntimeHelperToExpressionTree(opFactory, left, right) 382Private Function ConvertBinaryOperator(node As BoundBinaryOperator) As BoundExpression 421Dim left As BoundExpression = Visit(node.Left) 422Dim right As BoundExpression 455Dim result As BoundExpression = ConvertRuntimeHelperToExpressionTree(GetNonComparisonBinaryOperatorFactoryWithoutMethodInfo(opKind, isChecked), left, right) 513Private Function GenerateCastsForBinaryAndUnaryOperator(loweredOperand As BoundExpression, 517needToCastBackToByteOrSByte As Boolean) As BoundExpression 533Private Function MaskShiftCountOperand(node As BoundBinaryOperator, resultType As TypeSymbol, isChecked As Boolean) As BoundExpression 534Dim result As BoundExpression = Nothing 540Dim originalRight As BoundExpression = node.Right 549Dim operand As BoundExpression = conversion.Operand 587Private Function MaskShiftCountOperand(loweredOperand As BoundExpression, shiftedType As TypeSymbol, shiftMask As Integer, shiftConst As ConstantValue, isChecked As Boolean) As BoundExpression 589Dim constantOperand As BoundExpression = 722Private Shared Function AdjustCallArgumentForLiftedOperator(oldArg As BoundExpression, parameterType As TypeSymbol) As BoundExpression 739Private Function AdjustCallForLiftedOperator(opKind As BinaryOperatorKind, [call] As BoundCall, resultType As TypeSymbol) As BoundExpression 746Private Function AdjustCallForLiftedOperator(opKind As UnaryOperatorKind, [call] As BoundCall, resultType As TypeSymbol) As BoundExpression 753Private Function AdjustCallForLiftedOperator_DoNotCallDirectly([call] As BoundCall, resultType As TypeSymbol) As BoundExpression 761Dim oldArgs As ImmutableArray(Of BoundExpression) = [call].Arguments 764Dim 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( 83Dim convertedValue As BoundExpression = Visit(body) 86Dim result As BoundExpression = 89ImmutableArray.Create(Of BoundExpression)( 96ImmutableArray.Create(Of BoundExpression)( 101Private Function BuildLambdaBodyForCoalesce(conversion As BoundConversion, toType As TypeSymbol, lambdaParameter As ParameterSymbol, isChecked As Boolean) As BoundExpression 102Dim parameter As BoundExpression = CreateCoalesceLambdaParameter(lambdaParameter) 125Private Function CreateUserDefinedNullableToUnderlyingConversion(expression As BoundExpression, nullableType As TypeSymbol, isChecked As Boolean) As BoundExpression 150arguments:=ImmutableArray.Create(Of BoundExpression)(expression), 181parameter As BoundExpression, 182isChecked As Boolean) As BoundExpression 228ImmutableArray.Create(Of BoundExpression)(parameter), 241userDefinedConv = 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 408Private Function CreateTypeAsIfNeeded(operand As BoundExpression, oldType As TypeSymbol, newType As TypeSymbol) As BoundExpression 413Private Function Convert(expr As BoundExpression, type As TypeSymbol, isChecked As Boolean) As BoundExpression 429Private Function Convert(expr As BoundExpression, type As TypeSymbol, helper As MethodSymbol, isChecked As Boolean) As BoundExpression 440Private Function ConvertIfNeeded(operand As BoundExpression, oldType As TypeSymbol, newType As TypeSymbol, isChecked As Boolean) As BoundExpression
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_UnaryOperator.vb (12)
21Private Function VisitUnaryOperator(node As BoundUnaryOperator) As BoundExpression 22Dim origArg As BoundExpression = node.Operand 29Dim argument As BoundExpression = Visit(origArg) 97Dim result As BoundExpression = ConvertRuntimeHelperToExpressionTree(helper, argument) 116Private Function VisitNullableIsTrueOperator(node As BoundNullableIsTrueOperator) As BoundExpression 121Dim operand As BoundExpression = node.Operand 138Dim lambdaBody As BoundExpression = BuildLambdaBodyForCoalesce(userDefinedOperator.OperatorKind, [call], node.Type, paramSymbol) 139Dim coalesceLambda As BoundExpression = BuildLambdaForCoalesceCall(node.Type, paramSymbol, lambdaBody) 154Private Function BuildLambdaBodyForCoalesce(opKind As UnaryOperatorKind, [call] As BoundCall, resultType As TypeSymbol, lambdaParameter As ParameterSymbol) As BoundExpression 163ImmutableArray.Create(Of BoundExpression)( 175Private Function VisitUserDefinedUnaryOperator(node As BoundUserDefinedUnaryOperator) As BoundExpression 200Private Function RewriteUserDefinedOperator(node As BoundUserDefinedUnaryOperator) As BoundExpression
Lowering\Instrumentation\CodeCoverageInstrumenter.vb (11)
176mvid As BoundExpression, 177methodToken As BoundExpression, 178payloadSlot As BoundExpression, 183Dim fileIndexOrIndicesArgument As BoundExpression 194Dim fileIndices = ArrayBuilder(Of BoundExpression).GetInstance() 260Dim mvid As BoundExpression = _methodBodyFactory.ModuleVersionId(isLValue:=False) 261Dim methodToken As BoundExpression = _methodBodyFactory.MethodDefIndex(_method) 263Dim payloadSlot As BoundExpression = 282Dim payloadNullTest As BoundExpression = 472indices:=ImmutableArray.Create(Of BoundExpression)(statementFactory.Literal(spansIndex))) 497Dim initializer As BoundExpression = DirectCast(statement, BoundLocalDeclaration).InitializerOpt
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\DebugInfoInjector_SequencePoints.vb (11)
12Friend Shared Function AddConditionSequencePoint(condition As BoundExpression, containingCatchWithFilter As BoundCatchBlock, currentMethodOrLambda As MethodSymbol) As BoundExpression 18Friend Shared Function AddConditionSequencePoint(condition As BoundExpression, containingStatement As BoundStatement, currentMethodOrLambda As MethodSymbol) As BoundExpression 24condition As BoundExpression, 28) As BoundExpression 32Private Shared Function AddConditionSequencePoint(condition As BoundExpression, 36shareLocal As Boolean) As BoundExpression 78Private Shared Function MakeAssignmentExpression(syntax As SyntaxNode, left As BoundExpression, right As BoundExpression) 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\IteratorRewriter\IteratorRewriter.IteratorMethodToClassRewriter.vb (3)
205F.Assignment(F.Field(F.Me, Me._current, True), DirectCast(Visit(node.Expression), BoundExpression)), 221Protected Overrides Function MaterializeProxy(origExpression As BoundExpression, proxy As FieldSymbol) As BoundNode 223Dim framePointer As BoundExpression = Me.FramePointer(syntax, proxy.ContainingType)
Lowering\IteratorRewriter\IteratorRewriter.vb (4)
152Dim managedThreadId As BoundExpression = Nothing ' Thread.CurrentThread.ManagedThreadId 367Protected Overrides Sub InitializeParameterWithProxy(parameter As ParameterSymbol, proxy As FieldSymbol, stateMachineVariable As LocalSymbol, initializers As ArrayBuilder(Of BoundExpression)) 374Dim expression As BoundExpression = If(parameter.IsMe, 375DirectCast(Me.F.Me, BoundExpression),
Lowering\LambdaRewriter\LambdaRewriter.vb (36)
101Private _meProxyDeferredInit As BoundExpression 379Private Function FrameOfType(syntax As SyntaxNode, frameType As NamedTypeSymbol) As BoundExpression 380Dim result As BoundExpression = FramePointer(syntax, frameType.OriginalDefinition) 393Friend Overrides Function FramePointer(syntax As SyntaxNode, frameClass As NamedTypeSymbol) As BoundExpression 406Dim innerFrame As BoundExpression = FramePointer(syntax, proxyField.ContainingType) 415Protected Overrides Function MaterializeProxy(origExpression As BoundExpression, proxy As FieldSymbol) As BoundNode 416Dim frame As BoundExpression = FramePointer(origExpression.Syntax, proxy.ContainingType) 520F As Func(Of ArrayBuilder(Of BoundExpression), ArrayBuilder(Of LocalSymbol), BoundNode), 525Dim prologue = ArrayBuilder(Of BoundExpression).GetInstance() 535ImmutableArray(Of BoundExpression).Empty, 536ImmutableArray.Create(Of BoundExpression)(frameAccess)) 553Dim left As BoundExpression = New BoundFieldAccess(syntaxNode, 559Dim right As BoundExpression = FrameOfType(syntaxNode, TryCast(frameParent.Type, NamedTypeSymbol)) 638prologue As ArrayBuilder(Of BoundExpression)) 644Dim value As BoundExpression 670Dim assignProxy As BoundExpression = New BoundAssignmentOperator( 720prologue As ArrayBuilder(Of BoundExpression), 756Function(prologue As ArrayBuilder(Of BoundExpression), newLocals As ArrayBuilder(Of LocalSymbol)) 770Function(prologue As ArrayBuilder(Of BoundExpression), newLocals As ArrayBuilder(Of LocalSymbol)) 784Function(prologue As ArrayBuilder(Of BoundExpression), newLocals As ArrayBuilder(Of LocalSymbol)) 788Return RewriteCatch(node, ArrayBuilder(Of BoundExpression).GetInstance, ArrayBuilder(Of LocalSymbol).GetInstance) 793prologue As ArrayBuilder(Of BoundExpression), 840Dim rewrittenExceptionSource = DirectCast(Me.Visit(node.ExceptionSourceOpt), BoundExpression) 860Dim rewrittenErrorLineNumberOpt = DirectCast(Me.Visit(node.ErrorLineNumberOpt), BoundExpression) 861Dim rewrittenFilter = DirectCast(Me.Visit(node.ExceptionFilterOpt), BoundExpression) 880Function(prologue As ArrayBuilder(Of BoundExpression), newLocals As ArrayBuilder(Of LocalSymbol)) 910Function(prologue As ArrayBuilder(Of BoundExpression), newLocals As ArrayBuilder(Of LocalSymbol)) 935Dim result As BoundExpression = RewriteLambda(lambda, VisitType(node.Type), (node.ConversionKind And ConversionKind.ConvertedToExpressionTree) <> 0) 950Dim result As BoundExpression = RewriteLambda(lambda, VisitType(node.Type), (node.ConversionKind And ConversionKind.ConvertedToExpressionTree) <> 0) 965Dim result As BoundExpression = RewriteLambda(lambda, VisitType(conversion.Type), (conversion.ConversionKind And ConversionKind.ConvertedToExpressionTree) <> 0) 1063Private Function RewriteLambda(node As BoundLambda, type As TypeSymbol, convertToExpressionTree As Boolean) As BoundExpression 1072Dim rewrittenNode As BoundExpression = node 1177Dim receiver As BoundExpression 1195Dim result As BoundExpression = New BoundDelegateCreationExpression( 1417Dim receiver As BoundExpression = node.ReceiverOpt 1428ImmutableArray.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_AddRemoveHandler.vb (20)
86Dim rewrittenReceiverOpt As BoundExpression = GetEventAccessReceiver(unwrappedEventAccess) 87Dim rewrittenHandler As BoundExpression = VisitExpressionNode(node.Handler) 118Dim marshalArguments As ImmutableArray(Of BoundExpression) 134marshalArguments = ImmutableArray.Create(Of BoundExpression)(addDelegate, removeDelegate, rewrittenHandler) 137marshalArguments = ImmutableArray.Create(Of BoundExpression)(removeDelegate, rewrittenHandler) 148ImmutableArray(Of BoundExpression).Empty, 155Dim marshalCall As BoundExpression = 180Private Shared Function EventReceiverNeedsTemp(expression As BoundExpression) As Boolean 206Dim receiver As BoundExpression = GetEventAccessReceiver(unwrappedEventAccess) 207Dim handler As BoundExpression = VisitExpressionNode(node.Handler) 209Dim expr As BoundExpression = Nothing 247Private Function UnwrapEventAccess(node As BoundExpression) As BoundEventAccess 256Private Function GetEventAccessReceiver(unwrappedEventAccess As BoundEventAccess) As BoundExpression 262Dim rewrittenReceiver As BoundExpression = VisitExpressionNode(unwrappedEventAccess.ReceiverOpt) 268receiver As BoundExpression, 270handler As BoundExpression 271) As BoundExpression 276Dim result As BoundExpression = Nothing 311Private Function Convert(factory As SyntheticBoundNodeFactory, type As TypeSymbol, expr As BoundExpression) As BoundExpression
Lowering\LocalRewriter\LocalRewriter_AnonymousTypeCreationExpression.vb (3)
23Dim newArguments(fieldsCount - 1) As BoundExpression 54Dim result As BoundExpression = New BoundObjectCreationExpression( 64ImmutableArray(Of BoundExpression).Empty,
Lowering\LocalRewriter\LocalRewriter_AsNewLocalDeclarations.vb (3)
32Dim initializerToRewrite As BoundExpression 105DirectCast(rewrittenInitializer, BoundExpression), 115Private Shared Function GetBoundObjectInitializerFromInitializer(initializer As BoundExpression) As BoundObjectInitializerExpression
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.vb (29)
56Dim assignmentTarget As BoundExpression 70Dim leftOnTheRight As BoundExpression 87Dim result As BoundExpression 105ImmutableArray.Create(Of BoundExpression)(result), 111ImmutableArray(Of BoundExpression).Empty, 139Private Function VisitAssignmentOperatorSimple(node As BoundAssignmentOperator) As BoundExpression 145Private Function VisitAssignmentLeftExpression(node As BoundAssignmentOperator) As BoundExpression 159Dim result = DirectCast(MyBase.VisitFieldAccess(leftFieldAccess), BoundExpression) 163result = result.MemberwiseClone(Of BoundExpression)() 174Private Function RewritePropertyAssignmentAsSetCall(node As BoundAssignmentOperator, setNode As BoundExpression) As BoundExpression 206Private Function RewritePropertyAssignmentAsSetCall(node As BoundAssignmentOperator, setNode As BoundPropertyAccess) As BoundExpression 249Dim assignmentTarget As BoundExpression = node.Left 267Dim leftOnTheRight As BoundExpression 275Dim value As BoundExpression = VisitExpressionNode(node.Right) 281Dim result As BoundExpression 321ImmutableArray.Create(Of BoundExpression)(result), 329Private Function VisitAndGenerateObjectCloneIfNeeded(right As BoundExpression, Optional suppressObjectClone As Boolean = False) As BoundExpression 336Private Function GenerateObjectCloneIfNeeded(generatedExpression As BoundExpression) As BoundExpression 343Private Function GenerateObjectCloneIfNeeded(expression As BoundExpression, rewrittenExpression As BoundExpression) As BoundExpression 348Dim result As BoundExpression = rewrittenExpression 354Dim nodeToCheck As BoundExpression = expression 459Private Function RewriteTrivialMidAssignment(node As BoundAssignmentOperator) As BoundExpression 480Dim copyBack As ImmutableArray(Of BoundExpression) = Nothing 516ImmutableArray.Create(Of BoundExpression)(New BoundAssignmentOperator(node.Syntax,
Lowering\LocalRewriter\LocalRewriter_BinaryOperators.vb (108)
15Return node.Update(node.OperatorKind, DirectCast(Visit(node.UnderlyingExpression), BoundExpression), node.Checked, node.Type) 29Dim leftOperand As BoundExpression = node.LeftOperand 73ImmutableArray(Of BoundExpression).Empty, 87Dim child As BoundExpression = GetLeftOperand(node, optimizeChildForConditionalBranch) 140Private Shared Function GetLeftOperand(binary As BoundBinaryOperator, ByRef optimizeForConditionalBranch As Boolean) As BoundExpression 151Private Shared Function GetRightOperand(binary As BoundBinaryOperator, adjustIfOptimizableForConditionalBranch As Boolean) As BoundExpression 167Private Function ReplaceMyGroupCollectionPropertyGetWithUnderlyingField(operand As BoundExpression) As BoundExpression 228Private Function TransformRewrittenBinaryOperator(node As BoundBinaryOperator) As BoundExpression 461Private Function RewriteDateComparisonOperator(node As BoundBinaryOperator) As BoundExpression 470Dim result As BoundExpression = node 471Dim left As BoundExpression = node.Left 472Dim right As BoundExpression = node.Right 500Private Function RewriteDecimalComparisonOperator(node As BoundBinaryOperator) As BoundExpression 509Dim result As BoundExpression = node 510Dim left As BoundExpression = node.Left 511Dim right As BoundExpression = node.Right 539Private Function RewriteObjectShortCircuitOperator(node As BoundBinaryOperator) As BoundExpression 542Dim result As BoundExpression = node 543Dim rewrittenLeft As BoundExpression = node.Left 544Dim rewrittenRight As BoundExpression = node.Right 558Dim left As BoundExpression = rewrittenLeft 559Dim right As BoundExpression = rewrittenRight 616Private Function RewritePowOperator(node As BoundBinaryOperator) As BoundExpression 621Dim result As BoundExpression = node 622Dim left As BoundExpression = node.Left 623Dim right As BoundExpression = node.Right 644Private Function RewriteDecimalBinaryOperator(node As BoundBinaryOperator, member As SpecialMember) As BoundExpression 653Dim result As BoundExpression = node 654Dim left As BoundExpression = node.Left 655Dim right As BoundExpression = node.Right 672Private Function RewriteStringComparisonOperator(node As BoundBinaryOperator) As BoundExpression 677Dim result As BoundExpression = node 678Dim left As BoundExpression = node.Left 679Dim right As BoundExpression = node.Right 712Private Function RewriteObjectComparisonOperator(node As BoundBinaryOperator, member As WellKnownMember) As BoundExpression 717Dim result As BoundExpression = node 718Dim left As BoundExpression = node.Left 719Dim right As BoundExpression = node.Right 738result = New BoundConversion(node.Syntax, DirectCast(result, BoundExpression), ConversionKind.NarrowingBoolean, node.Checked, False, node.Type) 745Private Function RewriteLikeOperator(node As BoundBinaryOperator, member As WellKnownMember) As BoundExpression 746Dim left As BoundExpression = node.Left 747Dim right As BoundExpression = node.Right 751Dim result As BoundExpression = node 774Private Function RewriteObjectBinaryOperator(node As BoundBinaryOperator, member As WellKnownMember) As BoundExpression 775Dim left As BoundExpression = node.Left 776Dim right As BoundExpression = node.Right 781Dim result As BoundExpression = node 795Dim left As BoundExpression = VisitExpressionNode(node.Left) 796Dim right As BoundExpression = VisitExpressionNode(GetRightOperand(node, optimizeForConditionalBranch)) 801Private Function FinishRewriteOfLiftedIntrinsicBinaryOperator(node As BoundBinaryOperator, left As BoundExpression, right As BoundExpression, optimizeForConditionalBranch As Boolean) As BoundExpression 873Dim whenNotNull As BoundExpression = Nothing 874Dim whenNull As BoundExpression = Nothing 892Dim inits As ArrayBuilder(Of BoundExpression) = Nothing 894Dim leftHasValueExpr As BoundExpression = Nothing 895Dim rightHasValueExpr As BoundExpression = Nothing 912Dim value As BoundExpression = Nothing 914Dim operatorHasValue As BoundExpression = MakeBooleanBinaryExpression(node.Syntax, 949left As BoundExpression, right As BoundExpression, 951rightHasNoValue As Boolean, rightHasValue As Boolean) As BoundExpression 954Dim booleanResult As BoundExpression = Nothing 988Dim leftInit As BoundExpression = Nothing 1014ImmutableArray.Create(Of BoundExpression)(leftInit), 1034Private Function EvaluateOperandAndReturnFalse(node As BoundBinaryOperator, operand As BoundExpression, operandHasValue As Boolean) As BoundExpression 1044Private Function NullableValueOrDefaultWithOperandHasValue(operand As BoundExpression, operandHasValue As Boolean) As BoundExpression 1056left As BoundExpression, 1057right As BoundExpression, 1061rightHasValue As Boolean) As BoundExpression 1076Dim notNullOperand As BoundExpression 1077Dim nullOperand As BoundExpression 1112Dim tempInit As BoundExpression = Nothing 1129Dim result As BoundExpression = 1169Dim leftInit As BoundExpression = Nothing 1170Dim capturedLeft As BoundExpression = left 1180Dim rightInit As BoundExpression = Nothing 1181Dim capturedRight As BoundExpression = right 1193Dim OperandValue As BoundExpression = If(leftHasValue, capturedRight, capturedLeft) 1194Dim ConstValue As BoundExpression = NullableOfBooleanValue(node.Syntax, isOr, nullableOfBoolean) 1197Dim value As BoundExpression = MakeTernaryConditionalExpression(node.Syntax, 1222Dim conditionOperand As BoundExpression 1241Dim capturedLeftValue As BoundExpression = NullableValueOrDefault(capturedLeft) 1243Dim leftCapturedOrInit As BoundExpression 1280Dim inits = ArrayBuilder(Of BoundExpression).GetInstance 1306Private Function RewriteNullableIsOrIsNotOperator(node As BoundBinaryOperator) As BoundExpression 1307Dim left As BoundExpression = node.Left 1308Dim right As BoundExpression = node.Right 1320Private Function RewriteNullableIsOrIsNotOperator(isIs As Boolean, operand As BoundExpression, resultType As TypeSymbol) As BoundExpression 1339Dim whenNotNull As BoundExpression = Nothing 1340Dim whenNull As BoundExpression = Nothing 1349Dim result As BoundExpression 1412Dim inits As ArrayBuilder(Of BoundExpression) = Nothing 1418Dim leftCallInput As BoundExpression 1419Dim rightCallInput As BoundExpression 1420Dim condition As BoundExpression = Nothing 1436Dim leftHasValueExpression As BoundExpression = Nothing 1437Dim rightHasValueExpression As BoundExpression = Nothing 1450Dim whenHasValue As BoundExpression = operatorCall.Update(operatorCall.Method, 1453ImmutableArray.Create(Of BoundExpression)(leftCallInput, rightCallInput), 1473Dim result As BoundExpression = MakeTernaryConditionalExpression(node.Syntax, 1493left As BoundExpression, 1494right 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_ConditionalAccess.vb (17)
16Private Shared Function ShouldCaptureConditionalAccessReceiver(receiver As BoundExpression) As Boolean 35Dim rewrittenReceiver As BoundExpression = VisitExpressionNode(node.Receiver) 38Dim receiverOrCondition As BoundExpression 39Dim placeholderReplacement As BoundExpression 44Dim assignment As BoundExpression = Nothing 63Dim first As BoundExpression 118Dim whenNotNull As BoundExpression 129Dim whenNull As BoundExpression 145Dim result As BoundExpression 163result = New BoundSequence(node.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray(Of BoundExpression).Empty, Nothing, node.Type) 177Private Shared Function IsConditionalAccess(operand As BoundExpression, <Out> ByRef whenNotNull As BoundExpression, <Out> ByRef whenNull As BoundExpression) As Boolean 202Private Shared Function UpdateConditionalAccess(operand As BoundExpression, whenNotNull As BoundExpression, whenNull As BoundExpression) As BoundExpression
Lowering\LocalRewriter\LocalRewriter_ConditionalExpressions.vb (27)
22Dim convertedTestExpression As BoundExpression = node.ConvertedTestExpression 57Dim placeholderSubstitute As BoundExpression = Nothing 87Dim ternaryConditionalExpression As BoundExpression = placeholderSubstitute 104Dim result As BoundExpression = 119sideEffects:=ImmutableArray(Of BoundExpression).Empty, 124Private Function RewriteBinaryConditionalExpressionInExpressionLambda(node As BoundBinaryConditionalExpression) As BoundExpression 126Dim testExpression As BoundExpression = node.TestExpression 128Dim rewrittenTestExpression As BoundExpression = VisitExpression(testExpression) 131Dim rewrittenWhenTrue As BoundExpression = Nothing 133Dim convertedTestExpression As BoundExpression = node.ConvertedTestExpression 157Dim rewrittenWhenFalse As BoundExpression = VisitExpression(node.ElseExpression) 166Private Shared Function TransformReferenceOrUnconstrainedRewrittenBinaryConditionalExpression(node As BoundBinaryConditionalExpression) As BoundExpression 217Dim whenNotNull As BoundExpression = Nothing 218Dim whenNull As BoundExpression = Nothing 258Dim tempInit As BoundExpression = Nothing 262Dim capturedleft As BoundExpression = CaptureNullableIfNeeded(rewrittenLeft, 267Dim condition As BoundExpression = NullableHasValue(If(tempInit, capturedleft)) 268Dim whenTrue As BoundExpression 283Dim result As BoundExpression = MakeTernaryConditionalExpression(node.Syntax, condition, whenTrue, rewrittenRight) 289ImmutableArray(Of BoundExpression).Empty, 297Private Function MakeResultFromNonNullLeft(rewrittenLeft As BoundExpression, convertedTestExpression As BoundExpression, testExpressionPlaceholder As BoundRValuePlaceholder) As BoundExpression 312Private Function VisitExpressionNode(node As BoundExpression, 314placeholderSubstitute As BoundExpression) As BoundExpression 334Private Shared Function TransformRewrittenTernaryConditionalExpression(node As BoundTernaryConditionalExpression) As BoundExpression
Lowering\LocalRewriter\LocalRewriter_Constant.vb (9)
16Private Function RewriteConstant(node As BoundExpression, constantValue As ConstantValue) As BoundExpression 31Private Shared Function RewriteDecimalConstant(node As BoundExpression, nodeValue As ConstantValue, currentMethod As MethodSymbol, diagnostics As BindingDiagnosticBag) As BoundExpression 96ImmutableArrayExtensions.AsImmutableOrNull(Of BoundExpression)( 125ImmutableArray.Create(Of BoundExpression)( 138Private Shared Function RewriteDateConstant(node As BoundExpression, nodeValue As ConstantValue, currentMethod As MethodSymbol, diagnostics As BindingDiagnosticBag) As BoundExpression 174ImmutableArrayExtensions.AsImmutableOrNull(Of BoundExpression)(
Lowering\LocalRewriter\LocalRewriter_Conversion.vb (55)
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 630Dim whenHasNoValue As BoundExpression = NullableNull(node.Syntax, resultType) 641Dim inputToOperatorMethod As BoundExpression 643Dim condition As BoundExpression = Nothing 652Dim tempInit As BoundExpression = Nothing 656Dim capturedleft As BoundExpression = CaptureNullableIfNeeded(rewrittenOperand, 673Dim whenHasValue As BoundExpression = operatorCall.Update(operatorCall.Method, 692Dim result As BoundExpression = MakeTernaryConditionalExpression(node.Syntax, condition, whenHasValue, whenHasNoValue) 698ImmutableArray(Of BoundExpression).Empty, 710Private Function TransformRewrittenConversion(rewrittenConversion As BoundConversion) As BoundExpression 715Dim result As BoundExpression = rewrittenConversion 787Private Function RewriteReferenceTypeToCharArrayRankOneConversion(node As BoundConversion, typeFrom As TypeSymbol, typeTo As TypeSymbol) As BoundExpression 790Dim result As BoundExpression = node 820Private Shared Function RewriteAsDirectCast(node As BoundConversion) As BoundExpression 832Private Function RewriteFromObjectConversion(node As BoundConversion, typeFrom As TypeSymbol, underlyingTypeTo As TypeSymbol) As BoundExpression 835Dim result As BoundExpression = node 901result = New BoundConversion(node.Syntax, DirectCast(result, BoundExpression), 910Private Function RewriteToStringConversion(node As BoundConversion, underlyingTypeFrom As TypeSymbol, typeTo As TypeSymbol) As BoundExpression 913Dim result As BoundExpression = node 997Private Function RewriteFromStringConversion(node As BoundConversion, typeFrom As TypeSymbol, underlyingTypeTo As TypeSymbol) As BoundExpression 1000Dim result As BoundExpression = node 1046result = New BoundConversion(node.Syntax, DirectCast(result, BoundExpression), 1055Private Function RewriteNumericOrBooleanToDecimalConversion(node As BoundConversion, underlyingTypeFrom As TypeSymbol, typeTo As TypeSymbol) As BoundExpression 1059Dim result As BoundExpression = node 1136Private Function RewriteDecimalToNumericOrBooleanConversion(node As BoundConversion, typeFrom As TypeSymbol, underlyingTypeTo As TypeSymbol) As BoundExpression 1140Dim result As BoundExpression = node 1183result = New BoundConversion(node.Syntax, DirectCast(result, BoundExpression), 1191Private Function RewriteFloatingToIntegralConversion(node As BoundConversion, typeFrom As TypeSymbol, underlyingTypeTo As TypeSymbol) As BoundExpression 1194Dim result As BoundExpression = node 1330Dim operand As BoundExpression = node.Operand 1339returnValue = New BoundDirectCast(node.Syntax, DirectCast(Visit(operand), BoundExpression), node.ConversionKind, typeTo, Nothing)
Lowering\LocalRewriter\LocalRewriter_DelegateCreation.vb (3)
42Dim result As BoundExpression = New BoundConversion( 52Dim receiverToCapture As BoundExpression = VisitExpressionNode(node.ReceiverOpt) 64ImmutableArray.Create(Of BoundExpression)(capture),
Lowering\LocalRewriter\LocalRewriter_ExpressionStatement.vb (1)
34Private Function IsOmittedBoundCall(expression As BoundExpression) As Boolean
Lowering\LocalRewriter\LocalRewriter_FieldAccess.vb (4)
16Dim rewrittenReceiver As BoundExpression = If(node.FieldSymbol.IsShared, Nothing, Me.VisitExpressionNode(node.ReceiverOpt)) 34rewrittenReceiver As BoundExpression, 36isLValue As Boolean) As BoundExpression 71Private Shared Function MakeBadFieldAccess(syntax As SyntaxNode, tupleField As FieldSymbol, rewrittenReceiver As BoundExpression) As BoundBadExpression
Lowering\LocalRewriter\LocalRewriter_FieldOrPropertyInitializer.vb (4)
48Dim meReferenceOpt As BoundExpression = Nothing 60Dim accessExpression As BoundExpression 62Dim initialValueToRewrite As BoundExpression 114arguments:=ImmutableArray(Of BoundExpression).Empty)
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_If.vb (1)
113rewrittenCondition As BoundExpression,
Lowering\LocalRewriter\LocalRewriter_InterpolatedString.vb (1)
55Private Function RewriteInterpolatedStringConversion(conversion As BoundConversion) As BoundExpression
Lowering\LocalRewriter\LocalRewriter_LateAddressOf.vb (3)
33) As BoundExpression 71Dim lambdaBoundParameters(invokeParameterCount - 1) As BoundExpression 90Dim boundInvocationExpression As BoundExpression = lambdaBinder.BindLateBoundInvocation(syntaxNode,
Lowering\LocalRewriter\LocalRewriter_LateBindingHelpers.vb (110)
15rewrittenReceiver As BoundExpression, 16objectType As TypeSymbol) As BoundExpression 35receiver As BoundExpression, 37typeType As TypeSymbol) As BoundExpression 47Private Function LateMakeTypeArgumentArrayArgument(node As SyntaxNode, arguments As BoundTypeArguments, typeArrayType As TypeSymbol) As BoundExpression 58booleanArrayType As TypeSymbol) As BoundExpression 71Dim bounds As BoundExpression = New BoundLiteral(node, ConstantValue.Create(flags.Length), intType) 73Dim initializers = ArrayBuilder(Of BoundExpression).GetInstance 85rewrittenArguments As ImmutableArray(Of BoundExpression), 87objectArrayType As TypeSymbol) As BoundExpression 111Dim bounds As BoundExpression = New BoundLiteral(node, ConstantValue.Create(rewrittenArguments.Length), intType) 119Dim sideeffects = ArrayBuilder(Of BoundExpression).GetInstance 139Dim indexExpr As BoundExpression = New BoundLiteral(node, ConstantValue.Create(indexVal), intType) 142Dim arrayElement As BoundExpression = New BoundArrayAccess(node, 156rewrittenValue As BoundExpression, 157rewrittenArguments As ImmutableArray(Of BoundExpression), 159objectArrayType As TypeSymbol) As BoundExpression 200Dim bounds As BoundExpression = New BoundLiteral(node, ConstantValue.Create(rewrittenArguments.Length + 1), intType) 208Dim sideeffects = ArrayBuilder(Of BoundExpression).GetInstance 245arrayRef As BoundExpression, 247value As BoundExpression, 248intType As TypeSymbol) As BoundExpression 250Dim indexExpr As BoundExpression = New BoundLiteral(node, ConstantValue.Create(index), intType) 251Dim arrayElement As BoundExpression = New BoundArrayAccess(node, 261rewrittenArguments As ImmutableArray(Of BoundExpression), 262objectArrayType As TypeSymbol) As BoundExpression 272Dim bounds As BoundExpression = New BoundLiteral(node, ConstantValue.Default(ConstantValueTypeDiscriminator.Int32), intType) 276Dim bounds As BoundExpression = New BoundLiteral(node, ConstantValue.Create(rewrittenArguments.Length), intType) 278Dim initializers = ArrayBuilder(Of BoundExpression).GetInstance 301stringArrayType As TypeSymbol) As BoundExpression 313Dim initializers = ArrayBuilder(Of BoundExpression).GetInstance 325Dim bounds As BoundExpression = New BoundLiteral(node, ConstantValue.Create(initializer.Initializers.Length), intType) 335Private Function LateMakeConditionalCopyback(assignmentTarget As BoundExpression, 336valueArrayRef As BoundExpression, 337copyBackArrayRef As BoundExpression, 338argNum As Integer) As BoundExpression 343Dim index As BoundExpression = New BoundLiteral(syntax, ConstantValue.Create(argNum), intType) 347Dim condition As BoundExpression = New BoundArrayAccess(syntax, 353Dim value As BoundExpression = New BoundArrayAccess(syntax, 375ImmutableArray.Create(Of BoundExpression)(value, getTypeExpr), 394Dim voidNoOp As BoundExpression = New BoundSequence(syntax, 396ImmutableArray(Of BoundExpression).Empty, 400Dim voidAssignment As BoundExpression = LateMakeCopyback(syntax, 413assignmentTarget As BoundExpression, 414convertedValue As BoundExpression) As BoundExpression 448Dim assignment As BoundExpression = New BoundAssignmentOperator(syntax, 463receiverExpr As BoundExpression, 464argExpressions As ImmutableArray(Of BoundExpression)) As BoundExpression 486Dim receiver As BoundExpression = LateMakeReceiverArgument(syntax, receiverExpr.MakeRValue, lateIndexGetMethod.Parameters(0).Type) 488Dim arguments As BoundExpression = LateMakeArgumentArrayArgument(node.Syntax, argExpressions, node.ArgumentNamesOpt, lateIndexGetMethod.Parameters(1).Type) 490Dim argumentNames As BoundExpression = LateMakeArgumentNameArrayArgument(syntax, node.ArgumentNamesOpt, lateIndexGetMethod.Parameters(2).Type) 492Dim callArgs = ImmutableArray.Create(Of BoundExpression)(receiver, 496Dim callerInvocation As BoundExpression = New BoundCall( 511assignmentValue As BoundExpression, 512argExpressions As ImmutableArray(Of BoundExpression), 514isCopyBack As Boolean) As BoundExpression 531Return New BoundSequence(syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(memberAccess), Nothing, Me.GetSpecialType(SpecialType.System_Void)) 536Return New BoundSequence(syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(memberAccess), Nothing, Me.GetSpecialType(SpecialType.System_Void)) 541Dim receiver As BoundExpression = LateMakeReceiverArgument(syntax, 545Dim containerType As BoundExpression = LateMakeContainerArgument(syntax, memberAccess.ReceiverOpt, memberAccess.ContainerTypeOpt, lateSetMethod.Parameters(1).Type) 549Dim arguments As BoundExpression = LateMakeSetArgumentArrayArgument(syntax, assignmentValue, argExpressions, argNames, lateSetMethod.Parameters(3).Type) 551Dim argumentNames As BoundExpression = LateMakeArgumentNameArrayArgument(syntax, argNames, lateSetMethod.Parameters(4).Type) 553Dim typeArguments As BoundExpression = LateMakeTypeArgumentArrayArgument(syntax, memberAccess.TypeArgumentsOpt, lateSetMethod.Parameters(5).Type) 555Dim callArgs As ImmutableArray(Of BoundExpression) 557callArgs = ImmutableArray.Create(Of BoundExpression)(receiver, 565Dim optimisticSet As BoundExpression = MakeBooleanLiteral(syntax, isCopyBack, lateSetMethod.Parameters(6).Type) 567Dim rValueBase As BoundExpression = MakeBooleanLiteral(syntax, baseIsNotLValue, lateSetMethod.Parameters(7).Type) 569callArgs = ImmutableArray.Create(Of BoundExpression)(receiver, 592assignmentValue As BoundExpression, 593isCopyBack As Boolean) As BoundExpression 610Return New BoundSequence(syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(invocation), Nothing, Me.GetSpecialType(SpecialType.System_Void)) 615Return New BoundSequence(syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(invocation), Nothing, Me.GetSpecialType(SpecialType.System_Void)) 620Dim receiver As BoundExpression = LateMakeReceiverArgument(syntax, invocation.Member.MakeRValue, lateIndexSetMethod.Parameters(0).Type) 622Dim arguments As BoundExpression = LateMakeSetArgumentArrayArgument(syntax, assignmentValue.MakeRValue, invocation.ArgumentsOpt, invocation.ArgumentNamesOpt, lateIndexSetMethod.Parameters(1).Type) 624Dim argumentNames As BoundExpression = LateMakeArgumentNameArrayArgument(syntax, invocation.ArgumentNamesOpt, lateIndexSetMethod.Parameters(2).Type) 626Dim callArgs As ImmutableArray(Of BoundExpression) 628callArgs = ImmutableArray.Create(Of BoundExpression)(receiver, 633Dim optimisticSet As BoundExpression = MakeBooleanLiteral(syntax, isCopyBack, lateIndexSetMethod.Parameters(3).Type) 635Dim rValueBase As BoundExpression = MakeBooleanLiteral(syntax, baseIsNotLValue, lateIndexSetMethod.Parameters(4).Type) 637callArgs = ImmutableArray.Create(Of BoundExpression)(receiver, 658receiverExpression As BoundExpression, 659argExpressions As ImmutableArray(Of BoundExpression), 660assignmentArguments As ImmutableArray(Of BoundExpression), 662useLateCall As Boolean) As BoundExpression 707Dim argumentsArray As BoundExpression = LateMakeArgumentArrayArgument(syntax, argExpressions, argNames, lateCallOrGetMethod.Parameters(3).Type) 711Dim copyBackFlagArray As BoundExpression = LateMakeCopyBackArray(syntax, Nothing, lateCallOrGetMethod.Parameters(6).Type) 714Dim copyBackBuilder As ArrayBuilder(Of BoundExpression) = Nothing 741Dim assignmentTarget As BoundExpression = assignmentArguments(i) 758copyBackBuilder = ArrayBuilder(Of BoundExpression).GetInstance(assignmentArguments.Length) 781Dim receiverValue As BoundExpression = If(receiverExpression Is Nothing, Nothing, receiverExpression.MakeRValue) 784Dim receiver As BoundExpression = LateMakeReceiverArgument(syntax, receiverValue, lateCallOrGetMethod.Parameters(0).Type) 786Dim containerType As BoundExpression = LateMakeContainerArgument(syntax, receiverExpression, memberAccess.ContainerTypeOpt, lateCallOrGetMethod.Parameters(1).Type) 790Dim arguments As BoundExpression = argumentsArray 792Dim argumentNames As BoundExpression = LateMakeArgumentNameArrayArgument(syntax, argNames, lateCallOrGetMethod.Parameters(4).Type) 794Dim typeArguments As BoundExpression = LateMakeTypeArgumentArrayArgument(syntax, memberAccess.TypeArgumentsOpt, lateCallOrGetMethod.Parameters(5).Type) 796Dim copyBack As BoundExpression = copyBackFlagArray 798Dim callArgs = ImmutableArray.Create(Of BoundExpression)(receiver, 819Dim ignoreReturn As BoundExpression = MakeBooleanLiteral(syntax, True, lateCallOrGetMethod.Parameters(7).Type) 823Dim callerInvocation As BoundExpression = New BoundCall( 842ImmutableArray.Create(Of BoundExpression)(store).Concat(copyBackBuilder.ToImmutableAndFree), 855ByRef arguments As ImmutableArray(Of BoundExpression), 856<Out> ByRef writeTargets As ImmutableArray(Of BoundExpression)) 865Dim argumentBuilder = ArrayBuilder(Of BoundExpression).GetInstance 866Dim writeTargetsBuilder = ArrayBuilder(Of BoundExpression).GetInstance 868Dim writeTarget As BoundExpression 938typeType As TypeSymbol) As BoundExpression 949Dim bounds As BoundExpression = New BoundLiteral(node, ConstantValue.Create(types.Length), intType) 952Dim initializers = ArrayBuilder(Of BoundExpression).GetInstance
Lowering\LocalRewriter\LocalRewriter_LateInvocation.vb (10)
47receiverExpression As BoundExpression, 48argExpressions As ImmutableArray(Of BoundExpression)) As BoundExpression 60receiverExpression As BoundExpression, 61argExpressions As ImmutableArray(Of BoundExpression), 63useLateCall As Boolean) As BoundExpression 67Dim rewrittenReceiver As BoundExpression = VisitExpressionNode(receiverExpression) 69Dim assignmentArguments As ImmutableArray(Of BoundExpression) = Nothing 72Dim result As BoundExpression = LateCallOrGet(memberAccess, 86ImmutableArray(Of BoundExpression).Empty,
Lowering\LocalRewriter\LocalRewriter_LateMemberAccess.vb (1)
21Dim rewrittenReceiver As BoundExpression = VisitExpressionNode(memberAccess.ReceiverOpt)
Lowering\LocalRewriter\LocalRewriter_LocalDeclaration.vb (6)
18Dim initializerOpt As BoundExpression = node.InitializerOpt 55Dim rewrittenInitializer As BoundExpression = VisitAndGenerateObjectCloneIfNeeded(initializerOpt) 73rewrittenInitializer As BoundExpression, 218ImmutableArray(Of BoundExpression).Empty, 226ImmutableArray.Create(Of BoundExpression)(flag, newFlagInstance, New BoundLiteral(syntax, ConstantValue.Nothing, flag.Type)), 286ImmutableArray(Of BoundExpression).Empty,
Lowering\LocalRewriter\LocalRewriter_NullableHelpers.vb (64)
13Private Function WrapInNullable(expr As BoundExpression, nullableType As TypeSymbol) As BoundExpression 38Private Function ProcessNullableOperand(operand As BoundExpression, 39<Out> ByRef hasValueExpr As BoundExpression, 41ByRef inits As ArrayBuilder(Of BoundExpression), 42doNotCaptureLocals As Boolean) As BoundExpression 47Private Function ProcessNullableOperand(operand As BoundExpression, 48<Out> ByRef hasValueExpr As BoundExpression, 50ByRef inits As ArrayBuilder(Of BoundExpression), 52operandHasValue As Boolean) As BoundExpression 74Private Shared Function RightCantChangeLeftLocal(left As BoundExpression, right As BoundExpression) As Boolean 87Private Function CaptureNullableIfNeeded(operand As BoundExpression, 89<Out> ByRef init As BoundExpression, 90doNotCaptureLocals As Boolean) As BoundExpression 113Private Function CaptureOperand(operand As BoundExpression, <Out> ByRef temp As SynthesizedLocal, <Out> ByRef init As BoundExpression) As BoundExpression 121operand As BoundExpression, 123<[In], Out> ByRef inits As ArrayBuilder(Of BoundExpression), 125) As BoundExpression 128Dim init As BoundExpression = Nothing 136inits = If(inits, ArrayBuilder(Of BoundExpression).GetInstance) 152Private Function NullableValueOrDefault(expr As BoundExpression, Optional isOptional As Boolean = False) As BoundExpression 176Dim whenNotNull As BoundExpression = Nothing 177Dim whenNull As BoundExpression = Nothing 199ImmutableArray(Of BoundExpression).Empty, 209Private Function NullableValueOrDefaultOpt(expr As BoundExpression, defaultValue As BoundExpression) As BoundExpression 234Private Function NullableValue(expr As BoundExpression) As BoundExpression 248ImmutableArray(Of BoundExpression).Empty, 261Private Function NullableHasValue(expr As BoundExpression) As BoundExpression 276ImmutableArray(Of BoundExpression).Empty, 287Private Shared Function NullableNull(syntax As SyntaxNode, nullableType As TypeSymbol) As BoundExpression 292ImmutableArray(Of BoundExpression).Empty, 302Private Shared Function NullableNull(candidateNullExpression As BoundExpression, 303type As TypeSymbol) As BoundExpression 318Private Function NullableFalse(syntax As SyntaxNode, nullableOfBoolean As TypeSymbol) As BoundExpression 324Private Function NullableTrue(syntax As SyntaxNode, nullableOfBoolean As TypeSymbol) As BoundExpression 341Private Function NullableOfBooleanValue(syntax As SyntaxNode, isTrue As Boolean, nullableOfBoolean As TypeSymbol) As BoundExpression 352Private Shared Function HasNoValue(expr As BoundExpression) As Boolean 369Private Shared Function HasValue(expr As BoundExpression) As Boolean 394left As BoundExpression, 395right As BoundExpression, 397resultType As TypeSymbol) As BoundExpression 495left As BoundExpression, 496right As BoundExpression) As BoundExpression 511Private Shared Function MakeSequence(first As BoundExpression, second As BoundExpression) As BoundExpression 519first As BoundExpression, 520second As BoundExpression) As BoundExpression 538condition As BoundExpression, 539whenTrue As BoundExpression, 540whenFalse As BoundExpression) As BoundExpression 557Private 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_RaiseEvent.vb (4)
114Private Function GetWindowsRuntimeEventReceiver(syntax As SyntaxNode, rewrittenReceiver As BoundExpression) As BoundExpression 138arguments:=ImmutableArray.Create(Of BoundExpression)(rewrittenReceiver), 149arguments:=ImmutableArray(Of BoundExpression).Empty,
Lowering\LocalRewriter\LocalRewriter_RedimClause.vb (4)
21Dim valueBeingAssigned As BoundExpression = New BoundArrayCreation(node.Syntax, 65ImmutableArray.Create(Of BoundExpression)(arrayValueAccess, valueBeingAssigned), 83Dim assignmentOperator As BoundExpression = New BoundAssignmentOperator(node.Syntax, assignmentTarget, 91ImmutableArray.Create(Of BoundExpression)(assignmentOperator),
Lowering\LocalRewriter\LocalRewriter_SelectCase.vb (4)
83Dim rewrittenSelectExpression As BoundExpression = Nothing 197<Out()> ByRef rewrittenSelectExpression As BoundExpression, 273Dim rewrittenCaseCondition As BoundExpression = RewriteCaseStatement(generateUnstructuredExceptionHandlingResumeCode, curCaseBlock.CaseStatement, unstructuredExceptionHandlingResumeTarget) 322) As 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_SyncLock.vb (9)
99ImmutableArray.Create(Of BoundExpression)(boundLockObjectLocal), 167boundLockObject As BoundExpression, 173Dim parameters As ImmutableArray(Of BoundExpression) 199parameters = ImmutableArray.Create(Of BoundExpression)(boundLockObject, boundLockTakenLocal) 205parameters = ImmutableArray.Create(Of BoundExpression)(boundLockObject) 210Dim boundMonitorEnterCall As BoundExpression 230boundLockObject As BoundExpression, 235Dim boundMonitorExitCall As BoundExpression 244ImmutableArray.Create(Of BoundExpression)(boundLockObject),
Lowering\LocalRewriter\LocalRewriter_Throw.vb (2)
17Dim expressionOpt As BoundExpression = node.ExpressionOpt 30ImmutableArray.Create(Of BoundExpression)(expressionOpt),
Lowering\LocalRewriter\LocalRewriter_Try.vb (1)
164Dim errorLineNumber As BoundExpression = Nothing
Lowering\LocalRewriter\LocalRewriter_TupleLiteralExpression.vb (9)
20Dim rewrittenArguments As ImmutableArray(Of BoundExpression) = VisitList(node.Arguments) 30Private Function RewriteTupleCreationExpression(node As BoundTupleExpression, rewrittenArguments As ImmutableArray(Of BoundExpression)) As BoundExpression 34Private Function MakeTupleCreationExpression(syntax As SyntaxNode, type As NamedTypeSymbol, rewrittenArguments As ImmutableArray(Of BoundExpression)) As BoundExpression 44Dim smallestCtorArguments As ImmutableArray(Of BoundExpression) = ImmutableArray.Create(rewrittenArguments, 65Binder.CheckRequiredMembersInObjectInitializer(smallestConstructor, smallestType, initializers:=ImmutableArray(Of BoundExpression).Empty, syntax, _diagnostics) 84Binder.CheckRequiredMembersInObjectInitializer(tuple8Ctor, tuple8Ctor.ContainingType, initializers:=ImmutableArray(Of BoundExpression).Empty, syntax, _diagnostics) 88Dim ctorArguments As ImmutableArray(Of BoundExpression) = ImmutableArray.Create(rewrittenArguments,
Lowering\LocalRewriter\LocalRewriter_UnaryOperators.vb (22)
38Private Shared Function AdjustIfOptimizableForConditionalBranch(operand As BoundExpression, <Out> ByRef optimizableForConditionalBranch As Boolean) As BoundExpression 41Dim current As BoundExpression = operand 93Private Function RewriteUnaryOperator(node As BoundUnaryOperator) As BoundExpression 94Dim result As BoundExpression = node 110Private Function RewriteObjectUnaryOperator(node As BoundUnaryOperator) As BoundExpression 113Dim result As BoundExpression = node 138Private Function RewriteDecimalUnaryOperator(node As BoundUnaryOperator) As BoundExpression 141Dim result As BoundExpression = node 164Dim operand As BoundExpression = VisitExpressionNode(node.Operand) 189Dim tempInit As BoundExpression = Nothing 195Dim value As BoundExpression = MakeTernaryConditionalExpression(node.Syntax, 212Private Function RewriteLiftedUserDefinedUnaryOperator(node As BoundUserDefinedUnaryOperator) As BoundExpression 253Dim inits As ArrayBuilder(Of BoundExpression) = Nothing 257Dim callInput As BoundExpression 258Dim operandHasValueExpression As BoundExpression = Nothing 269Dim whenHasValue As BoundExpression = operatorCall.Update(operatorCall.Method, 272ImmutableArray.Create(Of BoundExpression)(callInput), 292Dim condition As BoundExpression = operandHasValueExpression 293Dim result As BoundExpression = MakeTernaryConditionalExpression(node.Syntax, 312Private Function ApplyUnliftedUnaryOp(originalOperator As BoundUnaryOperator, operandValue As BoundExpression) As BoundExpression
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_Using.vb (7)
81Dim placeholderInfo As ValueTuple(Of BoundRValuePlaceholder, BoundExpression, BoundExpression) 196initializationExpression As BoundExpression, 197ByRef placeholderInfo As ValueTuple(Of BoundRValuePlaceholder, BoundExpression, BoundExpression), 204Dim disposeConversion As BoundExpression = placeholderInfo.Item2 205Dim disposeCondition As BoundExpression = placeholderInfo.Item3
Lowering\LocalRewriter\LocalRewriter_While.vb (1)
48rewrittenCondition As BoundExpression,
Lowering\LocalRewriter\LocalRewriter_With.vb (3)
25Dim rewrittenExpression As BoundExpression = VisitExpressionNode(node.OriginalExpression) 54initializers As ImmutableArray(Of BoundExpression), 56replaceWith As BoundExpression) As BoundBlock
Lowering\LocalRewriter\LocalRewriter_XmlLiteralFixupData.vb (3)
21Public ReadOnly Initialization As BoundExpression 23Public Sub New(local As LocalSymbol, initialization As BoundExpression) 31Public Sub AddLocal(local As LocalSymbol, initialization As BoundExpression)
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.MyBaseMyClassWrapper.vb (4)
23Private Function SubstituteMethodForMyBaseOrMyClassCall(receiverOpt As BoundExpression, originalMethodBeingCalled As MethodSymbol) As MethodSymbol 60Private Function GetOrCreateMyBaseOrMyClassWrapperFunction(receiver As BoundExpression, method As MethodSymbol) As MethodSymbol 101Dim boundArguments(wrapperMethod.ParameterCount - 1) As BoundExpression 108Dim newReceiver As BoundExpression = Nothing
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\StateMachineRewriter\StateMachineRewriter.StateMachineMethodToClassRewriter.vb (5)
141Friend Overrides Function FramePointer(syntax As SyntaxNode, frameClass As NamedTypeSymbol) As BoundExpression 449Dim rewrittenExceptionVariable As BoundExpression = DirectCast(Me.Visit(node.ExceptionSourceOpt), BoundExpression) 453Dim rewrittenErrorLineNumber = DirectCast(Me.Visit(node.ErrorLineNumberOpt), BoundExpression) 454Dim rewrittenFilter = DirectCast(Me.Visit(node.ExceptionFilterOpt), BoundExpression)
Lowering\StateMachineRewriter\StateMachineRewriter.vb (4)
133Dim initializers = ArrayBuilder(Of BoundExpression).GetInstance() 267initializers As Dictionary(Of LocalSymbol, BoundExpression)) As TProxy 326Protected MustOverride Sub InitializeParameterWithProxy(parameter As ParameterSymbol, proxy As TProxy, stateMachineVariable As LocalSymbol, initializers As ArrayBuilder(Of BoundExpression)) 334initializers As Dictionary(Of LocalSymbol, BoundExpression)) As TProxy
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 286Public Function Assignment(left As BoundExpression, right As BoundExpression) As BoundExpressionStatement 290Public Function ExpressionStatement(expr As BoundExpression) As BoundExpressionStatement 299Public Function AssignmentExpression(left As BoundExpression, right As BoundExpression) As BoundAssignmentOperator 306Public Function ReferenceAssignment(byRefLocal As LocalSymbol, lValue As BoundExpression) As BoundReferenceAssignment 353Public Function [Return](Optional expression As BoundExpression = Nothing) As BoundReturnStatement 426Public Function LogicalAndAlso(left As BoundExpression, right As BoundExpression) As BoundBinaryOperator 430Public Function LogicalOrElse(left As BoundExpression, right As BoundExpression) As BoundBinaryOperator 434Public Function IntEqual(left As BoundExpression, right As BoundExpression) As BoundBinaryOperator 438Public Function IntLessThan(left As BoundExpression, right As BoundExpression) As BoundBinaryOperator 458Public Function BadExpression(ParamArray subExpressions As BoundExpression()) As BoundExpression 470Public Function [New](ctor As MethodSymbol, ParamArray args As BoundExpression()) As BoundObjectCreationExpression 479ImmutableArray(Of BoundExpression).Empty, 585Public Function [Call](receiver As BoundExpression, method As MethodSymbol) As BoundCall 586Return [Call](receiver, method, ImmutableArray(Of BoundExpression).Empty) 589Public Function [Call](receiver As BoundExpression, method As MethodSymbol, ParamArray args As BoundExpression()) As BoundCall 590Return [Call](receiver, method, ImmutableArray.Create(Of BoundExpression)(args)) 593Public Function [Call](receiver As BoundExpression, method As MethodSymbol, args As ImmutableArray(Of BoundExpression)) As BoundCall 608Public Function [If](condition As BoundExpression, thenClause As BoundStatement, elseClause As BoundStatement) As BoundStatement 617Public Function TernaryConditionalExpression(condition As BoundExpression, ifTrue As BoundExpression, ifFalse As BoundExpression) As BoundTernaryConditionalExpression 623Public Function [TryCast](expression As BoundExpression, type As TypeSymbol) As BoundTryCast 634Public Function [DirectCast](expression As BoundExpression, type As TypeSymbol) As BoundDirectCast 649Public Function [If](condition As BoundExpression, thenClause As BoundStatement) As BoundStatement 653Public Function [Throw](Optional e As BoundExpression = Nothing) As BoundThrowStatement 665Public Function Sequence(temps As ImmutableArray(Of LocalSymbol), ParamArray parts As BoundExpression()) As BoundExpression 668Dim statements(parts.Length - 1 - 1) As BoundExpression 677Public Function Sequence(temp As LocalSymbol, ParamArray parts As BoundExpression()) As BoundExpression 681Public Function Sequence(ParamArray parts As BoundExpression()) As BoundExpression 685Public Function Sequence(locals As ImmutableArray(Of LocalSymbol), sideEffects As ImmutableArray(Of BoundExpression), result As BoundExpression) As BoundExpression 691Public Function [Select](ex As BoundExpression, sections As IEnumerable(Of BoundCaseBlock)) As BoundStatement 788Public Function ArrayAccess(array As BoundExpression, isLValue As Boolean, ParamArray indices As BoundExpression()) As BoundArrayAccess 792Public Function ArrayAccess(array As BoundExpression, isLValue As Boolean, indices As ImmutableArray(Of BoundExpression)) As BoundArrayAccess 805Public Function BaseInitialization(ParamArray args As BoundExpression()) As BoundStatement 817Public Function Null() As BoundExpression 818Dim nullLiteral As BoundExpression = New BoundLiteral(_syntax, ConstantValue.Null, Nothing) 823Public Function Null(type As TypeSymbol) As BoundExpression 825Dim nullLiteral As BoundExpression = New BoundLiteral(_syntax, ConstantValue.Null, type) 830Dim nullLiteral As BoundExpression = New BoundLiteral(_syntax, ConstantValue.Null, Nothing) 842Public Function [Typeof](type As WellKnownType, systemTypeSymbol As TypeSymbol) As BoundExpression 846Public Function [Typeof](typeSym As TypeSymbol, systemTypeSymbol As TypeSymbol) As BoundExpression 871Public Function MethodInfo(meth As WellKnownMember, systemReflectionMethodInfo As TypeSymbol) As BoundExpression 880Public Function MethodInfo(meth As SpecialMember, systemReflectionMethodInfo As TypeSymbol) As BoundExpression 889Public Function MethodInfo(method As MethodSymbol, systemReflectionMethodInfo As TypeSymbol) As BoundExpression 926Public Function ConstructorInfo(meth As WellKnownMember) As BoundExpression 935Public Function ConstructorInfo(meth As SpecialMember) As BoundExpression 944Public Function ConstructorInfo(meth As MethodSymbol) As BoundExpression 948Public Function FieldInfo(field As FieldSymbol) As BoundExpression 961Public Function MethodDefIndex(method As MethodSymbol) As BoundExpression 970Public Function MaximumMethodDefIndex() As BoundExpression 979Public Function ModuleVersionId(isLValue As Boolean) As BoundExpression 988Public Function ModuleVersionIdString() As BoundExpression 999Public Function InstrumentationPayloadRoot(analysisKind As Integer, payloadType As TypeSymbol, isLValue As Boolean) As BoundExpression 1008Public Function SourceDocumentIndex(document As Cci.DebugSourceDocument) As BoundExpression 1014Public Function Convert(type As TypeSymbol, arg As BoundExpression, Optional isChecked As Boolean = False) As BoundConversion 1024Public Function Convert(type As TypeSymbol, arg As BoundExpression, convKind As ConversionKind, Optional isChecked As Boolean = False) As BoundConversion 1031Public Function Array(elementType As TypeSymbol, ParamArray elements As BoundExpression()) As BoundExpression 1035Public Function Array(elementType As TypeSymbol, elements As ImmutableArray(Of BoundExpression)) As BoundExpression 1039Return New BoundArrayCreation(_syntax, ImmutableArray.Create(Of BoundExpression)(Literal(elements.Length)), boundArrayInit, arrayType) 1042Public Function Array(elementType As TypeSymbol, bounds As ImmutableArray(Of BoundExpression), elements As ImmutableArray(Of BoundExpression)) As BoundExpression 1051Public Function Conditional(condition As BoundExpression, consequence As BoundExpression, alternative As BoundExpression, type As TypeSymbol) As BoundTernaryConditionalExpression 1055Public Function BinaryConditional(left As BoundExpression, right As BoundExpression) As BoundBinaryConditionalExpression 1059Public Function Binary(kind As BinaryOperatorKind, type As TypeSymbol, left As BoundExpression, right As BoundExpression) As BoundBinaryOperator 1065Public Function ObjectReferenceEqual(left As BoundExpression, right As BoundExpression) As BoundBinaryOperator 1071Public Function ReferenceIsNothing(operand As BoundExpression) As BoundBinaryOperator 1078Public Function ReferenceIsNotNothing(operand As BoundExpression) As BoundBinaryOperator 1085Public Function [Not](expression As BoundExpression) As BoundExpression 1134Public 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 (40)
20Public Sub New(first As BoundExpression, second As BoundExpression) 24Public ReadOnly First As BoundExpression 25Public ReadOnly Second As BoundExpression 41value As BoundExpression, 78receiverOpt As BoundExpression, 90receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type), 97receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type), 110value As BoundExpression, 139value As BoundExpression, 160value As BoundExpression, 167Private Shared Function UseTwiceRValue(containingMember As Symbol, value As BoundExpression, arg As ArrayBuilder(Of SynthesizedLocal)) As Result 231Dim indicesFirst(n - 1) As BoundExpression 232Dim indicesSecond(n - 1) As BoundExpression 253Private Shared Function UseTwiceLValue(containingMember As Symbol, lvalue As BoundExpression, temporaries As ArrayBuilder(Of SynthesizedLocal)) As Result 308Dim receiverOpt As BoundExpression = node.ReceiverOpt 323receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type), 347ImmutableArray.Create(Of BoundExpression)(clone), 358ImmutableArray.Create(Of BoundExpression)(receiver.First.MakeRValue()), 366Dim firstArgs As ImmutableArray(Of BoundExpression) 367Dim secondArgs As ImmutableArray(Of BoundExpression) 369firstArgs = ImmutableArray(Of BoundExpression).Empty 370secondArgs = ImmutableArray(Of BoundExpression).Empty 373Dim firstArgsArray(nArgs - 1) As BoundExpression 374Dim secondArgsArray(nArgs - 1) As BoundExpression 377Dim boundArgument As BoundExpression = node.Arguments(i) 427Dim firstArgs As ImmutableArray(Of BoundExpression) 428Dim secondArgs As ImmutableArray(Of BoundExpression) 430firstArgs = ImmutableArray(Of BoundExpression).Empty 431secondArgs = ImmutableArray(Of BoundExpression).Empty 434Dim firstArgsArray(nArgs - 1) As BoundExpression 435Dim secondArgsArray(nArgs - 1) As BoundExpression 438Dim boundArgument As BoundExpression = node.ArgumentsOpt(i) 500Private Shared Sub UseTwiceRegularArgument(containingMember As Symbol, boundArgument As BoundExpression, arg As ArrayBuilder(Of SynthesizedLocal), 501ByRef first As BoundExpression, ByRef second As BoundExpression) 521ByRef first As BoundExpression, ByRef second As BoundExpression) 530Dim firstArgsArray(initializerSize - 1) As BoundExpression 531Dim secondArgsArray(initializerSize - 1) As BoundExpression
Lowering\WithExpressionRewriter.vb (31)
20Public Sub New(expression As BoundExpression, locals As ImmutableArray(Of LocalSymbol), initializers As ImmutableArray(Of BoundExpression), capturedLvalueByRefCallOrProperty As BoundExpression) 28Public ReadOnly Expression As BoundExpression 34Public ReadOnly Initializers As ImmutableArray(Of BoundExpression) 36Public ReadOnly CapturedLvalueByRefCallOrProperty As BoundExpression 53Private _initializers As ArrayBuilder(Of BoundExpression) = Nothing 54Public _capturedLvalueByRefCallOrProperty As BoundExpression = Nothing 64Public Sub AddLocal(local As LocalSymbol, initializer As BoundExpression) 72Me._initializers = ArrayBuilder(Of BoundExpression).GetInstance() 79Public Function CreateResult(expression As BoundExpression) As Result 82If(Me._initializers Is Nothing, ImmutableArray(Of BoundExpression).Empty, Me._initializers.ToImmutableAndFree()), 92Private Function CaptureInATemp(value As BoundExpression, state As State) As BoundLocal 115Private Function CaptureInAByRefTemp(value As BoundExpression, state As State) As BoundExpression 132Private Function CaptureArrayAccess(value As BoundArrayAccess, state As State) As BoundExpression 135Dim boundArrayTemp As BoundExpression = CaptureInATemp(value.Expression, state).MakeRValue() 138Dim indices(n - 1) As BoundExpression 146Private Function CaptureRValue(value As BoundExpression, state As State) As BoundExpression 178Private Function CaptureFieldAccess(value As BoundFieldAccess, state As State) As BoundExpression 189Dim receiver As BoundExpression = CaptureReceiver(value.ReceiverOpt, state) 195Private Function CaptureReceiver(value As BoundExpression, state As State) As BoundExpression 205Private Function CaptureExpression(value As BoundExpression, state As State) As BoundExpression 249Dim substitute As BoundExpression = 270value As BoundExpression, 280Private Function CaptureWithExpression(value As BoundExpression, state As State) As BoundExpression 329Dim expression As BoundExpression = Nothing
Semantics\Conversions.vb (13)
701source As BoundExpression, 869source As BoundExpression, 930Public Shared Function ClassifyPredefinedConversion(source As BoundExpression, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ConversionKind 935source As BoundExpression, 1016Public 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) 1046Private Shared Function ClassifyExpressionReclassification(source As BoundExpression, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ConversionKind 1432operand As BoundExpression, 1585Private Shared Function ClassifyNumericConstantConversion(constantExpression As BoundExpression, destination As TypeSymbol, binder As Binder) As ConversionKind 1699Private Shared Function ClassifyNothingLiteralConversion(constantExpression As BoundExpression, destination As TypeSymbol) As ConversionKind 1787Public Shared Function ClassifyDirectCastConversion(source As BoundExpression, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ConversionKind 1843Public Shared Function ClassifyTryCastConversion(source As BoundExpression, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ConversionKind 2108Private 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) 4232expressionOpt 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, 3252ImmutableArray.Create(Of BoundExpression)(argument1, argument2)),
Semantics\OverloadResolution.vb (57)
565Public ReadOnly DefaultValue As BoundExpression 569Public Sub New(value As BoundExpression, conversion As KeyValuePair(Of ConversionKind, MethodSymbol), dependencies As ImmutableArray(Of AssemblySymbol)) 780Public ReadOnly AsyncLambdaSubToFunctionMismatch As ImmutableArray(Of BoundExpression) 785asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression)) 790ImmutableArray(Of BoundExpression).Empty, 855arguments As ImmutableArray(Of BoundExpression), 894arguments As ImmutableArray(Of BoundExpression), 918arguments As ImmutableArray(Of BoundExpression), 940arguments = ImmutableArray(Of BoundExpression).Empty 962Dim asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression) = Nothing 1057asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression)) As OverloadResolutionResult 1080arguments As ImmutableArray(Of BoundExpression), 1092arguments = ImmutableArray(Of BoundExpression).Empty 1102Dim asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression) = Nothing 1155arguments As ImmutableArray(Of BoundExpression), 1161<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression), 1588arguments As ImmutableArray(Of BoundExpression), 1680arguments As ImmutableArray(Of BoundExpression), 1716arguments As ImmutableArray(Of BoundExpression), 1793arguments As ImmutableArray(Of BoundExpression), 1845arguments As ImmutableArray(Of BoundExpression), 2068arguments As ImmutableArray(Of BoundExpression), 2277arguments As ImmutableArray(Of BoundExpression), 2375argument As BoundExpression, 2492Dim newArgument As BoundExpression = Nothing 2533arguments As ImmutableArray(Of BoundExpression), 2586arguments As ImmutableArray(Of BoundExpression), 2633argument As BoundExpression, 2653Dim newArgument As BoundExpression = Nothing 2689arguments As ImmutableArray(Of BoundExpression), 2948arguments As ImmutableArray(Of BoundExpression), 2952<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression), 3033arguments As ImmutableArray(Of BoundExpression), 3215arguments As ImmutableArray(Of BoundExpression), 3218<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression), 3424Dim defaultArgument As BoundExpression = Nothing 3435Dim receiverOpt As BoundExpression = Nothing 3562argument As BoundExpression, 3567<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression), 3641argument As BoundExpression, 3645<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression), 3670Dim underlying As BoundExpression = argument 3691asyncLambdaSubToFunctionMismatch = New HashSet(Of BoundExpression)(ReferenceEqualityComparer.Instance) 3759Dim passedExpression As BoundExpression = binder.PassArgumentByVal(argument, conv, targetType, BindingDiagnosticBag.Discarded) 3791expression As BoundExpression, 3851arguments As ImmutableArray(Of BoundExpression), 3859<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression), 4058arguments As ImmutableArray(Of BoundExpression), 4146arguments As ImmutableArray(Of BoundExpression), 4153<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression), 4244arguments As ImmutableArray(Of BoundExpression), 4250<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression), 4601arguments As ImmutableArray(Of BoundExpression), 4759argument As BoundExpression, 4800arguments As ImmutableArray(Of BoundExpression), 5254arguments As ImmutableArray(Of BoundExpression), 5258<[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) 606Public ReadOnly Arguments As ImmutableArray(Of BoundExpression) 617Private _asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression) 624arguments As ImmutableArray(Of BoundExpression), 629asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression), 698arguments As ImmutableArray(Of BoundExpression), 710<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression), 915Dim arguments As ImmutableArray(Of BoundExpression) = Me.Arguments 1020argument As BoundExpression, 1240Private Shared Function ArgumentTypePossiblyMatchesParamarrayShape(argument As BoundExpression, paramType As TypeSymbol) As Boolean 1909argument As BoundExpression, 1980argument As BoundExpression, 2209_asyncLambdaSubToFunctionMismatch = New HashSet(Of BoundExpression)(ReferenceEqualityComparer.Instance)
Semantics\TypeInference\TypeInferenceCollection.vb (4)
328Dim elements As ArrayBuilder(Of BoundExpression) = ArrayBuilder(Of BoundExpression).GetInstance 404Private Shared Sub AppendArrayElements(source As BoundArrayInitialization, elements As ArrayBuilder(Of BoundExpression)) 561sourceExpression As BoundExpression
Symbols\ConstantValueUtils.vb (1)
57<Out> ByRef constValue As ConstantValue) As BoundExpression
Symbols\HandledEvent.vb (2)
21delegateCreation As BoundExpression, 86Friend ReadOnly delegateCreation As BoundExpression
Symbols\PropertySymbol.vb (1)
150Friend Function IsWritable(receiverOpt As BoundExpression, containingBinder As Binder, isKnownTargetOfObjectMemberInitializer As Boolean) As Boolean
Symbols\ReducedExtensionMethodSymbol.vb (1)
95arguments:=ImmutableArray.Create(Of BoundExpression)(
Symbols\Source\LocalSymbol.vb (10)
369Friend Overridable Function GetConstantExpression(binder As Binder) As BoundExpression 764Dim fromValueExpression As BoundExpression = Nothing 765Dim toValueExpression As BoundExpression = Nothing 766Dim stepValueExpression As BoundExpression = Nothing 812Public Sub New(value As ConstantValue, type As TypeSymbol, expression As BoundExpression, diagnostics As ReadOnlyBindingDiagnostic(Of AssemblySymbol)) 821Public ReadOnly Expression As BoundExpression 849Dim valueExpression As BoundExpression = Nothing 862Friend Overrides Function GetConstantExpression(localBinder As Binder) As BoundExpression 876Dim valueExpression As BoundExpression = 915Private Sub SetConstantExpression(type As TypeSymbol, constantValue As ConstantValue, expression As BoundExpression, diagnostics As ReadOnlyBindingDiagnostic(Of AssemblySymbol))
Symbols\Source\SourceMemberMethodSymbol.vb (1)
767Dim receiverOpt As BoundExpression = Nothing
Symbols\Source\SynthesizedEntryPointSymbol.vb (4)
207Private Shared Function CreateParameterlessCall(syntax As VisualBasicSyntaxNode, receiver As BoundExpression, method As MethodSymbol) As BoundCall 213arguments:=ImmutableArray(Of BoundExpression).Empty, 278ImmutableArray(Of BoundExpression).Empty, 369ImmutableArray.Create(Of BoundExpression)(submissionArrayParameter),
Symbols\Source\SynthesizedEventAccessorSymbol.vb (8)
201arguments:=ImmutableArray.Create(Of BoundExpression)(fieldAccess), 220arguments:=ImmutableArray.Create(Of BoundExpression)(parameterAccess), 323Dim delegateUpdate As BoundExpression 343ImmutableArray.Create(Of BoundExpression)( 420ImmutableArray.Create(Of BoundExpression)( 439Dim compareExchange As BoundExpression = New BoundCall(syntax, 443ImmutableArray.Create(Of BoundExpression)(boundBackingField, boundTmps(2).MakeRValue(), boundTmps(1).MakeRValue()), 457Dim loopExitCondition As BoundExpression = New BoundBinaryOperator(syntax,
Symbols\Source\SynthesizedMainTypeEntryPoint.vb (2)
57Dim instance As BoundExpression = binder.TryDefaultInstanceProperty(New BoundTypeExpression(syntaxNode, container), defaultInstancePropertyDiagnostics) 61instance = binder.BindObjectCreationExpression(syntaxNode, container, ImmutableArray(Of BoundExpression).Empty, diagnostics)
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),