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)
220Inherits BoundExpression 262Inherits BoundExpression 289Inherits BoundExpression 308Inherits BoundExpression 532Inherits BoundExpression 568Inherits BoundExpression 658Inherits BoundExpression 697Inherits BoundExpression 739Inherits BoundExpression 796Inherits BoundExpression 831Inherits BoundExpression 874Inherits BoundExpression 918Inherits BoundExpression 973Inherits BoundExpression 1015Inherits BoundExpression 1057Inherits BoundExpression 1112Inherits BoundExpression 1156Inherits BoundExpression 1189Inherits BoundExpression 1240Inherits BoundExpression 1282Inherits BoundExpression 1315Inherits BoundExpression 1359Inherits BoundExpression 1423Inherits BoundExpression 1471Inherits BoundExpression 1511Inherits BoundExpression 1584Inherits BoundExpression 1640Inherits BoundExpression 1737Inherits BoundExpression 1802Inherits BoundExpression 1858Inherits BoundExpression 1909Inherits BoundExpression 1975Inherits BoundExpression 2048Inherits BoundExpression 2250Inherits BoundExpression 2434Inherits BoundExpression 2530Inherits BoundExpression 2639Inherits BoundExpression 3018Inherits BoundExpression 3115Inherits BoundExpression 3183Inherits BoundExpression 3254Inherits BoundExpression 3326Inherits BoundExpression 3369Inherits BoundExpression 3474Inherits BoundExpression 3597Inherits BoundExpression 3648Inherits BoundExpression 3699Inherits BoundExpression 3742Inherits BoundExpression 3871Inherits BoundExpression 3938Inherits BoundExpression 4010Inherits BoundExpression 4087Inherits BoundExpression 4121Inherits BoundExpression 4193Inherits BoundExpression 4290Inherits BoundExpression 4806Inherits BoundExpression 5882Inherits BoundExpression 5931Inherits BoundExpression 5964Inherits BoundExpression 6004Inherits BoundExpression 6037Inherits BoundExpression 6070Inherits BoundExpression 6114Inherits BoundExpression 6147Inherits BoundExpression 6207Inherits BoundExpression 6278Inherits BoundExpression 6382Inherits BoundExpression 6457Inherits BoundExpression 6547Inherits BoundExpression 6768Inherits BoundExpression 6857Inherits BoundExpression 6937Inherits BoundExpression 6972Inherits BoundExpression 7237Inherits BoundExpression 7341Inherits BoundExpression 7494Inherits BoundExpression 7775Inherits BoundExpression 7828Inherits BoundExpression 7872Inherits BoundExpression 7925Inherits BoundExpression 7984Inherits BoundExpression 8037Inherits BoundExpression 8081Inherits BoundExpression 8147Inherits BoundExpression 8200Inherits BoundExpression 8235Inherits BoundExpression 8270Inherits BoundExpression 8489Inherits BoundExpression 8652Inherits BoundExpression 8737Inherits BoundExpression 8838Inherits BoundExpression 8904Inherits BoundExpression 9014Inherits BoundExpression 9087Inherits BoundExpression 9136Inherits BoundExpression 9184Inherits BoundExpression 9224Inherits BoundExpression
3891 references to BoundExpression
Microsoft.CodeAnalysis.VisualBasic (3891)
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)
100Protected 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)
32expression As BoundExpression, 37Friend Overridable Function BindGroupAggregationExpression(group As GroupAggregationSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression 44Friend Overridable Function BindFunctionAggregationExpression([function] As FunctionAggregationSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression 58) As BoundExpression 228Dim aggregationSelector As BoundExpression = Nothing 245Dim selectors = New BoundExpression(aggregationVariablesCount - 1) {} 260Dim result As BoundExpression = BindAnonymousObjectCreationExpression(aggregate, 323Dim letSelector As BoundExpression = letSelectorBinder.BindAggregateClauseFirstSelector(aggregate, operatorsEnumerator, 342Dim underlyingExpression As BoundExpression 345underlyingExpression = BadExpression(aggregate, ImmutableArray.Create(Of BoundExpression)(source, letSelectorLambda), 357ImmutableArray.Create(Of BoundExpression)(letSelectorLambda), 380firstSelectExpression As BoundExpression, 444Dim compoundKeyReferencePart1 As BoundExpression 446Dim compoundKeyReferencePart2 As BoundExpression 464ImmutableArray(Of BoundExpression).Empty).MakeCompilerGenerated() 482ImmutableArray(Of BoundExpression).Empty).MakeCompilerGenerated() 504ImmutableArray(Of BoundExpression).Empty).MakeCompilerGenerated() 517Dim selectSelector As BoundExpression = intoBinder.BindIntoSelector(aggregate, 537Dim underlyingExpression As BoundExpression 540underlyingExpression = BadExpression(aggregate, ImmutableArray.Create(Of BoundExpression)(letOperator, selectSelectorLambda), 552ImmutableArray.Create(Of BoundExpression)(selectSelectorLambda), 601Dim selector As BoundExpression = New BoundParameter(param.Syntax, 620Dim boundCallOrBadExpression As BoundExpression 623ImmutableArray.Create(Of BoundExpression)(selectorLambda), 667Dim selector As BoundExpression = selectorBinder.BindSelectClauseSelector(clauseSyntax, 681Dim boundCallOrBadExpression As BoundExpression 684boundCallOrBadExpression = BadExpression(clauseSyntax, ImmutableArray.Create(Of BoundExpression)(source, selectorLambda), 694ImmutableArray.Create(Of BoundExpression)(selectorLambda), 804Dim selector As BoundExpression = selectorBinder.BindLetClauseVariableSelector(variable, 818Dim boundCallOrBadExpression As BoundExpression 821boundCallOrBadExpression = BadExpression(variable, ImmutableArray.Create(Of BoundExpression)(source, selectorLambda), 840ImmutableArray.Create(Of BoundExpression)(selectorLambda), 1063Dim joinSelector As BoundExpression 1133Dim boundCallOrBadExpression As BoundExpression 1136boundCallOrBadExpression = BadExpression(variable, ImmutableArray.Create(Of BoundExpression)(source, manySelectorLambda, joinSelectorLambda), 1156ImmutableArray.Create(Of BoundExpression)(manySelectorLambda, joinSelectorLambda), 1457Dim joinSelector As BoundExpression 1515Dim boundCallOrBadExpression As BoundExpression 1518boundCallOrBadExpression = BadExpression(join, ImmutableArray.Create(Of BoundExpression)(outer, inner, outerKeyLambda, innerKeyLambda, joinSelectorLambda), 1533ImmutableArray.Create(Of BoundExpression)(inner, outerKeyLambda, innerKeyLambda, joinSelectorLambda), 1698Dim boundCallOrBadExpression As BoundExpression 1701boundCallOrBadExpression = BadExpression(groupJoin, ImmutableArray.Create(Of BoundExpression)(outer, inner, outerKeyLambda, innerKeyLambda, intoLambda), 1719ImmutableArray.Create(Of BoundExpression)(inner, outerKeyLambda, innerKeyLambda, intoLambda), 1791Dim groupByArguments() As BoundExpression 1804Dim boundCallOrBadExpression As BoundExpression 1808ImmutableArray.Create(Of BoundExpression)(source).AddRange(groupByArguments), 1977Dim groupByArguments() As BoundExpression 2057Dim groupJoinArguments() As BoundExpression = {inner, outerKeyLambda, innerKeyLambda, inferenceLambda} 2131Dim intoSelector As BoundExpression = intoBinder.BindIntoSelector(clauseSyntax, 2324Dim predicate As BoundExpression = filterBinder.BindValue(condition, diagnostics) 2344Dim convertedToBoolean As BoundExpression = filterBinder.ApplyImplicitConversion(condition, 2372Dim boundCallOrBadExpression As BoundExpression 2375boundCallOrBadExpression = BadExpression(operatorSyntax, ImmutableArray.Create(Of BoundExpression)(source, filterLambda), 2385ImmutableArray.Create(Of BoundExpression)(filterLambda), 2412Dim boundCallOrBadExpression As BoundExpression 2421ImmutableArray(Of BoundExpression).Empty, 2477Dim boundCount As BoundExpression = Me.BindValue(partition.Count, diagnostics) 2480Dim boundCallOrBadExpression As BoundExpression 2559Dim key As BoundExpression = keyBinder.BindValue(ordering.Expression, diagnostics) 2569Dim boundCallOrBadExpression As BoundExpression 2572boundCallOrBadExpression = BadExpression(ordering, ImmutableArray.Create(Of BoundExpression)(sourceOrPreviousOrdering, keyLambda), 2606ImmutableArray.Create(Of BoundExpression)(keyLambda), 2689) As BoundExpression 2736) As BoundExpression 2739Dim selector As BoundExpression 2766Dim selectors = New BoundExpression(selectVariables.Count - 1) {} 2812<Out()> ByRef selector As BoundExpression, 2934) As BoundExpression 2937Dim selector As BoundExpression = Nothing 2985) As BoundExpression 3002Dim letSelector As BoundExpression 3033Dim compoundKeyReferencePart1 As BoundExpression 3035Dim compoundKeyReferencePart2 As BoundExpression 3117) As BoundExpression 3124Dim joinSelector As BoundExpression 3178Optional rangeVarValueOpt As BoundExpression = Nothing 3179) As BoundExpression 3184Dim selectors As BoundExpression() 3208selectors = New BoundExpression(lastIndex) {} 3223selectors = New BoundExpression(lastIndex) {} 3292Dim outerKey As BoundExpression 3293Dim innerKey As BoundExpression 3327Dim outerKeys(joinConditions.Count - 1) As BoundExpression 3328Dim innerKeys(joinConditions.Count - 1) As BoundExpression 3392<Out()> ByRef outerKey As BoundExpression, 3395<Out()> ByRef innerKey As BoundExpression, 3418Dim left As BoundExpression = outerKeyBinder.BindRValue(joinCondition.Left, diagnostics) 3438Dim right As BoundExpression = innerKeyBinder.BindRValue(joinCondition.Right, diagnostics) 3523outerKey As BoundExpression, 3526innerKey As BoundExpression, 3648Public Function DetermineTheSide(node As BoundExpression, diagnostics As BindingDiagnosticBag) As Result 3699node As BoundExpression, 3733Protected ReadOnly m_GroupReference As BoundExpression 3740groupReference As BoundExpression, 3755) As BoundExpression 3765compoundKeyReferencePart1 As BoundExpression, 3767compoundKeyReferencePart2 As BoundExpression, 3774) As BoundExpression 3783Dim selectors As BoundExpression() 3792Dim intoSelector As BoundExpression 3802selectors = New BoundExpression(fieldsToReserveForAggregationVariables + 1 - 1) {} 3812selectors = New BoundExpression(fieldsToReserveForAggregationVariables + 2 - 1) {} 3831selectors = New BoundExpression(keys + fieldsToReserveForAggregationVariables - 1) {} 3854Dim selector As BoundExpression = Nothing 3906) As BoundExpression 3928Dim arguments As ImmutableArray(Of BoundExpression) 3932arguments = ImmutableArray(Of BoundExpression).Empty 3947arguments = ImmutableArray.Create(Of BoundExpression)(aggregationLambda) 3951Dim boundCallOrBadExpression As BoundExpression 4010<Out()> ByRef selector As BoundExpression, 4102groupReference As BoundExpression, 4110Friend Overrides Function BindGroupAggregationExpression(group As GroupAggregationSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression 4131Dim queryable As BoundExpression = ConvertToQueryableType(source, diagnostics, variableType) 4272Dim selector As BoundExpression = selectorBinder.ApplyImplicitConversion(syntax.AsClause, targetVariableType, 4291Dim boundCallOrBadExpression As BoundExpression 4294ImmutableArray.Create(Of BoundExpression)(selectorLambda), 4319source As BoundExpression, 4322) As BoundExpression 4348Dim result As BoundExpression = Nothing 4352Dim asQueryable As BoundExpression = BindQueryOperatorCall(source.Syntax, source, StringConstants.AsQueryableMethod, 4353ImmutableArray(Of BoundExpression).Empty, 4370Dim asEnumerable As BoundExpression = BindQueryOperatorCall(source.Syntax, source, StringConstants.AsEnumerableMethod, 4371ImmutableArray(Of BoundExpression).Empty, 4391Dim cast As BoundExpression = BindQueryOperatorCall(source.Syntax, source, StringConstants.CastMethod, 4394ImmutableArray(Of BoundExpression).Empty, 4416Private Function InferControlVariableType(source As BoundExpression, diagnostics As BindingDiagnosticBag) As TypeSymbol 4550source As BoundExpression, 4588source As BoundExpression, 4590arguments As ImmutableArray(Of BoundExpression), 4593) As BoundExpression 4605source As BoundExpression, 4608arguments As ImmutableArray(Of BoundExpression), 4611) As BoundExpression 4626source As BoundExpression, 4629arguments As ImmutableArray(Of BoundExpression), 4632) As BoundExpression 4638Dim boundCall As BoundExpression = Nothing 4673Dim arg As BoundExpression = arguments(i) 4688Dim childBoundNodes As ImmutableArray(Of BoundExpression) 4693Dim 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)
116Dim boundExpression = TryCast(Me.GetLowerBoundNode(expression), BoundExpression) 609Dim boundExpression = TryCast(GetLowerBoundNode(anonymousObjectCreationExpressionSyntax), BoundExpression) 635Dim boundExpression = TryCast(GetLowerBoundNode(anonymousObjectCreation), BoundExpression) 735<Out> ByRef getEnumeratorArguments As ImmutableArray(Of BoundExpression), 737<Out> ByRef moveNextArguments As ImmutableArray(Of BoundExpression), 739<Out> ByRef currentArguments As ImmutableArray(Of BoundExpression), 783Dim boundCurrentConversion As BoundExpression = enumeratorInfo.CurrentConversion 792Dim originalCollection As BoundExpression = boundForEach.Collection 2105Private _placeholderReplacementMap As Dictionary(Of BoundValuePlaceholderBase, BoundExpression) 2222Dim rightOperands = ArrayBuilder(Of BoundExpression).GetInstance() 2234Dim current As BoundExpression = binary.Left 2262Dim receiver As BoundExpression = node.ReceiverOpt 2285Dim receiver As BoundExpression = node.ReceiverOpt 2380Dim receiver As BoundExpression = node.ReceiverOpt 2410_placeholderReplacementMap = New Dictionary(Of BoundValuePlaceholderBase, BoundExpression)() 2420Dim replacement As BoundExpression = Nothing 2430Dim replacement As BoundExpression = Nothing 2444_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 231Private Sub InitializerCountRecursive(inits As ImmutableArray(Of BoundExpression), ByRef initCount As Integer, ByRef constInits As Integer) 258Private Function GetRawData(initializers As ImmutableArray(Of BoundExpression)) As ImmutableArray(Of Byte) 268Private Sub SerializeArrayRecursive(bw As BlobBuilder, inits As ImmutableArray(Of BoundExpression)) 285Private 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) 253Dim receiver As BoundExpression = conditional.Receiver 470Private Sub EmitDelegateCreation(receiver As BoundExpression, method As MethodSymbol, delegateType As TypeSymbol, used As Boolean, syntaxNode As SyntaxNode) 515Private Sub EmitMeOrMyClassReferenceExpression(thisRef As BoundExpression) 556Private Sub EmitSideEffects(sideEffects As ImmutableArray(Of BoundExpression)) 564Private Sub EmitExpressions(expressions As ImmutableArray(Of BoundExpression), used As Boolean) 573Private Sub EmitArguments(arguments As ImmutableArray(Of BoundExpression), parameters As ImmutableArray(Of ParameterSymbol)) 742Private Function EmitFieldLoadReceiverAddress(receiver As BoundExpression) As Boolean 770Private Function FieldLoadPrefersRef(receiver As BoundExpression) As Boolean 806Friend Shared Function FieldLoadMustUseRef(expr As BoundExpression) As Boolean 894Private Function CanUseCallOnRefTypeReceiver(receiver As BoundExpression) As Boolean 967Private Function IsMeReceiver(receiver As BoundExpression) As Boolean 1262Friend Shared Function IsPossibleReferenceTypeReceiverOfConstrainedCall(receiver As BoundExpression) As Boolean 1272Friend Shared Function ReceiverIsKnownToReferToTempIfReferenceType(receiver As BoundExpression) As Boolean 1291Friend Shared Function IsSafeToDereferenceReceiverRefAfterEvaluatingArguments(arguments As ImmutableArray(Of BoundExpression)) As Boolean 1523Private Function StackMergeType(expr As BoundExpression) As TypeSymbol 1685arguments As ImmutableArray(Of BoundExpression), 1707Private Sub EmitInitObjOnTarget(target As BoundExpression) 1809Dim left As BoundExpression = assignmentOperator.Left 1822Dim right As BoundExpression = assignmentOperator.Right 1853Private Function SafeToGetWriteableReference(left As BoundExpression) As Boolean 1857Private Sub InPlaceInit(target As BoundExpression, used As Boolean) 1870Private Sub InPlaceCtorCall(target As BoundExpression, objCreation As BoundObjectCreationExpression, used As Boolean) 1891Private Function PartialCtorResultCannotEscape(left As BoundExpression) As Boolean 1895Private Function TargetIsNotOnHeap(left As BoundExpression) As Boolean 1909Private Function EmitAssignmentPreamble(assignmentTarget As BoundExpression) As Boolean 2040Private 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) 851Dim receiver = DirectCast(Me.Visit(node.Receiver), BoundExpression) 859Dim whenNotNull = DirectCast(Me.Visit(node.WhenNotNull), BoundExpression) 863Dim whenNull As BoundExpression = Nothing 867whenNull = DirectCast(Me.Visit(node.WhenNullOpt), BoundExpression) 888Dim valueTypeReceiver = DirectCast(Me.VisitExpression(node.ValueTypeReceiver, Me._context), BoundExpression) 893Dim referenceTypeReceiver = DirectCast(Me.VisitExpression(node.ReferenceTypeReceiver, Me._context), BoundExpression) 903Dim child As BoundExpression = node.Left 927Dim left = DirectCast(Me.Visit(child), BoundExpression) 948Dim right = DirectCast(Me.Visit(binary.Right), BoundExpression) 979Dim left As BoundExpression = DirectCast(Me.Visit(node.Left), BoundExpression) 985Dim right As BoundExpression = DirectCast(Me.Visit(node.Right), BoundExpression) 1002Dim operand = DirectCast(Me.Visit(node.Operand), BoundExpression) 1057Dim value = DirectCast(Visit(node.Value), BoundExpression) 1100Dim exceptionVariableOpt As BoundExpression = Me.VisitExpression(node.ExceptionSourceOpt, ExprContext.Value) 1104Dim errorLineNumberOpt As BoundExpression = Me.VisitExpression(node.ErrorLineNumberOpt, ExprContext.Value) 1108Dim exceptionFilterOpt As BoundExpression = Me.VisitExpression(node.ExceptionFilterOpt, ExprContext.Value) 1122Dim initializers As ImmutableArray(Of BoundExpression) = node.Initializers 1123Dim rewrittenInitializers As ArrayBuilder(Of BoundExpression) = Nothing 1129Dim initializer As BoundExpression = initializers(i) 1130Dim rewrittenInitializer As BoundExpression = Me.VisitExpression(initializer, ExprContext.Value) 1133rewrittenInitializers = ArrayBuilder(Of BoundExpression).GetInstance() 1147Dim 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 receiver As BoundExpression = DirectCast(Me.Visit(node.Receiver), 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)
826Dim arguments = ArrayBuilder(Of BoundExpression).GetInstance(matchingStub.ParameterCount) 1444Dim expression As BoundExpression = stmt.Expression 2093Dim baseInvocation As BoundExpression = Nothing 2097baseInvocation = New BoundCall(syntaxNode, constructorToCall, Nothing, thisRef, ImmutableArray(Of BoundExpression).Empty, Nothing, voidType) 2117ImmutableArray(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)
310Public Sub New(syntax As SyntaxNode, underlyingLValue As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 325Private ReadOnly _UnderlyingLValue As BoundExpression 326Public ReadOnly Property UnderlyingLValue As BoundExpression 337Public Function Update(underlyingLValue As BoundExpression, type As TypeSymbol) As BoundLValueToRValueWrapper 570Public 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) 601Private ReadOnly _ChildBoundNodes As ImmutableArray(Of BoundExpression) 602Public ReadOnly Property ChildBoundNodes As ImmutableArray(Of BoundExpression) 613Public Function Update(resultKind As LookupResultKind, symbols As ImmutableArray(Of Symbol), childBoundNodes As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundBadExpression 660Public Sub New(syntax As SyntaxNode, expression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 674Private ReadOnly _Expression As BoundExpression 675Public ReadOnly Property Expression As BoundExpression 686Public Function Update(expression As BoundExpression, type As TypeSymbol) As BoundParenthesized 699Public Sub New(syntax As SyntaxNode, expression As BoundExpression, isLValue As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False) 709Private ReadOnly _Expression As BoundExpression 710Public ReadOnly Property Expression As BoundExpression 728Public Function Update(expression As BoundExpression, isLValue As Boolean, type As TypeSymbol) As BoundBadVariable 741Public Sub New(syntax As SyntaxNode, expression As BoundExpression, indices As ImmutableArray(Of BoundExpression), isLValue As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False) 759Private ReadOnly _Expression As BoundExpression 760Public ReadOnly Property Expression As BoundExpression 766Private ReadOnly _Indices As ImmutableArray(Of BoundExpression) 767Public ReadOnly Property Indices As ImmutableArray(Of BoundExpression) 785Public Function Update(expression As BoundExpression, indices As ImmutableArray(Of BoundExpression), isLValue As Boolean, type As TypeSymbol) As BoundArrayAccess 798Public Sub New(syntax As SyntaxNode, expression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 808Private ReadOnly _Expression As BoundExpression 809Public ReadOnly Property Expression As BoundExpression 820Public Function Update(expression As BoundExpression, type As TypeSymbol) As BoundArrayLength 975Public Sub New(syntax As SyntaxNode, unevaluatedReceiverOpt As BoundExpression, aliasOpt As AliasSymbol, type As TypeSymbol, Optional hasErrors As Boolean = False) 985Private ReadOnly _UnevaluatedReceiverOpt As BoundExpression 986Public ReadOnly Property UnevaluatedReceiverOpt As BoundExpression 1004Public Function Update(unevaluatedReceiverOpt As BoundExpression, aliasOpt As AliasSymbol, type As TypeSymbol) As BoundTypeExpression 1059Public Sub New(syntax As SyntaxNode, unevaluatedReceiverOpt As BoundExpression, aliasOpt As AliasSymbol, namespaceSymbol As NamespaceSymbol, Optional hasErrors As Boolean = False) 1075Private ReadOnly _UnevaluatedReceiverOpt As BoundExpression 1076Public ReadOnly Property UnevaluatedReceiverOpt As BoundExpression 1101Public Function Update(unevaluatedReceiverOpt As BoundExpression, aliasOpt As AliasSymbol, namespaceSymbol As NamespaceSymbol) As BoundNamespaceExpression 1361Public 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) 1386Private ReadOnly _Operand As BoundExpression 1387Public ReadOnly Property Operand As BoundExpression 1412Public Function Update(operatorKind As UnaryOperatorKind, operand As BoundExpression, checked As Boolean, constantValueOpt As ConstantValue, type As TypeSymbol) As BoundUnaryOperator 1425Public Sub New(syntax As SyntaxNode, operatorKind As UnaryOperatorKind, underlyingExpression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 1448Private ReadOnly _UnderlyingExpression As BoundExpression 1449Public ReadOnly Property UnderlyingExpression As BoundExpression 1460Public Function Update(operatorKind As UnaryOperatorKind, underlyingExpression As BoundExpression, type As TypeSymbol) As BoundUserDefinedUnaryOperator 1473Public Sub New(syntax As SyntaxNode, operand As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 1488Private ReadOnly _Operand As BoundExpression 1489Public ReadOnly Property Operand As BoundExpression 1500Public Function Update(operand As BoundExpression, type As TypeSymbol) As BoundNullableIsTrueOperator 1513Public 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) 1540Private ReadOnly _Left As BoundExpression 1541Public ReadOnly Property Left As BoundExpression 1547Private ReadOnly _Right As BoundExpression 1548Public ReadOnly Property Right As BoundExpression 1573Public Function Update(operatorKind As BinaryOperatorKind, left As BoundExpression, right As BoundExpression, checked As Boolean, constantValueOpt As ConstantValue, type As TypeSymbol) As BoundBinaryOperator 1586Public Sub New(syntax As SyntaxNode, operatorKind As BinaryOperatorKind, underlyingExpression As BoundExpression, checked As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False) 1610Private ReadOnly _UnderlyingExpression As BoundExpression 1611Public ReadOnly Property UnderlyingExpression As BoundExpression 1629Public Function Update(operatorKind As BinaryOperatorKind, underlyingExpression As BoundExpression, checked As Boolean, type As TypeSymbol) As BoundUserDefinedBinaryOperator 1642Public 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) 1660Private ReadOnly _LeftOperand As BoundExpression 1661Public ReadOnly Property LeftOperand As BoundExpression 1674Private ReadOnly _LeftTest As BoundExpression 1675Public ReadOnly Property LeftTest As BoundExpression 1693Public Function Update(leftOperand As BoundExpression, leftOperandPlaceholder As BoundRValuePlaceholder, leftTest As BoundExpression, bitwiseOperator As BoundUserDefinedBinaryOperator, type As TypeSymbol) As BoundUserDefinedShortCircuitingOperator 1739Public 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) 1758Private ReadOnly _Left As BoundExpression 1759Public ReadOnly Property Left As BoundExpression 1772Private ReadOnly _Right As BoundExpression 1773Public ReadOnly Property Right As BoundExpression 1791Public Function Update(left As BoundExpression, leftOnTheRightOpt As BoundCompoundAssignmentTargetPlaceholder, right As BoundExpression, suppressObjectClone As Boolean, type As TypeSymbol) As BoundAssignmentOperator 1804Public Sub New(syntax As SyntaxNode, byRefLocal As BoundLocal, lValue As BoundExpression, isLValue As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False) 1828Private ReadOnly _LValue As BoundExpression 1829Public ReadOnly Property LValue As BoundExpression 1847Public Function Update(byRefLocal As BoundLocal, lValue As BoundExpression, isLValue As Boolean, type As TypeSymbol) As BoundReferenceAssignment 1911Public 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) 1931Private ReadOnly _Condition As BoundExpression 1932Public ReadOnly Property Condition As BoundExpression 1938Private ReadOnly _WhenTrue As BoundExpression 1939Public ReadOnly Property WhenTrue As BoundExpression 1945Private ReadOnly _WhenFalse As BoundExpression 1946Public ReadOnly Property WhenFalse As BoundExpression 1964Public Function Update(condition As BoundExpression, whenTrue As BoundExpression, whenFalse As BoundExpression, constantValueOpt As ConstantValue, type As TypeSymbol) As BoundTernaryConditionalExpression 1977Public 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) 1997Private ReadOnly _TestExpression As BoundExpression 1998Public ReadOnly Property TestExpression As BoundExpression 2004Private ReadOnly _ConvertedTestExpression As BoundExpression 2005Public ReadOnly Property ConvertedTestExpression As BoundExpression 2018Private ReadOnly _ElseExpression As BoundExpression 2019Public ReadOnly Property ElseExpression As BoundExpression 2037Public Function Update(testExpression As BoundExpression, convertedTestExpression As BoundExpression, testExpressionPlaceholder As BoundRValuePlaceholder, elseExpression As BoundExpression, constantValueOpt As ConstantValue, type As TypeSymbol) As BoundBinaryConditionalExpression 2069Public 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) 2089Private ReadOnly _Operand As BoundExpression 2090Public Overrides ReadOnly Property Operand As BoundExpression 2136Public 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 2204Public Sub New(syntax As SyntaxNode, elementPlaceholders As ImmutableArray(Of BoundRValuePlaceholder), convertedElements As ImmutableArray(Of BoundExpression), Optional hasErrors As Boolean = False) 2227Private ReadOnly _ConvertedElements As ImmutableArray(Of BoundExpression) 2228Public ReadOnly Property ConvertedElements As ImmutableArray(Of BoundExpression) 2239Public Function Update(elementPlaceholders As ImmutableArray(Of BoundRValuePlaceholder), convertedElements As ImmutableArray(Of BoundExpression)) As BoundConvertedTupleElements 2252Public Sub New(syntax As SyntaxNode, underlyingExpression As BoundExpression, inOutConversionFlags As Byte, type As TypeSymbol, Optional hasErrors As Boolean = False) 2268Private ReadOnly _UnderlyingExpression As BoundExpression 2269Public ReadOnly Property UnderlyingExpression As BoundExpression 2287Public Function Update(underlyingExpression As BoundExpression, inOutConversionFlags As Byte, type As TypeSymbol) As BoundUserDefinedConversion 2300Public 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) 2319Private ReadOnly _Operand As BoundExpression 2320Public Overrides ReadOnly Property Operand As BoundExpression 2359Public Function Update(operand As BoundExpression, conversionKind As ConversionKind, suppressVirtualCalls As Boolean, constantValueOpt As ConstantValue, relaxationLambdaOpt As BoundLambda, type As TypeSymbol) As BoundDirectCast 2372Public 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) 2390Private ReadOnly _Operand As BoundExpression 2391Public Overrides ReadOnly Property Operand As BoundExpression 2423Public Function Update(operand As BoundExpression, conversionKind As ConversionKind, constantValueOpt As ConstantValue, relaxationLambdaOpt As BoundLambda, type As TypeSymbol) As BoundTryCast 2436Public Sub New(syntax As SyntaxNode, operand As BoundExpression, isTypeOfIsNotExpression As Boolean, targetType As TypeSymbol, type As TypeSymbol, Optional hasErrors As Boolean = False) 2449Private ReadOnly _Operand As BoundExpression 2450Public ReadOnly Property Operand As BoundExpression 2475Public Function Update(operand As BoundExpression, isTypeOfIsNotExpression As Boolean, targetType As TypeSymbol, type As TypeSymbol) As BoundTypeOf 2532Public Sub New(syntax As SyntaxNode, expression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 2541Private ReadOnly _Expression As BoundExpression 2542Public ReadOnly Property Expression As BoundExpression 2553Public Function Update(expression As BoundExpression, type As TypeSymbol) As BoundSequencePointExpression 2641Protected Sub New(kind As BoundKind, syntax as SyntaxNode, receiverOpt As BoundExpression, qualificationKind As QualificationKind, Optional hasErrors As Boolean = False) 2648Private ReadOnly _ReceiverOpt As BoundExpression 2649Public ReadOnly Property ReceiverOpt As BoundExpression 2666Public 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) 2711Public Function Update(typeArgumentsOpt As BoundTypeArguments, methods As ImmutableArray(Of MethodSymbol), pendingExtensionMethodsOpt As ExtensionMethodGroup, resultKind As LookupResultKind, receiverOpt As BoundExpression, qualificationKind As QualificationKind) As BoundMethodGroup 2724Public Sub New(syntax As SyntaxNode, properties As ImmutableArray(Of PropertySymbol), resultKind As LookupResultKind, receiverOpt As BoundExpression, qualificationKind As QualificationKind, Optional hasErrors As Boolean = False) 2753Public Function Update(properties As ImmutableArray(Of PropertySymbol), resultKind As LookupResultKind, receiverOpt As BoundExpression, qualificationKind As QualificationKind) As BoundPropertyGroup 2766Public Sub New(syntax As SyntaxNode, expressionOpt As BoundExpression, functionLocalOpt As LocalSymbol, exitLabelOpt As LabelSymbol, Optional hasErrors As Boolean = False) 2779Private ReadOnly _ExpressionOpt As BoundExpression 2780Public ReadOnly Property ExpressionOpt As BoundExpression 2805Public Function Update(expressionOpt As BoundExpression, functionLocalOpt As LocalSymbol, exitLabelOpt As LabelSymbol) As BoundReturnStatement 2818Public Sub New(syntax As SyntaxNode, expression As BoundExpression, Optional hasErrors As Boolean = False) 2832Private ReadOnly _Expression As BoundExpression 2833Public ReadOnly Property Expression As BoundExpression 2844Public Function Update(expression As BoundExpression) As BoundYieldStatement 2857Public Sub New(syntax As SyntaxNode, expressionOpt As BoundExpression, Optional hasErrors As Boolean = False) 2863Private ReadOnly _ExpressionOpt As BoundExpression 2864Public ReadOnly Property ExpressionOpt As BoundExpression 2875Public Function Update(expressionOpt As BoundExpression) As BoundThrowStatement 2922Public Sub New(syntax As SyntaxNode, operand As BoundExpression, indices As ImmutableArray(Of BoundExpression), arrayTypeOpt As ArrayTypeSymbol, preserve As Boolean, Optional hasErrors As Boolean = False) 2940Private ReadOnly _Operand As BoundExpression 2941Public ReadOnly Property Operand As BoundExpression 2947Private ReadOnly _Indices As ImmutableArray(Of BoundExpression) 2948Public ReadOnly Property Indices As ImmutableArray(Of BoundExpression) 2973Public Function Update(operand As BoundExpression, indices As ImmutableArray(Of BoundExpression), arrayTypeOpt As ArrayTypeSymbol, preserve As Boolean) As BoundRedimClause 3020Public 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) 3057Private ReadOnly _ReceiverOpt As BoundExpression 3058Public ReadOnly Property ReceiverOpt As BoundExpression 3064Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression) 3065Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression) 3104Public 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 3117Public 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) 3139Private ReadOnly _ConstructorArguments As ImmutableArray(Of BoundExpression) 3140Public ReadOnly Property ConstructorArguments As ImmutableArray(Of BoundExpression) 3153Private ReadOnly _NamedArguments As ImmutableArray(Of BoundExpression) 3154Public ReadOnly Property NamedArguments As ImmutableArray(Of BoundExpression) 3172Public 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 3185Public 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) 3217Private ReadOnly _ReceiverOpt As BoundExpression 3218Public ReadOnly Property ReceiverOpt As BoundExpression 3243Public Function Update(nameOpt As String, containerTypeOpt As TypeSymbol, receiverOpt As BoundExpression, typeArgumentsOpt As BoundTypeArguments, accessKind As LateBoundAccessKind, type As TypeSymbol) As BoundLateMemberAccess 3256Public 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) 3275Private ReadOnly _Member As BoundExpression 3276Public ReadOnly Property Member As BoundExpression 3282Private ReadOnly _ArgumentsOpt As ImmutableArray(Of BoundExpression) 3283Public ReadOnly Property ArgumentsOpt As ImmutableArray(Of BoundExpression) 3315Public 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 3371Protected Sub New(kind As BoundKind, syntax as SyntaxNode, arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False) 3380Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression) 3381Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression) 3391Public 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) 3428Public 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 3441Public Sub New(syntax As SyntaxNode, naturalTypeOpt As TypeSymbol, arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False) 3463Public Function Update(naturalTypeOpt As TypeSymbol, arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundConvertedTupleLiteral 3501Public 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) 3533Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression) 3534Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression) 3552Public Function Update(constructorOpt As MethodSymbol, methodGroupOpt As BoundMethodGroup, arguments As ImmutableArray(Of BoundExpression), defaultArguments As BitVector, initializerOpt As BoundObjectInitializerExpressionBase, type As TypeSymbol) As BoundObjectCreationExpression 3599Public 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) 3625Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression) 3626Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression) 3637Public Function Update(binderOpt As Binder.AnonymousTypeCreationBinder, declarations As ImmutableArray(Of BoundAnonymousTypePropertyAccess), arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundAnonymousTypeCreationExpression 3701Public Sub New(syntax As SyntaxNode, binder As Binder.AnonymousTypeFieldInitializerBinder, value As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 3719Private ReadOnly _Value As BoundExpression 3720Public ReadOnly Property Value As BoundExpression 3731Public Function Update(binder As Binder.AnonymousTypeFieldInitializerBinder, value As BoundExpression, type As TypeSymbol) As BoundAnonymousTypeFieldInitializer 3744Protected Sub New(kind As BoundKind, syntax as SyntaxNode, placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False) 3761Private ReadOnly _Initializers As ImmutableArray(Of BoundExpression) 3762Public ReadOnly Property Initializers As ImmutableArray(Of BoundExpression) 3772Public Sub New(syntax As SyntaxNode, createTemporaryLocalForInitialization As Boolean, placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False) 3798Public Function Update(createTemporaryLocalForInitialization As Boolean, placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundObjectInitializerExpression 3811Public Sub New(syntax As SyntaxNode, placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False) 3829Public Function Update(placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundCollectionInitializerExpression 3873Public 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) 3887Private ReadOnly _ReceiverOpt As BoundExpression 3888Public ReadOnly Property ReceiverOpt As BoundExpression 3927Public Function Update(receiverOpt As BoundExpression, method As MethodSymbol, relaxationLambdaOpt As BoundLambda, relaxationReceiverPlaceholderOpt As BoundRValuePlaceholder, methodGroupOpt As BoundMethodGroup, type As TypeSymbol) As BoundDelegateCreationExpression 3940Public 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) 3966Private ReadOnly _Bounds As ImmutableArray(Of BoundExpression) 3967Public ReadOnly Property Bounds As ImmutableArray(Of BoundExpression) 3999Public Function Update(isParamArrayArgument As Boolean, bounds As ImmutableArray(Of BoundExpression), initializerOpt As BoundArrayInitialization, arrayLiteralOpt As BoundArrayLiteral, arrayLiteralConversion As ConversionKind, type As TypeSymbol) As BoundArrayCreation 4012Public 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) 4050Private ReadOnly _Bounds As ImmutableArray(Of BoundExpression) 4051Public ReadOnly Property Bounds As ImmutableArray(Of BoundExpression) 4076Public Function Update(hasDominantType As Boolean, numberOfCandidates As Integer, inferredType As ArrayTypeSymbol, bounds As ImmutableArray(Of BoundExpression), initializer As BoundArrayInitialization, binder As Binder) As BoundArrayLiteral 4089Public Sub New(syntax As SyntaxNode, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False) 4098Private ReadOnly _Initializers As ImmutableArray(Of BoundExpression) 4099Public ReadOnly Property Initializers As ImmutableArray(Of BoundExpression) 4110Public Function Update(initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundArrayInitialization 4123Public 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) 4142Private ReadOnly _ReceiverOpt As BoundExpression 4143Public ReadOnly Property ReceiverOpt As BoundExpression 4182Public Function Update(receiverOpt As BoundExpression, fieldSymbol As FieldSymbol, isLValue As Boolean, suppressVirtualCalls As Boolean, constantsInProgressOpt As ConstantFieldsInProgress, type As TypeSymbol) As BoundFieldAccess 4195Public 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) 4253Private ReadOnly _ReceiverOpt As BoundExpression 4254Public ReadOnly Property ReceiverOpt As BoundExpression 4260Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression) 4261Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression) 4279Public 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 4292Public Sub New(syntax As SyntaxNode, receiverOpt As BoundExpression, eventSymbol As EventSymbol, type As TypeSymbol, Optional hasErrors As Boolean = False) 4303Private ReadOnly _ReceiverOpt As BoundExpression 4304Public ReadOnly Property ReceiverOpt As BoundExpression 4322Public Function Update(receiverOpt As BoundExpression, eventSymbol As EventSymbol, type As TypeSymbol) As BoundEventAccess 4442Public Sub New(syntax As SyntaxNode, localSymbol As LocalSymbol, declarationInitializerOpt As BoundExpression, identifierInitializerOpt As BoundArrayCreation, initializedByAsNew As Boolean, Optional hasErrors As Boolean = False) 4466Private ReadOnly _DeclarationInitializerOpt As BoundExpression 4467Public ReadOnly Property DeclarationInitializerOpt As BoundExpression 4492Public Function Update(localSymbol As LocalSymbol, declarationInitializerOpt As BoundExpression, identifierInitializerOpt As BoundArrayCreation, initializedByAsNew As Boolean) As BoundLocalDeclaration 4505Public Sub New(syntax As SyntaxNode, localDeclarations As ImmutableArray(Of BoundLocalDeclaration), initializer As BoundExpression, binder As Binder, Optional hasErrors As Boolean = False) 4525Private ReadOnly _Initializer As BoundExpression 4526Public ReadOnly Property Initializer As BoundExpression 4544Public Function Update(localDeclarations As ImmutableArray(Of BoundLocalDeclaration), initializer As BoundExpression, binder As Binder) As BoundAsNewLocalDeclarations 4557Public Sub New(syntax As SyntaxNode, localDeclarations As ImmutableArray(Of BoundLocalDeclarationBase), initializerOpt As BoundExpression, Optional hasErrors As Boolean = False) 4574Private ReadOnly _InitializerOpt As BoundExpression 4575Public ReadOnly Property InitializerOpt As BoundExpression 4586Public Function Update(localDeclarations As ImmutableArray(Of BoundLocalDeclarationBase), initializerOpt As BoundExpression) As BoundDimStatement 4625Protected Sub New(kind As BoundKind, syntax as SyntaxNode, memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder, Optional hasErrors As Boolean = False) 4636Private ReadOnly _MemberAccessExpressionOpt As BoundExpression 4637Public ReadOnly Property MemberAccessExpressionOpt As BoundExpression 4643Private ReadOnly _InitialValue As BoundExpression 4644Public ReadOnly Property InitialValue As BoundExpression 4661Public Sub New(syntax As SyntaxNode, initializedFields As ImmutableArray(Of FieldSymbol), memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder, Optional hasErrors As Boolean = False) 4683Public Function Update(initializedFields As ImmutableArray(Of FieldSymbol), memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder) As BoundFieldInitializer 4696Public Sub New(syntax As SyntaxNode, initializedProperties As ImmutableArray(Of PropertySymbol), memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder, Optional hasErrors As Boolean = False) 4718Public Function Update(initializedProperties As ImmutableArray(Of PropertySymbol), memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder) As BoundPropertyInitializer 4731Public Sub New(syntax As SyntaxNode, parameter As ParameterSymbol, value As BoundExpression, Optional hasErrors As Boolean = False) 4749Private ReadOnly _Value As BoundExpression 4750Public ReadOnly Property Value As BoundExpression 4761Public Function Update(parameter As ParameterSymbol, value As BoundExpression) As BoundParameterEqualsValue 4808Public 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) 4833Private ReadOnly _SideEffects As ImmutableArray(Of BoundExpression) 4834Public ReadOnly Property SideEffects As ImmutableArray(Of BoundExpression) 4840Private ReadOnly _ValueOpt As BoundExpression 4841Public ReadOnly Property ValueOpt As BoundExpression 4852Public Function Update(locals As ImmutableArray(Of LocalSymbol), sideEffects As ImmutableArray(Of BoundExpression), valueOpt As BoundExpression, type As TypeSymbol) As BoundSequence 4865Public Sub New(syntax As SyntaxNode, expression As BoundExpression, Optional hasErrors As Boolean = False) 4874Private ReadOnly _Expression As BoundExpression 4875Public ReadOnly Property Expression As BoundExpression 4886Public Function Update(expression As BoundExpression) As BoundExpressionStatement 4899Public Sub New(syntax As SyntaxNode, condition As BoundExpression, consequence As BoundStatement, alternativeOpt As BoundStatement, Optional hasErrors As Boolean = False) 4911Private ReadOnly _Condition As BoundExpression 4912Public ReadOnly Property Condition As BoundExpression 4937Public Function Update(condition As BoundExpression, consequence As BoundStatement, alternativeOpt As BoundStatement) As BoundIfStatement 5061Public Sub New(syntax As SyntaxNode, caseClauses As ImmutableArray(Of BoundCaseClause), conditionOpt As BoundExpression, Optional hasErrors As Boolean = False) 5078Private ReadOnly _ConditionOpt As BoundExpression 5079Public ReadOnly Property ConditionOpt As BoundExpression 5090Public Function Update(caseClauses As ImmutableArray(Of BoundCaseClause), conditionOpt As BoundExpression) As BoundCaseStatement 5116Protected Sub New(kind As BoundKind, syntax as SyntaxNode, valueOpt As BoundExpression, conditionOpt As BoundExpression, Optional hasErrors As Boolean = False) 5123Private ReadOnly _ValueOpt As BoundExpression 5124Public ReadOnly Property ValueOpt As BoundExpression 5130Private ReadOnly _ConditionOpt As BoundExpression 5131Public ReadOnly Property ConditionOpt As BoundExpression 5141Public Sub New(syntax As SyntaxNode, valueOpt As BoundExpression, conditionOpt As BoundExpression, Optional hasErrors As Boolean = False) 5156Public Function Update(valueOpt As BoundExpression, conditionOpt As BoundExpression) As BoundSimpleCaseClause 5169Public Sub New(syntax As SyntaxNode, lowerBoundOpt As BoundExpression, upperBoundOpt As BoundExpression, lowerBoundConditionOpt As BoundExpression, upperBoundConditionOpt As BoundExpression, Optional hasErrors As Boolean = False) 5183Private ReadOnly _LowerBoundOpt As BoundExpression 5184Public ReadOnly Property LowerBoundOpt As BoundExpression 5190Private ReadOnly _UpperBoundOpt As BoundExpression 5191Public ReadOnly Property UpperBoundOpt As BoundExpression 5197Private ReadOnly _LowerBoundConditionOpt As BoundExpression 5198Public ReadOnly Property LowerBoundConditionOpt As BoundExpression 5204Private ReadOnly _UpperBoundConditionOpt As BoundExpression 5205Public ReadOnly Property UpperBoundConditionOpt As BoundExpression 5216Public Function Update(lowerBoundOpt As BoundExpression, upperBoundOpt As BoundExpression, lowerBoundConditionOpt As BoundExpression, upperBoundConditionOpt As BoundExpression) As BoundRangeCaseClause 5229Public Sub New(syntax As SyntaxNode, operatorKind As BinaryOperatorKind, valueOpt As BoundExpression, conditionOpt As BoundExpression, Optional hasErrors As Boolean = False) 5252Public Function Update(operatorKind As BinaryOperatorKind, valueOpt As BoundExpression, conditionOpt As BoundExpression) As BoundRelationalCaseClause 5304Public 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) 5319Private ReadOnly _TopConditionOpt As BoundExpression 5320Public ReadOnly Property TopConditionOpt As BoundExpression 5326Private ReadOnly _BottomConditionOpt As BoundExpression 5327Public ReadOnly Property BottomConditionOpt As BoundExpression 5359Public 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 5372Public Sub New(syntax As SyntaxNode, condition As BoundExpression, body As BoundStatement, continueLabel As LabelSymbol, exitLabel As LabelSymbol, Optional hasErrors As Boolean = False) 5385Private ReadOnly _Condition As BoundExpression 5386Public ReadOnly Property Condition As BoundExpression 5404Public Function Update(condition As BoundExpression, body As BoundStatement, continueLabel As LabelSymbol, exitLabel As LabelSymbol) As BoundWhileStatement 5417Protected 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) 5439Private ReadOnly _ControlVariable As BoundExpression 5440Public ReadOnly Property ControlVariable As BoundExpression 5453Private ReadOnly _NextVariablesOpt As ImmutableArray(Of BoundExpression) 5454Public ReadOnly Property NextVariablesOpt As ImmutableArray(Of BoundExpression) 5464Public 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) 5516Private ReadOnly _LessThanOrEqual As BoundExpression 5517Public ReadOnly Property LessThanOrEqual As BoundExpression 5523Private ReadOnly _GreaterThanOrEqual As BoundExpression 5524Public ReadOnly Property GreaterThanOrEqual As BoundExpression 5535Public Function Update(leftOperandPlaceholder As BoundRValuePlaceholder, rightOperandPlaceholder As BoundRValuePlaceholder, addition As BoundUserDefinedBinaryOperator, subtraction As BoundUserDefinedBinaryOperator, lessThanOrEqual As BoundExpression, greaterThanOrEqual As BoundExpression) As BoundForToUserDefinedOperators 5548Public 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) 5567Private ReadOnly _InitialValue As BoundExpression 5568Public ReadOnly Property InitialValue As BoundExpression 5574Private ReadOnly _LimitValue As BoundExpression 5575Public ReadOnly Property LimitValue As BoundExpression 5581Private ReadOnly _StepValue As BoundExpression 5582Public ReadOnly Property StepValue As BoundExpression 5607Public 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 5620Public 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) 5635Private ReadOnly _Collection As BoundExpression 5636Public ReadOnly Property Collection As BoundExpression 5654Public 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 5810Public 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) 5831Private ReadOnly _ExceptionSourceOpt As BoundExpression 5832Public ReadOnly Property ExceptionSourceOpt As BoundExpression 5838Private ReadOnly _ErrorLineNumberOpt As BoundExpression 5839Public ReadOnly Property ErrorLineNumberOpt As BoundExpression 5845Private ReadOnly _ExceptionFilterOpt As BoundExpression 5846Public ReadOnly Property ExceptionFilterOpt As BoundExpression 5871Public Function Update(localOpt As LocalSymbol, exceptionSourceOpt As BoundExpression, errorLineNumberOpt As BoundExpression, exceptionFilterOpt As BoundExpression, body As BoundBlock, isSynthesizedAsyncCatchAll As Boolean) As BoundCatchBlock 6384Public 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) 6406Private ReadOnly _OriginalArgument As BoundExpression 6407Public ReadOnly Property OriginalArgument As BoundExpression 6413Private ReadOnly _InConversion As BoundExpression 6414Public ReadOnly Property InConversion As BoundExpression 6427Private ReadOnly _OutConversion As BoundExpression 6428Public ReadOnly Property OutConversion As BoundExpression 6446Public Function Update(originalArgument As BoundExpression, inConversion As BoundExpression, inPlaceholder As BoundByRefArgumentPlaceholder, outConversion As BoundExpression, outPlaceholder As BoundRValuePlaceholder, type As TypeSymbol) As BoundByRefArgumentWithCopyBack 6459Public Sub New(syntax As SyntaxNode, originalArgument As BoundExpression, localSymbol As SynthesizedLocal, type As TypeSymbol, Optional hasErrors As Boolean = False) 6475Private ReadOnly _OriginalArgument As BoundExpression 6476Public ReadOnly Property OriginalArgument As BoundExpression 6494Public Function Update(originalArgument As BoundExpression, localSymbol As SynthesizedLocal, type As TypeSymbol) As BoundLateBoundArgumentSupportingAssignmentWithCapture 6667Public Sub New(syntax As SyntaxNode, condition As BoundExpression, jumpIfTrue As Boolean, label As LabelSymbol, Optional hasErrors As Boolean = False) 6679Private ReadOnly _Condition As BoundExpression 6680Public ReadOnly Property Condition As BoundExpression 6705Public Function Update(condition As BoundExpression, jumpIfTrue As Boolean, label As LabelSymbol) As BoundConditionalGoto 6718Public Sub New(syntax As SyntaxNode, originalExpression As BoundExpression, body As BoundBlock, binder As WithBlockBinder, Optional hasErrors As Boolean = False) 6731Private ReadOnly _OriginalExpression As BoundExpression 6732Public ReadOnly Property OriginalExpression As BoundExpression 6757Public Function Update(originalExpression As BoundExpression, body As BoundBlock, binder As WithBlockBinder) As BoundWithStatement 6993Public Sub New(syntax As SyntaxNode, expression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 7003Private ReadOnly _Expression As BoundExpression 7004Public ReadOnly Property Expression As BoundExpression 7015Public Function Update(expression As BoundExpression, type As TypeSymbol) As BoundQuerySource 7166Public 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) 7179Private ReadOnly _UnderlyingExpression As BoundExpression 7180Public ReadOnly Property UnderlyingExpression As BoundExpression 7191Public Function Update(underlyingExpression As BoundExpression, rangeVariables As ImmutableArray(Of RangeVariableSymbol), compoundVariableType As TypeSymbol, binders As ImmutableArray(Of Binder), type As TypeSymbol) As BoundQueryClause 7204Public Sub New(syntax As SyntaxNode, underlyingExpression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 7214Private ReadOnly _UnderlyingExpression As BoundExpression 7215Public ReadOnly Property UnderlyingExpression As BoundExpression 7226Public Function Update(underlyingExpression As BoundExpression, type As TypeSymbol) As BoundOrdering 7239Public Sub New(syntax As SyntaxNode, lambdaSymbol As SynthesizedLambdaSymbol, rangeVariables As ImmutableArray(Of RangeVariableSymbol), expression As BoundExpression, exprIsOperandOfConditionalBranch As Boolean, Optional hasErrors As Boolean = False) 7267Private ReadOnly _Expression As BoundExpression 7268Public ReadOnly Property Expression As BoundExpression 7286Public Function Update(lambdaSymbol As SynthesizedLambdaSymbol, rangeVariables As ImmutableArray(Of RangeVariableSymbol), expression As BoundExpression, exprIsOperandOfConditionalBranch As Boolean) As BoundQueryLambda 7299Public Sub New(syntax As SyntaxNode, rangeVariable As RangeVariableSymbol, value As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 7318Private ReadOnly _Value As BoundExpression 7319Public ReadOnly Property Value As BoundExpression 7330Public Function Update(rangeVariable As RangeVariableSymbol, value As BoundExpression, type As TypeSymbol) As BoundRangeVariableAssignment 7407Public 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) 7436Private ReadOnly _UnderlyingExpression As BoundExpression 7437Public ReadOnly Property UnderlyingExpression As BoundExpression 7448Public 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 7461Public Sub New(syntax As SyntaxNode, group As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 7471Private ReadOnly _Group As BoundExpression 7472Public ReadOnly Property Group As BoundExpression 7483Public Function Update(group As BoundExpression, type As TypeSymbol) As BoundGroupAggregation 7540Protected Sub New(kind As BoundKind, syntax as SyntaxNode, eventAccess As BoundExpression, handler As BoundExpression, Optional hasErrors As Boolean = False) 7551Private ReadOnly _EventAccess As BoundExpression 7552Public ReadOnly Property EventAccess As BoundExpression 7558Private ReadOnly _Handler As BoundExpression 7559Public ReadOnly Property Handler As BoundExpression 7569Public Sub New(syntax As SyntaxNode, eventAccess As BoundExpression, handler As BoundExpression, Optional hasErrors As Boolean = False) 7583Public Function Update(eventAccess As BoundExpression, handler As BoundExpression) As BoundAddHandlerStatement 7596Public Sub New(syntax As SyntaxNode, eventAccess As BoundExpression, handler As BoundExpression, Optional hasErrors As Boolean = False) 7610Public Function Update(eventAccess As BoundExpression, handler As BoundExpression) As BoundRemoveHandlerStatement 7623Public Sub New(syntax As SyntaxNode, eventSymbol As EventSymbol, eventInvocation As BoundExpression, Optional hasErrors As Boolean = False) 7641Private ReadOnly _EventInvocation As BoundExpression 7642Public ReadOnly Property EventInvocation As BoundExpression 7653Public Function Update(eventSymbol As EventSymbol, eventInvocation As BoundExpression) As BoundRaiseEventStatement 7666Public 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) 7688Private ReadOnly _ResourceExpressionOpt As BoundExpression 7689Public ReadOnly Property ResourceExpressionOpt As BoundExpression 7721Public Function Update(resourceList As ImmutableArray(Of BoundLocalDeclarationBase), resourceExpressionOpt As BoundExpression, body As BoundBlock, usingInfo As UsingInfo, locals As ImmutableArray(Of LocalSymbol)) As BoundUsingStatement 7734Public Sub New(syntax As SyntaxNode, lockExpression As BoundExpression, body As BoundBlock, Optional hasErrors As Boolean = False) 7745Private ReadOnly _LockExpression As BoundExpression 7746Public ReadOnly Property LockExpression As BoundExpression 7764Public Function Update(lockExpression As BoundExpression, body As BoundBlock) As BoundSyncLockStatement 7777Public Sub New(syntax As SyntaxNode, xmlNamespace As BoundExpression, localName As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 7791Private ReadOnly _XmlNamespace As BoundExpression 7792Public ReadOnly Property XmlNamespace As BoundExpression 7798Private ReadOnly _LocalName As BoundExpression 7799Public ReadOnly Property LocalName As BoundExpression 7805Private ReadOnly _ObjectCreation As BoundExpression 7806Public ReadOnly Property ObjectCreation As BoundExpression 7817Public Function Update(xmlNamespace As BoundExpression, localName As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlName 7830Public Sub New(syntax As SyntaxNode, xmlNamespace As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 7842Private ReadOnly _XmlNamespace As BoundExpression 7843Public ReadOnly Property XmlNamespace As BoundExpression 7849Private ReadOnly _ObjectCreation As BoundExpression 7850Public ReadOnly Property ObjectCreation As BoundExpression 7861Public Function Update(xmlNamespace As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlNamespace 7874Public Sub New(syntax As SyntaxNode, declaration As BoundExpression, childNodes As ImmutableArray(Of BoundExpression), rewriterInfo As BoundXmlContainerRewriterInfo, type As TypeSymbol, Optional hasErrors As Boolean = False) 7888Private ReadOnly _Declaration As BoundExpression 7889Public ReadOnly Property Declaration As BoundExpression 7895Private ReadOnly _ChildNodes As ImmutableArray(Of BoundExpression) 7896Public ReadOnly Property ChildNodes As ImmutableArray(Of BoundExpression) 7914Public Function Update(declaration As BoundExpression, childNodes As ImmutableArray(Of BoundExpression), rewriterInfo As BoundXmlContainerRewriterInfo, type As TypeSymbol) As BoundXmlDocument 7927Public 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) 7940Private ReadOnly _Version As BoundExpression 7941Public ReadOnly Property Version As BoundExpression 7947Private ReadOnly _Encoding As BoundExpression 7948Public ReadOnly Property Encoding As BoundExpression 7954Private ReadOnly _Standalone As BoundExpression 7955Public ReadOnly Property Standalone As BoundExpression 7961Private ReadOnly _ObjectCreation As BoundExpression 7962Public ReadOnly Property ObjectCreation As BoundExpression 7973Public Function Update(version As BoundExpression, encoding As BoundExpression, standalone As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlDeclaration 7986Public Sub New(syntax As SyntaxNode, target As BoundExpression, data As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 8000Private ReadOnly _Target As BoundExpression 8001Public ReadOnly Property Target As BoundExpression 8007Private ReadOnly _Data As BoundExpression 8008Public ReadOnly Property Data As BoundExpression 8014Private ReadOnly _ObjectCreation As BoundExpression 8015Public ReadOnly Property ObjectCreation As BoundExpression 8026Public Function Update(target As BoundExpression, data As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlProcessingInstruction 8039Public Sub New(syntax As SyntaxNode, value As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 8051Private ReadOnly _Value As BoundExpression 8052Public ReadOnly Property Value As BoundExpression 8058Private ReadOnly _ObjectCreation As BoundExpression 8059Public ReadOnly Property ObjectCreation As BoundExpression 8070Public Function Update(value As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlComment 8083Public 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) 8103Private ReadOnly _Name As BoundExpression 8104Public ReadOnly Property Name As BoundExpression 8110Private ReadOnly _Value As BoundExpression 8111Public ReadOnly Property Value As BoundExpression 8124Private ReadOnly _ObjectCreation As BoundExpression 8125Public ReadOnly Property ObjectCreation As BoundExpression 8136Public Function Update(name As BoundExpression, value As BoundExpression, matchesImport As Boolean, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlAttribute 8149Public Sub New(syntax As SyntaxNode, argument As BoundExpression, childNodes As ImmutableArray(Of BoundExpression), rewriterInfo As BoundXmlContainerRewriterInfo, type As TypeSymbol, Optional hasErrors As Boolean = False) 8163Private ReadOnly _Argument As BoundExpression 8164Public ReadOnly Property Argument As BoundExpression 8170Private ReadOnly _ChildNodes As ImmutableArray(Of BoundExpression) 8171Public ReadOnly Property ChildNodes As ImmutableArray(Of BoundExpression) 8189Public Function Update(argument As BoundExpression, childNodes As ImmutableArray(Of BoundExpression), rewriterInfo As BoundXmlContainerRewriterInfo, type As TypeSymbol) As BoundXmlElement 8202Public Sub New(syntax As SyntaxNode, memberAccess As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 8212Private ReadOnly _MemberAccess As BoundExpression 8213Public ReadOnly Property MemberAccess As BoundExpression 8224Public Function Update(memberAccess As BoundExpression, type As TypeSymbol) As BoundXmlMemberAccess 8237Public Sub New(syntax As SyntaxNode, expression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 8247Private ReadOnly _Expression As BoundExpression 8248Public ReadOnly Property Expression As BoundExpression 8259Public Function Update(expression As BoundExpression, type As TypeSymbol) As BoundXmlEmbeddedExpression 8272Public Sub New(syntax As SyntaxNode, value As BoundLiteral, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 8291Private ReadOnly _ObjectCreation As BoundExpression 8292Public ReadOnly Property ObjectCreation As BoundExpression 8303Public Function Update(value As BoundLiteral, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlCData 8316Public Sub New(syntax As SyntaxNode, resumeKind As ResumeStatementKind, labelOpt As LabelSymbol, labelExpressionOpt As BoundExpression, Optional hasErrors As Boolean = False) 8343Private ReadOnly _LabelExpressionOpt As BoundExpression 8344Public ReadOnly Property LabelExpressionOpt As BoundExpression 8355Public Function Update(resumeKind As ResumeStatementKind, labelOpt As LabelSymbol, labelExpressionOpt As BoundExpression) As BoundResumeStatement 8368Public Sub New(syntax As SyntaxNode, onErrorKind As OnErrorStatementKind, labelOpt As LabelSymbol, labelExpressionOpt As BoundExpression, Optional hasErrors As Boolean = False) 8395Private ReadOnly _LabelExpressionOpt As BoundExpression 8396Public ReadOnly Property LabelExpressionOpt As BoundExpression 8407Public Function Update(onErrorKind As OnErrorStatementKind, labelOpt As LabelSymbol, labelExpressionOpt As BoundExpression) As BoundOnErrorStatement 8540Public Sub New(syntax As SyntaxNode, value As BoundExpression, jumps As ImmutableArray(Of BoundGotoStatement), Optional hasErrors As Boolean = False) 8556Private ReadOnly _Value As BoundExpression 8557Public ReadOnly Property Value As BoundExpression 8575Public Function Update(value As BoundExpression, jumps As ImmutableArray(Of BoundGotoStatement)) As BoundUnstructuredExceptionOnErrorSwitch 8654Public 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) 8679Private ReadOnly _Operand As BoundExpression 8680Public ReadOnly Property Operand As BoundExpression 8693Private ReadOnly _GetAwaiter As BoundExpression 8694Public ReadOnly Property GetAwaiter As BoundExpression 8707Private ReadOnly _IsCompleted As BoundExpression 8708Public ReadOnly Property IsCompleted As BoundExpression 8714Private ReadOnly _GetResult As BoundExpression 8715Public ReadOnly Property GetResult As BoundExpression 8726Public 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 8739Public 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) 8779Private ReadOnly _ValueOpt As BoundExpression 8780Public ReadOnly Property ValueOpt As BoundExpression 8791Public 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 8840Public 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) 8860Private ReadOnly _Original As BoundExpression 8861Public ReadOnly Property Original As BoundExpression 8867Private ReadOnly _Start As BoundExpression 8868Public ReadOnly Property Start As BoundExpression 8874Private ReadOnly _LengthOpt As BoundExpression 8875Public ReadOnly Property LengthOpt As BoundExpression 8881Private ReadOnly _Source As BoundExpression 8882Public ReadOnly Property Source As BoundExpression 8893Public Function Update(original As BoundExpression, start As BoundExpression, lengthOpt As BoundExpression, source As BoundExpression, type As TypeSymbol) As BoundMidResult 8906Public Sub New(syntax As SyntaxNode, receiver As BoundExpression, placeholder As BoundRValuePlaceholder, accessExpression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 8919Private ReadOnly _Receiver As BoundExpression 8920Public ReadOnly Property Receiver As BoundExpression 8933Private ReadOnly _AccessExpression As BoundExpression 8934Public ReadOnly Property AccessExpression As BoundExpression 8945Public Function Update(receiver As BoundExpression, placeholder As BoundRValuePlaceholder, accessExpression As BoundExpression, type As TypeSymbol) As BoundConditionalAccess 9016Public Sub New(syntax As SyntaxNode, receiver As BoundExpression, captureReceiver As Boolean, placeholderId As Integer, whenNotNull As BoundExpression, whenNullOpt As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 9036Private ReadOnly _Receiver As BoundExpression 9037Public ReadOnly Property Receiver As BoundExpression 9057Private ReadOnly _WhenNotNull As BoundExpression 9058Public ReadOnly Property WhenNotNull As BoundExpression 9064Private ReadOnly _WhenNullOpt As BoundExpression 9065Public ReadOnly Property WhenNullOpt As BoundExpression 9076Public Function Update(receiver As BoundExpression, captureReceiver As Boolean, placeholderId As Integer, whenNotNull As BoundExpression, whenNullOpt As BoundExpression, type As TypeSymbol) As BoundLoweredConditionalAccess 9089Public Sub New(syntax As SyntaxNode, valueTypeReceiver As BoundExpression, referenceTypeReceiver As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 9106Private ReadOnly _ValueTypeReceiver As BoundExpression 9107Public ReadOnly Property ValueTypeReceiver As BoundExpression 9113Private ReadOnly _ReferenceTypeReceiver As BoundExpression 9114Public ReadOnly Property ReferenceTypeReceiver As BoundExpression 9125Public Function Update(valueTypeReceiver As BoundExpression, referenceTypeReceiver As BoundExpression, type As TypeSymbol) As BoundComplexConditionalAccessReceiver 9138Public Sub New(syntax As SyntaxNode, argument As BoundExpression, constantValueOpt As ConstantValue, type As TypeSymbol, Optional hasErrors As Boolean = False) 9154Private ReadOnly _Argument As BoundExpression 9155Public ReadOnly Property Argument As BoundExpression 9173Public Function Update(argument As BoundExpression, constantValueOpt As ConstantValue, type As TypeSymbol) As BoundNameOfOperator 9226Public Sub New(syntax As SyntaxNode, contents As ImmutableArray(Of BoundNode), constructionOpt As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False) 9249Private ReadOnly _ConstructionOpt As BoundExpression 9250Public ReadOnly Property ConstructionOpt As BoundExpression 9261Public Function Update(contents As ImmutableArray(Of BoundNode), constructionOpt As BoundExpression, type As TypeSymbol) As BoundInterpolatedStringExpression 9274Public Sub New(syntax As SyntaxNode, expression As BoundExpression, alignmentOpt As BoundExpression, formatStringOpt As BoundLiteral, Optional hasErrors As Boolean = False) 9285Private ReadOnly _Expression As BoundExpression 9286Public ReadOnly Property Expression As BoundExpression 9292Private ReadOnly _AlignmentOpt As BoundExpression 9293Public ReadOnly Property AlignmentOpt As BoundExpression 9311Public Function Update(expression As BoundExpression, alignmentOpt As BoundExpression, formatStringOpt As BoundLiteral) As BoundInterpolation 12050Dim underlyingLValue As BoundExpression = DirectCast(Me.Visit(node.UnderlyingLValue), BoundExpression) 12081Dim childBoundNodes As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ChildBoundNodes) 12092Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression) 12098Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression) 12104Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression) 12105Dim indices As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Indices) 12111Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression) 12133Dim unevaluatedReceiverOpt As BoundExpression = node.UnevaluatedReceiverOpt 12144Dim unevaluatedReceiverOpt As BoundExpression = DirectCast(Me.Visit(node.UnevaluatedReceiverOpt), BoundExpression) 12180Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression) 12186Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression) 12192Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression) 12198Dim left As BoundExpression = DirectCast(Me.Visit(node.Left), BoundExpression) 12199Dim right As BoundExpression = DirectCast(Me.Visit(node.Right), BoundExpression) 12205Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression) 12211Dim leftOperand As BoundExpression = DirectCast(Me.Visit(node.LeftOperand), BoundExpression) 12213Dim leftTest As BoundExpression = DirectCast(Me.Visit(node.LeftTest), BoundExpression) 12225Dim left As BoundExpression = DirectCast(Me.Visit(node.Left), BoundExpression) 12227Dim right As BoundExpression = DirectCast(Me.Visit(node.Right), BoundExpression) 12234Dim lValue As BoundExpression = DirectCast(Me.Visit(node.LValue), BoundExpression) 12246Dim condition As BoundExpression = DirectCast(Me.Visit(node.Condition), BoundExpression) 12247Dim whenTrue As BoundExpression = DirectCast(Me.Visit(node.WhenTrue), BoundExpression) 12248Dim whenFalse As BoundExpression = DirectCast(Me.Visit(node.WhenFalse), BoundExpression) 12254Dim testExpression As BoundExpression = DirectCast(Me.Visit(node.TestExpression), BoundExpression) 12255Dim convertedTestExpression As BoundExpression = node.ConvertedTestExpression 12257Dim elseExpression As BoundExpression = DirectCast(Me.Visit(node.ElseExpression), BoundExpression) 12263Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression) 12277Dim convertedElements As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ConvertedElements) 12282Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression) 12288Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression) 12295Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression) 12302Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression) 12314Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression) 12330Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression) 12336Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression) 12342Dim expressionOpt As BoundExpression = DirectCast(Me.Visit(node.ExpressionOpt), BoundExpression) 12347Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression) 12352Dim expressionOpt As BoundExpression = DirectCast(Me.Visit(node.ExpressionOpt), BoundExpression) 12362Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression) 12363Dim indices As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Indices) 12374Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression) 12375Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments) 12381Dim constructorArguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ConstructorArguments) 12382Dim namedArguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.NamedArguments) 12388Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression) 12396Dim member As BoundExpression = DirectCast(Me.Visit(node.Member), BoundExpression) 12397Dim argumentsOpt As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ArgumentsOpt) 12410Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments) 12416Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments) 12424Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments) 12438Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments) 12449Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression) 12456Dim initializers As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Initializers) 12463Dim initializers As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Initializers) 12475Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression) 12484Dim bounds As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Bounds) 12492Dim bounds As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Bounds) 12499Dim initializers As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Initializers) 12505Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression) 12512Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression) 12513Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments) 12519Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression) 12535Dim declarationInitializerOpt As BoundExpression = DirectCast(Me.Visit(node.DeclarationInitializerOpt), BoundExpression) 12542Dim initializer As BoundExpression = DirectCast(Me.Visit(node.Initializer), BoundExpression) 12548Dim initializerOpt As BoundExpression = DirectCast(Me.Visit(node.InitializerOpt), BoundExpression) 12557Dim memberAccessExpressionOpt As BoundExpression = DirectCast(Me.Visit(node.MemberAccessExpressionOpt), BoundExpression) 12558Dim initialValue As BoundExpression = DirectCast(Me.Visit(node.InitialValue), BoundExpression) 12563Dim memberAccessExpressionOpt As BoundExpression = DirectCast(Me.Visit(node.MemberAccessExpressionOpt), BoundExpression) 12564Dim initialValue As BoundExpression = DirectCast(Me.Visit(node.InitialValue), BoundExpression) 12569Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression) 12579Dim sideEffects As ImmutableArray(Of BoundExpression) = Me.VisitList(node.SideEffects) 12580Dim valueOpt As BoundExpression = DirectCast(Me.Visit(node.ValueOpt), BoundExpression) 12586Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression) 12591Dim condition As BoundExpression = DirectCast(Me.Visit(node.Condition), BoundExpression) 12612Dim conditionOpt As BoundExpression = DirectCast(Me.Visit(node.ConditionOpt), BoundExpression) 12617Dim valueOpt As BoundExpression = DirectCast(Me.Visit(node.ValueOpt), BoundExpression) 12618Dim conditionOpt As BoundExpression = DirectCast(Me.Visit(node.ConditionOpt), BoundExpression) 12623Dim lowerBoundOpt As BoundExpression = DirectCast(Me.Visit(node.LowerBoundOpt), BoundExpression) 12624Dim upperBoundOpt As BoundExpression = DirectCast(Me.Visit(node.UpperBoundOpt), BoundExpression) 12625Dim lowerBoundConditionOpt As BoundExpression = DirectCast(Me.Visit(node.LowerBoundConditionOpt), BoundExpression) 12626Dim upperBoundConditionOpt As BoundExpression = DirectCast(Me.Visit(node.UpperBoundConditionOpt), BoundExpression) 12631Dim valueOpt As BoundExpression = DirectCast(Me.Visit(node.ValueOpt), BoundExpression) 12632Dim conditionOpt As BoundExpression = DirectCast(Me.Visit(node.ConditionOpt), BoundExpression) 12637Dim topConditionOpt As BoundExpression = DirectCast(Me.Visit(node.TopConditionOpt), BoundExpression) 12638Dim bottomConditionOpt As BoundExpression = DirectCast(Me.Visit(node.BottomConditionOpt), BoundExpression) 12644Dim condition As BoundExpression = DirectCast(Me.Visit(node.Condition), BoundExpression) 12654Dim lessThanOrEqual As BoundExpression = DirectCast(Me.Visit(node.LessThanOrEqual), BoundExpression) 12655Dim greaterThanOrEqual As BoundExpression = DirectCast(Me.Visit(node.GreaterThanOrEqual), BoundExpression) 12660Dim initialValue As BoundExpression = DirectCast(Me.Visit(node.InitialValue), BoundExpression) 12661Dim limitValue As BoundExpression = DirectCast(Me.Visit(node.LimitValue), BoundExpression) 12662Dim stepValue As BoundExpression = DirectCast(Me.Visit(node.StepValue), BoundExpression) 12664Dim controlVariable As BoundExpression = DirectCast(Me.Visit(node.ControlVariable), BoundExpression) 12666Dim nextVariablesOpt As ImmutableArray(Of BoundExpression) = Me.VisitList(node.NextVariablesOpt) 12671Dim collection As BoundExpression = DirectCast(Me.Visit(node.Collection), BoundExpression) 12672Dim controlVariable As BoundExpression = DirectCast(Me.Visit(node.ControlVariable), BoundExpression) 12674Dim nextVariablesOpt As ImmutableArray(Of BoundExpression) = Me.VisitList(node.NextVariablesOpt) 12694Dim exceptionSourceOpt As BoundExpression = DirectCast(Me.Visit(node.ExceptionSourceOpt), BoundExpression) 12695Dim errorLineNumberOpt As BoundExpression = DirectCast(Me.Visit(node.ErrorLineNumberOpt), BoundExpression) 12696Dim exceptionFilterOpt As BoundExpression = DirectCast(Me.Visit(node.ExceptionFilterOpt), BoundExpression) 12757Dim originalArgument As BoundExpression = DirectCast(Me.Visit(node.OriginalArgument), BoundExpression) 12758Dim inConversion As BoundExpression = DirectCast(Me.Visit(node.InConversion), BoundExpression) 12760Dim outConversion As BoundExpression = DirectCast(Me.Visit(node.OutConversion), BoundExpression) 12767Dim originalArgument As BoundExpression = DirectCast(Me.Visit(node.OriginalArgument), BoundExpression) 12792Dim condition As BoundExpression = DirectCast(Me.Visit(node.Condition), BoundExpression) 12797Dim originalExpression As BoundExpression = DirectCast(Me.Visit(node.OriginalExpression), BoundExpression) 12821Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression) 12840Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression) 12847Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression) 12853Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression) 12859Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression) 12872Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression) 12879Dim group As BoundExpression = DirectCast(Me.Visit(node.Group), BoundExpression) 12890Dim eventAccess As BoundExpression = DirectCast(Me.Visit(node.EventAccess), BoundExpression) 12891Dim handler As BoundExpression = DirectCast(Me.Visit(node.Handler), BoundExpression) 12896Dim eventAccess As BoundExpression = DirectCast(Me.Visit(node.EventAccess), BoundExpression) 12897Dim handler As BoundExpression = DirectCast(Me.Visit(node.Handler), BoundExpression) 12902Dim eventInvocation As BoundExpression = DirectCast(Me.Visit(node.EventInvocation), BoundExpression) 12908Dim resourceExpressionOpt As BoundExpression = DirectCast(Me.Visit(node.ResourceExpressionOpt), BoundExpression) 12914Dim lockExpression As BoundExpression = DirectCast(Me.Visit(node.LockExpression), BoundExpression) 12920Dim xmlNamespace As BoundExpression = DirectCast(Me.Visit(node.XmlNamespace), BoundExpression) 12921Dim localName As BoundExpression = DirectCast(Me.Visit(node.LocalName), BoundExpression) 12922Dim objectCreation As BoundExpression = node.ObjectCreation 12928Dim xmlNamespace As BoundExpression = DirectCast(Me.Visit(node.XmlNamespace), BoundExpression) 12929Dim objectCreation As BoundExpression = node.ObjectCreation 12935Dim declaration As BoundExpression = DirectCast(Me.Visit(node.Declaration), BoundExpression) 12936Dim childNodes As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ChildNodes) 12942Dim version As BoundExpression = DirectCast(Me.Visit(node.Version), BoundExpression) 12943Dim encoding As BoundExpression = DirectCast(Me.Visit(node.Encoding), BoundExpression) 12944Dim standalone As BoundExpression = DirectCast(Me.Visit(node.Standalone), BoundExpression) 12945Dim objectCreation As BoundExpression = node.ObjectCreation 12951Dim target As BoundExpression = DirectCast(Me.Visit(node.Target), BoundExpression) 12952Dim data As BoundExpression = DirectCast(Me.Visit(node.Data), BoundExpression) 12953Dim objectCreation As BoundExpression = node.ObjectCreation 12959Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression) 12960Dim objectCreation As BoundExpression = node.ObjectCreation 12966Dim name As BoundExpression = DirectCast(Me.Visit(node.Name), BoundExpression) 12967Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression) 12968Dim objectCreation As BoundExpression = node.ObjectCreation 12974Dim argument As BoundExpression = DirectCast(Me.Visit(node.Argument), BoundExpression) 12975Dim childNodes As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ChildNodes) 12981Dim memberAccess As BoundExpression = DirectCast(Me.Visit(node.MemberAccess), BoundExpression) 12987Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression) 12994Dim objectCreation As BoundExpression = node.ObjectCreation 13000Dim labelExpressionOpt As BoundExpression = DirectCast(Me.Visit(node.LabelExpressionOpt), BoundExpression) 13005Dim labelExpressionOpt As BoundExpression = DirectCast(Me.Visit(node.LabelExpressionOpt), BoundExpression) 13022Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression) 13036Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression) 13038Dim getAwaiter As BoundExpression = DirectCast(Me.Visit(node.GetAwaiter), BoundExpression) 13040Dim isCompleted As BoundExpression = DirectCast(Me.Visit(node.IsCompleted), BoundExpression) 13041Dim getResult As BoundExpression = DirectCast(Me.Visit(node.GetResult), BoundExpression) 13048Dim valueOpt As BoundExpression = DirectCast(Me.Visit(node.ValueOpt), BoundExpression) 13062Dim original As BoundExpression = DirectCast(Me.Visit(node.Original), BoundExpression) 13063Dim start As BoundExpression = DirectCast(Me.Visit(node.Start), BoundExpression) 13064Dim lengthOpt As BoundExpression = DirectCast(Me.Visit(node.LengthOpt), BoundExpression) 13065Dim source As BoundExpression = DirectCast(Me.Visit(node.Source), BoundExpression) 13071Dim receiver As BoundExpression = DirectCast(Me.Visit(node.Receiver), BoundExpression) 13073Dim accessExpression As BoundExpression = DirectCast(Me.Visit(node.AccessExpression), BoundExpression) 13084Dim receiver As BoundExpression = DirectCast(Me.Visit(node.Receiver), BoundExpression) 13085Dim whenNotNull As BoundExpression = DirectCast(Me.Visit(node.WhenNotNull), BoundExpression) 13086Dim whenNullOpt As BoundExpression = DirectCast(Me.Visit(node.WhenNullOpt), BoundExpression) 13092Dim valueTypeReceiver As BoundExpression = DirectCast(Me.Visit(node.ValueTypeReceiver), BoundExpression) 13093Dim referenceTypeReceiver As BoundExpression = DirectCast(Me.Visit(node.ReferenceTypeReceiver), BoundExpression) 13099Dim argument As BoundExpression = DirectCast(Me.Visit(node.Argument), BoundExpression) 13112Dim constructionOpt As BoundExpression = node.ConstructionOpt 13118Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression) 13119Dim 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 (61)
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 receiver As BoundExpression = DirectCast(Me.Visit(node.Receiver), BoundExpression) 569Dim whenNotNull As BoundExpression = DirectCast(Me.Visit(node.WhenNotNull), BoundExpression) 577Dim whenNullOpt As BoundExpression = DirectCast(Me.Visit(node.WhenNullOpt), BoundExpression) 610Dim nullCheckTarget As BoundExpression 611Dim placeholderReplacement As BoundExpression 623Dim capturedReceiver As BoundExpression 645Dim spilledReferenceReceiver As BoundExpression = SpillRValue(receiver.MakeRValue(), referenceReceiverBuilder) 706whenNotNull = DirectCast(rewriter.Visit(whenNotNull), BoundExpression) 709Dim condition As BoundExpression 760Private ReadOnly _replaceWith As BoundExpression 763Public Sub New(placeholderId As Integer, replaceWith As BoundExpression, recursionDepth As Integer) 815Dim bounds As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Bounds) 851Private Function VisitArrayInitializationParts(node As BoundArrayInitialization) As BoundExpression 854Dim parts As ImmutableArray(Of BoundExpression) = node.Initializers 857Dim rewrittenParts(partCount - 1) As BoundExpression 860Dim part As BoundExpression = parts(index) 881Dim expression As BoundExpression = rewritten.Expression 882Dim indices As ImmutableArray(Of BoundExpression) = rewritten.Indices 890Dim allExpressions = ImmutableArray.Create(Of BoundExpression)(expression).Concat(indices) 902Dim expression As BoundExpression = rewritten.Expression 917Dim operand As BoundExpression = rewritten.Operand 937Dim testExpression As BoundExpression = rewritten.TestExpression 938Dim elseExpression As BoundExpression = rewritten.ElseExpression 962Dim operand As BoundExpression = rewritten.Operand 980Dim 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 (16)
16Private Shared Function ShouldCaptureConditionalAccessReceiver(receiver As BoundExpression) As Boolean 35Dim rewrittenReceiver As BoundExpression = VisitExpressionNode(node.Receiver) 38Dim receiver As BoundExpression 39Dim placeholderReplacement As BoundExpression 44Dim assignment As BoundExpression = Nothing 113Dim whenNotNull As BoundExpression 124Dim whenNull As BoundExpression 140Dim result As BoundExpression 158result = New BoundSequence(node.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray(Of BoundExpression).Empty, Nothing, node.Type) 172Private Shared Function IsConditionalAccess(operand As BoundExpression, <Out> ByRef whenNotNull As BoundExpression, <Out> ByRef whenNull As BoundExpression) As Boolean 197Private 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)
17Dim initializerOpt As BoundExpression = node.InitializerOpt 54Dim rewrittenInitializer As BoundExpression = VisitAndGenerateObjectCloneIfNeeded(initializerOpt) 72rewrittenInitializer As BoundExpression, 217ImmutableArray(Of BoundExpression).Empty, 225ImmutableArray.Create(Of BoundExpression)(flag, newFlagInstance, New BoundLiteral(syntax, ConstantValue.Nothing, flag.Type)), 285ImmutableArray(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)
37Protected ReadOnly PlaceholderReplacementMap As New Dictionary(Of BoundValuePlaceholderBase, BoundExpression) 44Friend MustOverride Function FramePointer(syntax As SyntaxNode, frameClass As NamedTypeSymbol) As BoundExpression 113Dim rewrittenReceiver = DirectCast(Visit(node.ReceiverOpt), BoundExpression) 115Dim arguments As ImmutableArray(Of BoundExpression) = node.Arguments 116Dim newArguments(arguments.Length - 1) As BoundExpression 118newArguments(i) = DirectCast(Visit(arguments(i)), BoundExpression) 133Dim receiverOpt As BoundExpression = node.ReceiverOpt 134Dim rewrittenReceiverOpt As BoundExpression = DirectCast(Visit(receiverOpt), BoundExpression) 136Dim arguments As ImmutableArray(Of BoundExpression) = VisitList(node.Arguments) 155Private Function ShouldRewriteMethodSymbol(originalReceiver As BoundExpression, rewrittenReceiverOpt As BoundExpression, newMethod As MethodSymbol) As Boolean 177Protected MustOverride Function MaterializeProxy(origExpression As BoundExpression, proxy As TProxy) As BoundNode 205Return node.Update(DirectCast(Visit(node.ReceiverOpt), BoundExpression), 218Dim rewrittenReceiver As BoundExpression = rewritten.ReceiverOpt 347prologue As ArrayBuilder(Of BoundExpression), 426Dim prologue = ArrayBuilder(Of BoundExpression).GetInstance 450Dim prologue = ArrayBuilder(Of BoundExpression).GetInstance 457prologue As ArrayBuilder(Of BoundExpression), 478Dim replacement = DirectCast(Me.Visit(s), BoundExpression) 485Dim 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)
564Public ReadOnly DefaultValue As BoundExpression 568Public Sub New(value As BoundExpression, conversion As KeyValuePair(Of ConversionKind, MethodSymbol), dependencies As ImmutableArray(Of AssemblySymbol)) 779Public ReadOnly AsyncLambdaSubToFunctionMismatch As ImmutableArray(Of BoundExpression) 784asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression)) 789ImmutableArray(Of BoundExpression).Empty, 854arguments As ImmutableArray(Of BoundExpression), 893arguments As ImmutableArray(Of BoundExpression), 917arguments As ImmutableArray(Of BoundExpression), 939arguments = ImmutableArray(Of BoundExpression).Empty 961Dim asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression) = Nothing 1056asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression)) As OverloadResolutionResult 1079arguments As ImmutableArray(Of BoundExpression), 1091arguments = ImmutableArray(Of BoundExpression).Empty 1101Dim asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression) = Nothing 1154arguments As ImmutableArray(Of BoundExpression), 1160<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression), 1587arguments As ImmutableArray(Of BoundExpression), 1679arguments As ImmutableArray(Of BoundExpression), 1715arguments As ImmutableArray(Of BoundExpression), 1792arguments As ImmutableArray(Of BoundExpression), 1844arguments As ImmutableArray(Of BoundExpression), 2067arguments As ImmutableArray(Of BoundExpression), 2276arguments As ImmutableArray(Of BoundExpression), 2374argument As BoundExpression, 2491Dim newArgument As BoundExpression = Nothing 2532arguments As ImmutableArray(Of BoundExpression), 2585arguments As ImmutableArray(Of BoundExpression), 2632argument As BoundExpression, 2652Dim newArgument As BoundExpression = Nothing 2688arguments As ImmutableArray(Of BoundExpression), 2947arguments As ImmutableArray(Of BoundExpression), 2951<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression), 3032arguments As ImmutableArray(Of BoundExpression), 3214arguments As ImmutableArray(Of BoundExpression), 3217<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression), 3423Dim defaultArgument As BoundExpression = Nothing 3434Dim receiverOpt As BoundExpression = Nothing 3561argument As BoundExpression, 3566<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression), 3640argument As BoundExpression, 3644<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression), 3669Dim underlying As BoundExpression = argument 3690asyncLambdaSubToFunctionMismatch = New HashSet(Of BoundExpression)(ReferenceEqualityComparer.Instance) 3758Dim passedExpression As BoundExpression = binder.PassArgumentByVal(argument, conv, targetType, BindingDiagnosticBag.Discarded) 3790expression As BoundExpression, 3850arguments As ImmutableArray(Of BoundExpression), 3858<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression), 4057arguments As ImmutableArray(Of BoundExpression), 4145arguments As ImmutableArray(Of BoundExpression), 4152<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression), 4243arguments As ImmutableArray(Of BoundExpression), 4249<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression), 4600arguments As ImmutableArray(Of BoundExpression), 4758argument As BoundExpression, 4799arguments As ImmutableArray(Of BoundExpression), 5253arguments As ImmutableArray(Of BoundExpression), 5257<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
Semantics\TypeInference\TypeArgumentInference.vb (16)
19arguments As ImmutableArray(Of BoundExpression), 31<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression), 413Public ReadOnly Expression As BoundExpression 416Public Sub New(graph As InferenceGraph, expression As BoundExpression, parameterType As TypeSymbol, parameter As ParameterSymbol) 605Public ReadOnly Arguments As ImmutableArray(Of BoundExpression) 616Private _asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression) 623arguments As ImmutableArray(Of BoundExpression), 628asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression), 697arguments As ImmutableArray(Of BoundExpression), 709<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression), 914Dim arguments As ImmutableArray(Of BoundExpression) = Me.Arguments 1019argument As BoundExpression, 1239Private Shared Function ArgumentTypePossiblyMatchesParamarrayShape(argument As BoundExpression, paramType As TypeSymbol) As Boolean 1908argument As BoundExpression, 1979argument As BoundExpression, 2208_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),