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\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,
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_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_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_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_ObjectInitializer.vb (37)
16) As BoundExpression
34Dim boundArguments As ImmutableArray(Of BoundExpression) = Nothing
42Dim boundNodes = ArrayBuilder(Of BoundExpression).GetInstance()
49Dim boundInitializer As BoundExpression =
77) As BoundExpression
122CheckRequiredMembersInObjectInitializer(constructorSymbol, namedType, If(initializerOpt?.Initializers, ImmutableArray(Of BoundExpression).Empty), typeNode, diagnostics)
132arguments:=ImmutableArray(Of BoundExpression).Empty,
141Dim boundArguments As ImmutableArray(Of BoundExpression) = Nothing
165arguments As ImmutableArray(Of BoundExpression),
166diagnostics As BindingDiagnosticBag) As BoundExpression
180boundArguments As ImmutableArray(Of BoundExpression),
182) As ImmutableArray(Of BoundExpression)
197boundArguments As ImmutableArray(Of BoundExpression),
202) As BoundExpression
354Dim resultExpression As BoundExpression
435Dim children = ArrayBuilder(Of BoundExpression).GetInstance()
470Dim argumentInfo As (Arguments As ImmutableArray(Of BoundExpression), DefaultArguments As BitVector) = PassArguments(typeNode, methodResult, boundArguments, diagnostics)
485Dim children = ArrayBuilder(Of BoundExpression).GetInstance()
501CheckRequiredMembersInObjectInitializer(constructorSymbol, constructorSymbol.ContainingType, If(objectInitializerExpressionOpt?.Initializers, ImmutableArray(Of BoundExpression).Empty), typeNode, diagnostics)
523initializers As ImmutableArray(Of BoundExpression),
584boundArguments As ImmutableArray(Of BoundExpression),
587) As BoundExpression
684Dim boundAssignmentValues(initializerCount - 1) As BoundExpression
701Dim memberAssignments = ArrayBuilder(Of BoundExpression).GetInstance
715Dim target As BoundExpression
802Dim assignmentOperator As BoundExpression = BindAssignment(namedFieldInitializer, target, value, diagnostics)
837Dim unusedExpression As BoundExpression = Nothing
906Dim addInvocationExpressions As ImmutableArray(Of BoundExpression)
925Dim addInvocations(initializerCount - 1) As BoundExpression
956) As BoundExpression
958Dim arguments = ArrayBuilder(Of BoundExpression).GetInstance
1019Private ReadOnly _receiver As BoundExpression
1021Public Sub New(containingBinder As Binder, receiver As BoundExpression)
1035) As BoundExpression
1040Protected Friend Overrides Function TryBindOmittedLeftForXmlMemberAccess(node As XmlMemberAccessExpressionSyntax, diagnostics As BindingDiagnosticBag, accessingBinder As Binder) As BoundExpression
1051) As BoundExpression
1056Protected Overrides Function TryBindOmittedLeftForConditionalAccess(node As ConditionalAccessExpressionSyntax, accessingBinder As Binder, diagnostics As BindingDiagnosticBag) As BoundExpression
Binding\Binder_Operators.vb (47)
19) As BoundExpression
25Dim left As BoundExpression = BindExpression(node.Left, diagnostics)
26Dim right As BoundExpression = BindExpression(node.Right, diagnostics)
32left As BoundExpression,
33right As BoundExpression,
37) As BoundExpression
74Dim result As BoundExpression
94targetArgument As BoundExpression,
95otherArgument As BoundExpression,
98) As BoundExpression
101Dim result As BoundExpression
153) As BoundExpression
208Dim left As BoundExpression = BindValue(child, diagnostics, propagateIsOperandOfConditionalBranch)
213Dim right As BoundExpression = BindValue(binary.Right, diagnostics, propagateIsOperandOfConditionalBranch)
228left As BoundExpression,
229right As BoundExpression,
235) As BoundExpression
470Dim beforeConversion As BoundExpression = left
551Dim result As BoundExpression = New BoundBinaryOperator(node, operatorKind Or If(isOperandOfConditionalBranch, BinaryOperatorKind.IsOperandOfConditionalBranch, Nothing),
570Private Function ForceLiftToEmptyString(left As BoundExpression, stringType As TypeSymbol, diagnostics As BindingDiagnosticBag) As BoundExpression
588left As BoundExpression,
589right As BoundExpression,
597Dim result As BoundExpression
608ImmutableArray.Create(Of BoundExpression)(left, right),
618ImmutableArray.Create(Of BoundExpression)(left, right),
654left As BoundExpression,
655right As BoundExpression,
665Dim leftOperand As BoundExpression = Nothing
667Dim test As BoundExpression = Nothing
745Dim argumentInfo As (Arguments As ImmutableArray(Of BoundExpression), DefaultArguments As BitVector) =
746PassArguments(node, bitwiseAnalysis, ImmutableArray.Create(Of BoundExpression)(left, right), diagnostics)
757ImmutableArray.Create(Of BoundExpression)(leftPlaceholder, argumentInfo.Arguments(1)),
797operand As BoundExpression,
812ByRef dbNullOperand As BoundExpression,
927Private Shared Function IsKnownToBeNullableNothing(expr As BoundExpression) As Boolean
961left As BoundExpression,
962right As BoundExpression,
1007ByRef left As BoundExpression,
1008ByRef right As BoundExpression,
1134Private Function BindUnaryOperator(node As UnaryExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
1136Dim operand As BoundExpression = BindValue(node.Operand, diagnostics)
1240operand As BoundExpression,
1246Dim result As BoundExpression
1259ImmutableArray.Create(Of BoundExpression)(operand),
1269ImmutableArray.Create(Of BoundExpression)(operand),
1279operand As BoundExpression,
Binding\Binder_Query.vb (140)
33expression As BoundExpression,
38Friend Overridable Function BindGroupAggregationExpression(group As GroupAggregationSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
45Friend Overridable Function BindFunctionAggregationExpression([function] As FunctionAggregationSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
59) As BoundExpression
229Dim aggregationSelector As BoundExpression = Nothing
246Dim selectors = New BoundExpression(aggregationVariablesCount - 1) {}
261Dim result As BoundExpression = BindAnonymousObjectCreationExpression(aggregate,
324Dim letSelector As BoundExpression = letSelectorBinder.BindAggregateClauseFirstSelector(aggregate, operatorsEnumerator,
343Dim underlyingExpression As BoundExpression
346underlyingExpression = BadExpression(aggregate, ImmutableArray.Create(Of BoundExpression)(source, letSelectorLambda),
358ImmutableArray.Create(Of BoundExpression)(letSelectorLambda),
381firstSelectExpression As BoundExpression,
445Dim compoundKeyReferencePart1 As BoundExpression
447Dim compoundKeyReferencePart2 As BoundExpression
465ImmutableArray(Of BoundExpression).Empty).MakeCompilerGenerated()
483ImmutableArray(Of BoundExpression).Empty).MakeCompilerGenerated()
505ImmutableArray(Of BoundExpression).Empty).MakeCompilerGenerated()
518Dim selectSelector As BoundExpression = intoBinder.BindIntoSelector(aggregate,
538Dim underlyingExpression As BoundExpression
541underlyingExpression = BadExpression(aggregate, ImmutableArray.Create(Of BoundExpression)(letOperator, selectSelectorLambda),
553ImmutableArray.Create(Of BoundExpression)(selectSelectorLambda),
602Dim selector As BoundExpression = New BoundParameter(param.Syntax,
621Dim boundCallOrBadExpression As BoundExpression
624ImmutableArray.Create(Of BoundExpression)(selectorLambda),
668Dim selector As BoundExpression = selectorBinder.BindSelectClauseSelector(clauseSyntax,
682Dim boundCallOrBadExpression As BoundExpression
685boundCallOrBadExpression = BadExpression(clauseSyntax, ImmutableArray.Create(Of BoundExpression)(source, selectorLambda),
695ImmutableArray.Create(Of BoundExpression)(selectorLambda),
805Dim selector As BoundExpression = selectorBinder.BindLetClauseVariableSelector(variable,
819Dim boundCallOrBadExpression As BoundExpression
822boundCallOrBadExpression = BadExpression(variable, ImmutableArray.Create(Of BoundExpression)(source, selectorLambda),
841ImmutableArray.Create(Of BoundExpression)(selectorLambda),
1064Dim joinSelector As BoundExpression
1134Dim boundCallOrBadExpression As BoundExpression
1137boundCallOrBadExpression = BadExpression(variable, ImmutableArray.Create(Of BoundExpression)(source, manySelectorLambda, joinSelectorLambda),
1157ImmutableArray.Create(Of BoundExpression)(manySelectorLambda, joinSelectorLambda),
1458Dim joinSelector As BoundExpression
1516Dim boundCallOrBadExpression As BoundExpression
1519boundCallOrBadExpression = BadExpression(join, ImmutableArray.Create(Of BoundExpression)(outer, inner, outerKeyLambda, innerKeyLambda, joinSelectorLambda),
1534ImmutableArray.Create(Of BoundExpression)(inner, outerKeyLambda, innerKeyLambda, joinSelectorLambda),
1699Dim boundCallOrBadExpression As BoundExpression
1702boundCallOrBadExpression = BadExpression(groupJoin, ImmutableArray.Create(Of BoundExpression)(outer, inner, outerKeyLambda, innerKeyLambda, intoLambda),
1720ImmutableArray.Create(Of BoundExpression)(inner, outerKeyLambda, innerKeyLambda, intoLambda),
1792Dim groupByArguments() As BoundExpression
1805Dim boundCallOrBadExpression As BoundExpression
1809ImmutableArray.Create(Of BoundExpression)(source).AddRange(groupByArguments),
1978Dim groupByArguments() As BoundExpression
2058Dim groupJoinArguments() As BoundExpression = {inner, outerKeyLambda, innerKeyLambda, inferenceLambda}
2132Dim intoSelector As BoundExpression = intoBinder.BindIntoSelector(clauseSyntax,
2325Dim predicate As BoundExpression = filterBinder.BindValue(condition, diagnostics)
2345Dim convertedToBoolean As BoundExpression = filterBinder.ApplyImplicitConversion(condition,
2373Dim boundCallOrBadExpression As BoundExpression
2376boundCallOrBadExpression = BadExpression(operatorSyntax, ImmutableArray.Create(Of BoundExpression)(source, filterLambda),
2386ImmutableArray.Create(Of BoundExpression)(filterLambda),
2413Dim boundCallOrBadExpression As BoundExpression
2422ImmutableArray(Of BoundExpression).Empty,
2478Dim boundCount As BoundExpression = Me.BindValue(partition.Count, diagnostics)
2481Dim boundCallOrBadExpression As BoundExpression
2560Dim key As BoundExpression = keyBinder.BindValue(ordering.Expression, diagnostics)
2570Dim boundCallOrBadExpression As BoundExpression
2573boundCallOrBadExpression = BadExpression(ordering, ImmutableArray.Create(Of BoundExpression)(sourceOrPreviousOrdering, keyLambda),
2607ImmutableArray.Create(Of BoundExpression)(keyLambda),
2690) As BoundExpression
2737) As BoundExpression
2740Dim selector As BoundExpression
2767Dim selectors = New BoundExpression(selectVariables.Count - 1) {}
2813<Out()> ByRef selector As BoundExpression,
2935) As BoundExpression
2938Dim selector As BoundExpression = Nothing
2986) As BoundExpression
3003Dim letSelector As BoundExpression
3034Dim compoundKeyReferencePart1 As BoundExpression
3036Dim compoundKeyReferencePart2 As BoundExpression
3118) As BoundExpression
3125Dim joinSelector As BoundExpression
3179Optional rangeVarValueOpt As BoundExpression = Nothing
3180) As BoundExpression
3185Dim selectors As BoundExpression()
3209selectors = New BoundExpression(lastIndex) {}
3224selectors = New BoundExpression(lastIndex) {}
3293Dim outerKey As BoundExpression
3294Dim innerKey As BoundExpression
3328Dim outerKeys(joinConditions.Count - 1) As BoundExpression
3329Dim innerKeys(joinConditions.Count - 1) As BoundExpression
3393<Out()> ByRef outerKey As BoundExpression,
3396<Out()> ByRef innerKey As BoundExpression,
3419Dim left As BoundExpression = outerKeyBinder.BindRValue(joinCondition.Left, diagnostics)
3439Dim right As BoundExpression = innerKeyBinder.BindRValue(joinCondition.Right, diagnostics)
3524outerKey As BoundExpression,
3527innerKey As BoundExpression,
3649Public Function DetermineTheSide(node As BoundExpression, diagnostics As BindingDiagnosticBag) As Result
3700node As BoundExpression,
3734Protected ReadOnly m_GroupReference As BoundExpression
3741groupReference As BoundExpression,
3756) As BoundExpression
3766compoundKeyReferencePart1 As BoundExpression,
3768compoundKeyReferencePart2 As BoundExpression,
3775) As BoundExpression
3784Dim selectors As BoundExpression()
3793Dim intoSelector As BoundExpression
3803selectors = New BoundExpression(fieldsToReserveForAggregationVariables + 1 - 1) {}
3813selectors = New BoundExpression(fieldsToReserveForAggregationVariables + 2 - 1) {}
3832selectors = New BoundExpression(keys + fieldsToReserveForAggregationVariables - 1) {}
3855Dim selector As BoundExpression = Nothing
3907) As BoundExpression
3929Dim arguments As ImmutableArray(Of BoundExpression)
3933arguments = ImmutableArray(Of BoundExpression).Empty
3948arguments = ImmutableArray.Create(Of BoundExpression)(aggregationLambda)
3952Dim boundCallOrBadExpression As BoundExpression
4011<Out()> ByRef selector As BoundExpression,
4103groupReference As BoundExpression,
4111Friend Overrides Function BindGroupAggregationExpression(group As GroupAggregationSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
4132Dim queryable As BoundExpression = ConvertToQueryableType(source, diagnostics, variableType)
4273Dim selector As BoundExpression = selectorBinder.ApplyImplicitConversion(syntax.AsClause, targetVariableType,
4292Dim boundCallOrBadExpression As BoundExpression
4295ImmutableArray.Create(Of BoundExpression)(selectorLambda),
4320source As BoundExpression,
4323) As BoundExpression
4349Dim result As BoundExpression = Nothing
4353Dim asQueryable As BoundExpression = BindQueryOperatorCall(source.Syntax, source, StringConstants.AsQueryableMethod,
4354ImmutableArray(Of BoundExpression).Empty,
4371Dim asEnumerable As BoundExpression = BindQueryOperatorCall(source.Syntax, source, StringConstants.AsEnumerableMethod,
4372ImmutableArray(Of BoundExpression).Empty,
4392Dim cast As BoundExpression = BindQueryOperatorCall(source.Syntax, source, StringConstants.CastMethod,
4395ImmutableArray(Of BoundExpression).Empty,
4417Private Function InferControlVariableType(source As BoundExpression, diagnostics As BindingDiagnosticBag) As TypeSymbol
4551source As BoundExpression,
4589source As BoundExpression,
4591arguments As ImmutableArray(Of BoundExpression),
4594) As BoundExpression
4606source As BoundExpression,
4609arguments As ImmutableArray(Of BoundExpression),
4612) As BoundExpression
4627source As BoundExpression,
4630arguments As ImmutableArray(Of BoundExpression),
4633) As BoundExpression
4639Dim boundCall As BoundExpression = Nothing
4674Dim arg As BoundExpression = arguments(i)
4689Dim childBoundNodes As ImmutableArray(Of BoundExpression)
4694Dim builder = ArrayBuilder(Of BoundExpression).GetInstance()
Binding\Binder_SelectCase.vb (18)
56Private Function BindSelectExpression(node As ExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
222Dim conditionOpt As BoundExpression = Nothing
223Dim operandE1 As BoundExpression = BindCaseClauseExpression(
252Dim conditionOpt As BoundExpression = Nothing
255Dim value As BoundExpression = BindCaseClauseExpression(
284Dim lowerBoundConditionOpt As BoundExpression = Nothing
287Dim lowerBound As BoundExpression = BindCaseClauseExpression(
298Dim upperBoundConditionOpt As BoundExpression = Nothing
299Dim upperBound As BoundExpression = BindCaseClauseExpression(
319ByRef conditionOpt As BoundExpression,
321) As BoundExpression
323Dim caseExpr As BoundExpression = BindValue(expressionSyntax, diagnostics)
400Dim caseStatementCondition As BoundExpression = Nothing
407Dim clauseCondition As BoundExpression = Nothing
454Private Function ComputeCaseClauseCondition(caseClause As BoundCaseClause, <Out()> ByRef conditionOpt As BoundExpression, selectExpression As BoundRValuePlaceholder, diagnostics As BindingDiagnosticBag) As BoundCaseClause
470Private Function ComputeRelationalCaseClauseCondition(boundClause As BoundRelationalCaseClause, <Out()> ByRef conditionOpt As BoundExpression, selectExpression As BoundRValuePlaceholder, diagnostics As BindingDiagnosticBag) As BoundCaseClause
488Private Function ComputeSimpleCaseClauseCondition(boundClause As BoundSimpleCaseClause, <Out()> ByRef conditionOpt As BoundExpression, selectExpression As BoundRValuePlaceholder, diagnostics As BindingDiagnosticBag) As BoundCaseClause
504Private Function ComputeRangeCaseClauseCondition(boundClause As BoundRangeCaseClause, <Out()> ByRef conditionOpt As BoundExpression, selectExpression As BoundRValuePlaceholder, diagnostics As BindingDiagnosticBag) As BoundCaseClause
Binding\Binder_Statements.vb (121)
438ImmutableArray(Of BoundExpression).Empty,
518If Not _binder.IsInAsyncContext() AndAlso TypeOf node Is BoundExpression Then
729Dim boundIndices As ImmutableArray(Of BoundExpression) = ImmutableArray(Of BoundExpression).Empty
799Dim target As BoundExpression = BindAssignmentTarget(operand, diagnostics)
831Dim boundLabelExpression As BoundExpression = BindExpression(node.Label, diagnostics)
1122Dim declarationInitializer As BoundExpression = Nothing
1124Dim boundArrayBounds As ImmutableArray(Of BoundExpression) = Nothing
1298<Out()> ByRef valueExpression As BoundExpression,
1382Dim inferFrom As BoundExpression = valueExpression
1461<Out()> ByRef fromValueExpression As BoundExpression,
1462<Out()> ByRef toValueExpression As BoundExpression,
1463<Out()> ByRef stepValueExpression As BoundExpression,
1500Dim array = ArrayBuilder(Of BoundExpression).GetInstance(2)
1535<Out()> ByRef collectionExpression As BoundExpression,
1539<Out()> ByRef boundGetEnumeratorCall As BoundExpression,
1541<Out()> ByRef boundMoveNextCall As BoundExpression,
1542<Out()> ByRef boundCurrentAccess As BoundExpression,
1613valueExpression As BoundExpression,
1925Friend Function AdjustAssignmentTarget(node As SyntaxNode, op1 As BoundExpression, diagnostics As BindingDiagnosticBag, ByRef isError As Boolean) As BoundExpression
2005Private Function BindAssignment(node As SyntaxNode, op1 As BoundExpression, op2 As BoundExpression, diagnostics As BindingDiagnosticBag) As BoundAssignmentOperator
2025left As BoundExpression,
2026right As BoundExpression,
2036Dim assignmentTarget As BoundExpression = AdjustAssignmentTarget(node, left, diagnostics, isError)
2038Dim rValue As BoundExpression
2134Dim op1 As BoundExpression = Me.BindAssignmentTarget(node.Left, diagnostics)
2135Dim op2 As BoundExpression = Me.BindValue(node.Right, diagnostics)
2205Dim target As BoundExpression = BindAssignmentTarget(targetSyntax, diagnostics)
2210Dim start As BoundExpression = ApplyImplicitConversion(startSyntax, int32, BindValue(startSyntax, diagnostics), diagnostics)
2212Dim lengthOpt As BoundExpression = Nothing
2223Dim source As BoundExpression = ApplyImplicitConversion(node.Right, stringType, BindValue(node.Right, diagnostics), diagnostics)
2228Dim assignmentTarget As BoundExpression = AdjustAssignmentTarget(targetSyntax, target, diagnostics, isError)
2238Dim original As BoundExpression
2250Dim right As BoundExpression = New BoundMidResult(node,
2271Dim eventAccess As BoundExpression = BindEventAccess(node.EventExpression, diagnostics, actualEventAccess, eventSymbol)
2278Dim toCheck As BoundExpression = handlerExpression
2395<Out()> ByRef eventSymbol As EventSymbol) As BoundExpression
2412Dim errorRecovery As BoundExpression = BindRValue(node, BindingDiagnosticBag.Discarded)
2420Dim result As BoundExpression
2462Dim target As BoundExpression = BindSimpleName(node.Name, False, diagnostics, skipLocalsAndParameters:=True)
2475Dim boundArguments As ImmutableArray(Of BoundExpression) = Nothing
2482Dim receiver As BoundExpression
2612Dim boundExpression As BoundExpression
2632Private Sub WarnOnUnobservedCallThatReturnsAnAwaitable(statement As ExpressionStatementSyntax, boundExpression As BoundExpression, diagnostics As BindingDiagnosticBag)
2705Dim boundExpression As BoundExpression = BindRValue(printStmt.Expression, diagnostics)
2710Dim boundInvocation As BoundExpression = BindInvocationExpressionAsStatement(callStmt.Invocation, diagnostics)
2715Private Function BindInvocationExpressionAsStatement(expression As ExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
2719Friend Function ReclassifyInvocationExpressionAsStatement(boundInvocation As BoundExpression, diagnostics As BindingDiagnosticBag) As BoundExpression
2760Dim condition As BoundExpression
2780Dim conditions As ArrayBuilder(Of BoundExpression) = ArrayBuilder(Of BoundExpression).GetInstance()
2817Dim topCondition As BoundExpression = Nothing
2818Dim bottomCondition As BoundExpression = Nothing
2853Dim condition As BoundExpression = BindBooleanExpression(node.WhileStatement.Condition, diagnostics)
2877Dim controlVariable As BoundExpression = Nothing
2907Dim controlVariable As BoundExpression = Nothing
2909Dim nextVariables As ImmutableArray(Of BoundExpression) = Nothing
2940<Out()> ByRef controlVariable As BoundExpression,
3040<Out()> ByRef nextVariables As ImmutableArray(Of BoundExpression),
3058nextVariables = ImmutableArray(Of BoundExpression).Empty
3067Dim nextVariableBuilder As ArrayBuilder(Of BoundExpression) = ArrayBuilder(Of BoundExpression).GetInstance
3104controlVariableOpt As BoundExpression,
3111Dim initialValue As BoundExpression = Nothing
3112Dim limit As BoundExpression = Nothing
3113Dim stepValue As BoundExpression = Nothing
3210Dim lessThanOrEqual As BoundExpression = BindForLoopUserDefinedOperator(syntax, BinaryOperatorKind.LessThanOrEqual, leftOperandPlaceholder, rightOperandPlaceholder, diagnostics)
3216Dim greaterThanOrEqual As BoundExpression = BindForLoopUserDefinedOperator(syntax, BinaryOperatorKind.GreaterThanOrEqual, leftOperandPlaceholder, rightOperandPlaceholder, diagnostics)
3246Dim nextVariables As ImmutableArray(Of BoundExpression) = Nothing
3272left As BoundExpression,
3273right As BoundExpression,
3357controlVariableOpt As BoundExpression,
3369Dim boundGetEnumeratorCall As BoundExpression = Nothing
3371Dim boundMoveNextCall As BoundExpression = Nothing
3372Dim boundCurrentAccess As BoundExpression = Nothing
3375Dim boundDisposeCondition As BoundExpression = Nothing
3376Dim boundDisposeCast As BoundExpression = Nothing
3378Dim boundCurrentConversion As BoundExpression = Nothing
3381Dim collection As BoundExpression = Nothing
3445Dim boundElement As BoundExpression
3528Dim nextVariables As ImmutableArray(Of BoundExpression) = Nothing
3590<Out()> ByRef controlVariable As BoundExpression,
3627Private Function VerifyForLoopControlReference(controlVariable As BoundExpression, diagnostics As BindingDiagnosticBag) As Boolean
3708collection As BoundExpression,
3712<Out()> ByRef boundGetEnumeratorCall As BoundExpression,
3714<Out()> ByRef boundMoveNextCall As BoundExpression,
3715<Out()> ByRef boundCurrentAccess As BoundExpression,
3720) As BoundExpression
4059collection As BoundExpression,
4061<Out()> ByRef boundGetEnumeratorCall As BoundExpression,
4063<Out()> ByRef boundMoveNextCall As BoundExpression,
4064<Out()> ByRef boundCurrentAccess As BoundExpression,
4221) As BoundExpression
4225ImmutableArray(Of BoundExpression).Empty,
4440Dim resourceExpression As BoundExpression = Nothing
4450Dim placeholderInfo = New Dictionary(Of TypeSymbol, ValueTuple(Of BoundRValuePlaceholder, BoundExpression, BoundExpression))()
4560placeholderInfo As Dictionary(Of TypeSymbol, ValueTuple(Of BoundRValuePlaceholder, BoundExpression, BoundExpression)),
4595placeholderInfo As Dictionary(Of TypeSymbol, ValueTuple(Of BoundRValuePlaceholder, BoundExpression, BoundExpression)),
4614Dim disposeConversion As BoundExpression = Nothing
4615Dim disposeCondition As BoundExpression = Nothing
4626New ValueTuple(Of BoundRValuePlaceholder, BoundExpression, BoundExpression)(
4727Dim lockExpression As BoundExpression = BindRValue(node.SyncLockStatement.Expression, diagnostics)
4786Dim exceptionSource As BoundExpression = Nothing
4787Dim exceptionFilter As BoundExpression = Nothing
4811Dim originalExceptionValue As BoundExpression = exceptionSource
4949Private Function BindBooleanExpression(node As ExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
4951Dim expr As BoundExpression = Me.BindValue(node, diagnostics, isOperandOfConditionalBranch:=True)
5025Dim arg As BoundExpression = Me.BindValue(expressionSyntax, diagnostics)
5032Dim arg As BoundExpression = Nothing
5137Dim arg As BoundExpression = Me.BindValue(expressionSyntax, diagnostics)
5214Dim value As BoundExpression = BindRValue(expressionSyntax, diagnostics)
5235Dim value As BoundExpression = ApplyImplicitConversion(node.ErrorNumber,
5261Dim boundLabelExpression As BoundExpression = BindExpression(node.Label, diagnostics)
5300Dim boundLabelExpression As BoundExpression = BindExpression(onError.Label, diagnostics)
Binding\Binder_XmlLiterals.vb (82)
18diagnostics As BindingDiagnosticBag) As BoundExpression
27ImmutableArray.Create(Of BoundExpression)(str),
32Private Function BindXmlDocument(syntax As XmlDocumentSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
42ImmutableArray.Create(Of BoundExpression)(declaration, New BoundLiteral(syntax, ConstantValue.Nothing, Nothing)),
45Dim childNodeBuilder = ArrayBuilder(Of BoundExpression).GetInstance()
56Private Function BindXmlDeclaration(syntax As XmlDeclarationSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
63ImmutableArray.Create(Of BoundExpression)(version, encoding, standalone),
77Private Function BindXmlProcessingInstruction(syntax As XmlProcessingInstructionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
83ImmutableArray.Create(Of BoundExpression)(target, data),
91diagnostics As BindingDiagnosticBag) As BoundExpression
98diagnostics As BindingDiagnosticBag) As BoundExpression
109diagnostics As BindingDiagnosticBag) As BoundExpression
149diagnostics As BindingDiagnosticBag) As BoundExpression
155Dim argument As BoundExpression
188ImmutableArray.Create(Of BoundExpression)(argument),
191Dim childNodeBuilder = ArrayBuilder(Of BoundExpression).GetInstance()
218objectCreation As BoundExpression,
219childNodes As ImmutableArray(Of BoundExpression),
228Dim sideEffectBuilder = ArrayBuilder(Of BoundExpression).GetInstance()
303sideEffectBuilder.Add(BindInvocationExpressionIfGroupNotNothing(syntax, addGroup, ImmutableArray.Create(Of BoundExpression)(expr), diagnostics))
307Dim xmlnsAttributes As BoundExpression = Nothing
319sideEffectBuilder.Add(BindInvocationExpressionIfGroupNotNothing(syntax, addGroup, ImmutableArray.Create(Of BoundExpression)(attribute), diagnostics))
326xmlnsAttributes = BindObjectCreationExpression(syntax, xmlnsAttributesPlaceholder.Type, ImmutableArray(Of BoundExpression).Empty, diagnostics).MakeCompilerGenerated()
327sideEffectBuilder.Add(BindInvocationExpressionIfGroupNotNothing(syntax, addGroup, ImmutableArray.Create(Of BoundExpression)(xmlnsAttributesPlaceholder), diagnostics))
346expr As BoundExpression,
351diagnostics As BindingDiagnosticBag) As BoundExpression
369ImmutableArray.Create(Of BoundExpression)(prefixesPlaceholder, namespacesPlaceholder, xmlnsAttributesPlaceholder, expr),
399diagnostics As BindingDiagnosticBag) As BoundExpression
415prefix As BoundExpression,
416[namespace] As BoundExpression,
422Dim objectCreation As BoundExpression
426ImmutableArray.Create(Of BoundExpression)(prefix, [namespace]),
431objectCreation = BindInvocationExpressionIfGroupNotNothing(syntax, group, ImmutableArray.Create(Of BoundExpression)(prefix, [namespace]), diagnostics)
447Dim name As BoundExpression
474Dim value As BoundExpression
475Dim objectCreation As BoundExpression
490ImmutableArray.Create(Of BoundExpression)(name, value),
503ImmutableArray.Create(Of BoundExpression)(name, value),
540Private Function BindXmlEmbeddedExpression(syntax As XmlEmbeddedExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
551childNodeBuilder As ArrayBuilder(Of BoundExpression),
601Private Sub BindXmlContent(content As SyntaxList(Of XmlNodeSyntax), childNodeBuilder As ArrayBuilder(Of BoundExpression), rootInfoOpt As XmlElementRootInfo, diagnostics As BindingDiagnosticBag)
607Private Function BindXmlContent(syntax As XmlNodeSyntax, rootInfoOpt As XmlElementRootInfo, diagnostics As BindingDiagnosticBag) As BoundExpression
635Private Function BindXmlAttributeAccess(syntax As XmlMemberAccessExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
645Dim memberAccess As BoundExpression = Nothing
666memberAccess = BindInvocationExpressionIfGroupNotNothing(syntax, group, ImmutableArray.Create(Of BoundExpression)(receiver, name), diagnostics)
680Private Function BindXmlElementAccess(syntax As XmlMemberAccessExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
684Private Function BindXmlDescendantAccess(syntax As XmlMemberAccessExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
688Private Function BindXmlElementAccess(syntax As XmlMemberAccessExpressionSyntax, memberName As String, typeDisallowsError As ERRID, diagnostics As BindingDiagnosticBag) As BoundExpression
695Dim memberAccess As BoundExpression = Nothing
701Dim arguments As ImmutableArray(Of BoundExpression) = Nothing
713arguments = ImmutableArray.Create(Of BoundExpression)(name)
720arguments = ImmutableArray.Create(Of BoundExpression)(receiver, name)
740Private Function BindXmlMemberAccessReceiver(syntax As XmlMemberAccessExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
742Dim receiver As BoundExpression
766diagnostics As BindingDiagnosticBag) As BoundExpression
782diagnostics As BindingDiagnosticBag) As BoundExpression
851Private Function BindXmlName(syntax As VisualBasicSyntaxNode, localName As BoundExpression, [namespace] As BoundExpression, diagnostics As BindingDiagnosticBag) As BoundExpression
858Dim objectCreation = BindInvocationExpressionIfGroupNotNothing(syntax, group, ImmutableArray.Create(Of BoundExpression)(localName, [namespace]), diagnostics)
862Private Function BindGetXmlNamespace(syntax As GetXmlNamespaceExpressionSyntax, diagnostics As BindingDiagnosticBag) As BoundExpression
868Dim expr As BoundExpression
887Private Function BindXmlNamespace(syntax As VisualBasicSyntaxNode, [namespace] As BoundExpression, diagnostics As BindingDiagnosticBag) As BoundExpression
894Dim objectCreation = BindInvocationExpressionIfGroupNotNothing(syntax, group, ImmutableArray.Create(Of BoundExpression)([namespace]), diagnostics)
910Private Function BindXmlCData(syntax As XmlCDataSectionSyntax, rootInfoOpt As XmlElementRootInfo, diagnostics As BindingDiagnosticBag) As BoundExpression
919ImmutableArray.Create(Of BoundExpression)(value),
955Private Function GetXmlMethodOrPropertyGroup(syntax As VisualBasicSyntaxNode, type As NamedTypeSymbol, memberName As String, receiverOpt As BoundExpression, diagnostics As BindingDiagnosticBag) As BoundMethodOrPropertyGroup
1017Private Function BindInvocationExpressionIfGroupNotNothing(syntax As SyntaxNode, groupOpt As BoundMethodOrPropertyGroup, arguments As ImmutableArray(Of BoundExpression), diagnostics As BindingDiagnosticBag) As BoundExpression
1090Dim [namespace] As BoundExpression = Nothing
1171<Out()> ByRef [namespace] As BoundExpression,
1347expr As BoundExpression,
1350diagnostics As BindingDiagnosticBag) As BoundExpression
1368Public Sub New(objectCreation As BoundExpression)
1371Me.SideEffects = ImmutableArray(Of BoundExpression).Empty
1378objectCreation As BoundExpression,
1380xmlnsAttributes As BoundExpression,
1385sideEffects As ImmutableArray(Of BoundExpression))
1409Public ReadOnly ObjectCreation As BoundExpression
1411Public ReadOnly XmlnsAttributes As BoundExpression
1416Public ReadOnly SideEffects As ImmutableArray(Of BoundExpression)
Binding\SyntheticBoundTrees\AnonymousTypeSyntheticMethods.vb (34)
69Dim boundTryCast As BoundExpression = New BoundTryCast(syntax, boundObjReference, ConversionKind.NarrowingReference,
73Dim boundCallToEquals As BoundExpression = New BoundCall(syntax, Me._iEquatableEqualsMethod, Nothing,
74boundMeReference, ImmutableArray.Create(Of BoundExpression)(boundTryCast),
128Dim expression As BoundExpression = Nothing
161ImmutableArray(Of BoundExpression).Empty,
229Private Function BuildConditionsForFields(boundMe As BoundMeReference, boundOther As BoundParameter, boundNothing As BoundExpression,
230localMyFieldBoxed As LocalSymbol, localOtherFieldBoxed As LocalSymbol, booleanType As TypeSymbol) As BoundExpression
234Dim expression As BoundExpression = Nothing
239Dim condition As BoundExpression = BuildConditionForField([property], boundMe, boundOther, boundNothing, localMyFieldBoxed, localOtherFieldBoxed, booleanType)
258boundNothing As BoundExpression, localMyFieldBoxed As LocalSymbol, localOtherFieldBoxed As LocalSymbol,
259booleanType As TypeSymbol) As BoundExpression
268Dim condition As BoundExpression = BuildAndAlso(BuildIsCheck(boundLocalMyFieldBoxed, boundNothing, booleanType, reverse:=True),
273Dim boundCallToEquals As BoundExpression = New BoundCall(syntax,
276ImmutableArray.Create(Of BoundExpression)(boundLocalOtherFieldBoxed),
279Dim ternary As BoundExpression = New BoundTernaryConditionalExpression(syntax,
284Dim assignLocalMyField As BoundExpression = New BoundAssignmentOperator(syntax,
289Dim assignLocalOtherField As BoundExpression = New BoundAssignmentOperator(syntax,
296ImmutableArray.Create(Of BoundExpression)(assignLocalMyField, assignLocalOtherField),
301Private Function BuildBoxedFieldAccess(receiver As BoundExpression, field As FieldSymbol) As BoundExpression
308Private Function BuildIsCheck(left As BoundExpression, right As BoundExpression, booleanType As TypeSymbol, Optional reverse As Boolean = False) As BoundExpression
314Private Function BuildAndAlso(left As BoundExpression, right As BoundExpression, booleanType As TypeSymbol) As BoundExpression
319Private Function BuildOrElse(left As BoundExpression, right As BoundExpression, booleanType As TypeSymbol) As BoundExpression
342Dim boundFieldAccessArray(numberOfFields - 1) As BoundExpression
365Dim arrayInstantiation As BoundExpression = New BoundArrayCreation(syntax,
366ImmutableArray.Create(Of BoundExpression)(
373Dim [call] As BoundExpression = New BoundCall(syntax, formatMethod, Nothing, Nothing,
374ImmutableArray.Create(Of BoundExpression)(
BoundTree\BoundArrayCreation.vb (2)
13Public Sub New(syntax As SyntaxNode, bounds As ImmutableArray(Of BoundExpression), initializerOpt As BoundArrayInitialization, type As TypeSymbol, Optional hasErrors As Boolean = False)
17Public Sub New(syntax As SyntaxNode, bounds As ImmutableArray(Of BoundExpression), initializerOpt As BoundArrayInitialization, arrayLiteralOpt As BoundArrayLiteral, arrayLiteralConversion As ConversionKind, type As TypeSymbol, Optional hasErrors As Boolean = False)
BoundTree\BoundAssignmentOperator.vb (7)
12Public Sub New(syntax As SyntaxNode, left As BoundExpression, right As BoundExpression, suppressObjectClone As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False)
16Public Sub New(syntax As SyntaxNode, left As BoundExpression, right As BoundExpression, suppressObjectClone As Boolean, Optional hasErrors As Boolean = False)
22left As BoundExpression,
24right As BoundExpression,
142Private Shared Function IsByRefPropertyGet(node As BoundExpression) As Boolean
CodeGen\EmitExpression.vb (29)
27Private Sub EmitExpression(expression As BoundExpression, used As Boolean)
60Private Sub EmitExpressionCoreWithStackGuard(expression As BoundExpression, used As Boolean)
74Private Sub EmitExpressionCore(expression As BoundExpression, used As Boolean)
290Dim receiver As BoundExpression = conditional.ReceiverOrCondition
449Private Sub EmitDelegateCreation(receiver As BoundExpression, method As MethodSymbol, delegateType As TypeSymbol, used As Boolean, syntaxNode As SyntaxNode)
494Private Sub EmitMeOrMyClassReferenceExpression(thisRef As BoundExpression)
535Private Sub EmitSideEffects(sideEffects As ImmutableArray(Of BoundExpression))
543Private Sub EmitExpressions(expressions As ImmutableArray(Of BoundExpression), used As Boolean)
552Private Sub EmitArguments(arguments As ImmutableArray(Of BoundExpression), parameters As ImmutableArray(Of ParameterSymbol))
721Private Function EmitFieldLoadReceiverAddress(receiver As BoundExpression) As Boolean
749Private Function FieldLoadPrefersRef(receiver As BoundExpression) As Boolean
785Friend Shared Function FieldLoadMustUseRef(expr As BoundExpression) As Boolean
873Private Function CanUseCallOnRefTypeReceiver(receiver As BoundExpression) As Boolean
946Private Function IsMeReceiver(receiver As BoundExpression) As Boolean
1241Friend Shared Function IsPossibleReferenceTypeReceiverOfConstrainedCall(receiver As BoundExpression) As Boolean
1251Friend Shared Function ReceiverIsKnownToReferToTempIfReferenceType(receiver As BoundExpression) As Boolean
1270Friend Shared Function IsSafeToDereferenceReceiverRefAfterEvaluatingArguments(arguments As ImmutableArray(Of BoundExpression)) As Boolean
1502Private Function StackMergeType(expr As BoundExpression) As TypeSymbol
1664arguments As ImmutableArray(Of BoundExpression),
1686Private Sub EmitInitObjOnTarget(target As BoundExpression)
1788Dim left As BoundExpression = assignmentOperator.Left
1801Dim right As BoundExpression = assignmentOperator.Right
1832Private Function SafeToGetWriteableReference(left As BoundExpression) As Boolean
1836Private Sub InPlaceInit(target As BoundExpression, used As Boolean)
1849Private Sub InPlaceCtorCall(target As BoundExpression, objCreation As BoundObjectCreationExpression, used As Boolean)
1870Private Function PartialCtorResultCannotEscape(left As BoundExpression) As Boolean
1874Private Function TargetIsNotOnHeap(left As BoundExpression) As Boolean
1888Private Function EmitAssignmentPreamble(assignmentTarget As BoundExpression) As Boolean
2019Private Sub EmitStore(expression As BoundExpression)
CodeGen\EmitStatement.vb (8)
430Private Sub EmitSetProjectError(syntaxNode As SyntaxNode, errorLineNumberOpt As BoundExpression)
495Private Function TryReduce(condition As BoundBinaryOperator, ByRef sense As Boolean) As BoundExpression
503Dim nonConstOp As BoundExpression
640Private Sub EmitCondBranch(condition As BoundExpression, ByRef lazyDest As Object, sense As Boolean)
654Private Sub EmitCondBranchCoreWithStackGuard(condition As BoundExpression, ByRef lazyDest As Object, sense As Boolean)
668Private Sub EmitCondBranchCore(condition As BoundExpression, ByRef lazyDest As Object, sense As Boolean)
876If Not _found AndAlso TypeOf node IsNot BoundExpression Then
1041Private Sub EmitSwitchTableHeader(selectExpression As BoundExpression, caseLabels As KeyValuePair(Of ConstantValue, Object)(), fallThroughLabel As LabelSymbol)
CodeGen\Optimizer\StackScheduler.Analyzer.vb (65)
46Private ReadOnly _evalStack As ArrayBuilder(Of (expression As BoundExpression, context As ExprContext))
69evalStack As ArrayBuilder(Of ValueTuple(Of BoundExpression, ExprContext)),
88Dim evalStack = ArrayBuilder(Of ValueTuple(Of BoundExpression, ExprContext)).GetInstance()
101Dim expr = TryCast(node, BoundExpression)
112Private Function VisitExpressionCore(node As BoundExpression, context As ExprContext) As BoundExpression
124DirectCast(MyBase.Visit(node), BoundExpression),
149Private Sub PushEvalStack(result As BoundExpression, context As ExprContext)
170Private Function VisitExpression(node As BoundExpression, context As ExprContext) As BoundExpression
171Dim result As BoundExpression
188Private Function VisitExpressionCoreWithStackGuard(node As BoundExpression, context As ExprContext) As BoundExpression
202Protected Overrides Function VisitExpressionWithoutStackGuard(node As BoundExpression) As BoundExpression
360Dim sideeffects As ImmutableArray(Of BoundExpression) = node.SideEffects
361Dim rewrittenSideeffects As ArrayBuilder(Of BoundExpression) = Nothing
364Dim sideeffect As BoundExpression = sideeffects(i)
365Dim rewrittenSideeffect As BoundExpression = Me.VisitExpression(sideeffect, ExprContext.Sideeffects)
368rewrittenSideeffects = ArrayBuilder(Of BoundExpression).GetInstance()
379Dim value As BoundExpression = Me.VisitExpression(node.ValueOpt, origContext)
524Dim right As BoundExpression = VisitExpression(node.LValue, ExprContext.Address)
543Dim left As BoundExpression = VisitExpression(node.Left,
572Dim right As BoundExpression = node.Right
622Private Shared Function IsByRefVariable(node As BoundExpression) As Boolean
686Dim rewrittenArguments As ImmutableArray(Of BoundExpression) = VisitArguments(node.Arguments, method.Parameters)
701Private Function VisitArguments(arguments As ImmutableArray(Of BoundExpression), parameters As ImmutableArray(Of ParameterSymbol)) As ImmutableArray(Of BoundExpression)
708Dim rewrittenArguments As ArrayBuilder(Of BoundExpression) = Nothing
714Dim arg As BoundExpression = arguments(i)
715Dim rewrittenArg As BoundExpression = VisitExpression(arg, context)
717rewrittenArguments = ArrayBuilder(Of BoundExpression).GetInstance()
733Dim rewrittenArguments As ImmutableArray(Of BoundExpression) = If(constructor Is Nothing, node.Arguments,
755Dim receiver As BoundExpression = node.ReceiverOpt
804Dim testExpression As BoundExpression = DirectCast(Me.Visit(node.TestExpression), BoundExpression)
816Dim elseExpression As BoundExpression = DirectCast(Me.Visit(node.ElseExpression), BoundExpression)
826Dim condition = DirectCast(Me.Visit(node.Condition), BoundExpression)
831Dim whenTrue = DirectCast(Me.Visit(node.WhenTrue), BoundExpression)
836Dim whenFalse = DirectCast(Me.Visit(node.WhenFalse), BoundExpression)
853Dim receiverOrCondition = DirectCast(Me.Visit(node.ReceiverOrCondition), BoundExpression)
861Dim whenNotNull = DirectCast(Me.Visit(node.WhenNotNull), BoundExpression)
865Dim whenNull As BoundExpression = Nothing
869whenNull = DirectCast(Me.Visit(node.WhenNullOpt), BoundExpression)
890Dim valueTypeReceiver = DirectCast(Me.VisitExpression(node.ValueTypeReceiver, Me._context), BoundExpression)
895Dim referenceTypeReceiver = DirectCast(Me.VisitExpression(node.ReferenceTypeReceiver, Me._context), BoundExpression)
905Dim child As BoundExpression = node.Left
929Dim left = DirectCast(Me.Visit(child), BoundExpression)
950Dim right = DirectCast(Me.Visit(binary.Right), BoundExpression)
981Dim left As BoundExpression = DirectCast(Me.Visit(node.Left), BoundExpression)
987Dim right As BoundExpression = DirectCast(Me.Visit(node.Right), BoundExpression)
1004Dim operand = DirectCast(Me.Visit(node.Operand), BoundExpression)
1059Dim value = DirectCast(Visit(node.Value), BoundExpression)
1102Dim exceptionVariableOpt As BoundExpression = Me.VisitExpression(node.ExceptionSourceOpt, ExprContext.Value)
1106Dim errorLineNumberOpt As BoundExpression = Me.VisitExpression(node.ErrorLineNumberOpt, ExprContext.Value)
1110Dim exceptionFilterOpt As BoundExpression = Me.VisitExpression(node.ExceptionFilterOpt, ExprContext.Value)
1124Dim initializers As ImmutableArray(Of BoundExpression) = node.Initializers
1125Dim rewrittenInitializers As ArrayBuilder(Of BoundExpression) = Nothing
1131Dim initializer As BoundExpression = initializers(i)
1132Dim rewrittenInitializer As BoundExpression = Me.VisitExpression(initializer, ExprContext.Value)
1135rewrittenInitializers = ArrayBuilder(Of BoundExpression).GetInstance()
1149Dim expressionOpt = TryCast(Me.Visit(node.ExpressionOpt), BoundExpression)
CodeGen\Optimizer\StackScheduler.Rewriter.vb (16)
47Dim asExpression = TryCast(node, BoundExpression)
62Dim child As BoundExpression = node.Left
84Dim left = DirectCast(Me.Visit(child), BoundExpression)
89Dim right = DirectCast(Me.Visit(binary.Right), BoundExpression)
150Dim right = DirectCast(Me.Visit(node.LValue), BoundExpression)
167Dim left As BoundExpression = DirectCast(Me.Visit(node.Left), BoundExpression)
168Dim right As BoundExpression = DirectCast(Me.Visit(node.Right), BoundExpression)
209Dim right = DirectCast(Me.Visit(node.Right), BoundExpression)
227Dim receiverOrCondition As BoundExpression = DirectCast(Me.Visit(node.ReceiverOrCondition), BoundExpression)
228Dim whenNotNull As BoundExpression = DirectCast(Me.Visit(node.WhenNotNull), BoundExpression)
229Dim whenNullOpt As BoundExpression = node.WhenNullOpt
232whenNullOpt = DirectCast(Me.Visit(whenNullOpt), BoundExpression)
Generated\BoundNodes.xml.Generated.vb (952)
326Public Sub New(syntax As SyntaxNode, underlyingLValue As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
341Private ReadOnly _UnderlyingLValue As BoundExpression
342Public ReadOnly Property UnderlyingLValue As BoundExpression
353Public Function Update(underlyingLValue As BoundExpression, type As TypeSymbol) As BoundLValueToRValueWrapper
586Public Sub New(syntax As SyntaxNode, resultKind As LookupResultKind, symbols As ImmutableArray(Of Symbol), childBoundNodes As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
617Private ReadOnly _ChildBoundNodes As ImmutableArray(Of BoundExpression)
618Public ReadOnly Property ChildBoundNodes As ImmutableArray(Of BoundExpression)
629Public Function Update(resultKind As LookupResultKind, symbols As ImmutableArray(Of Symbol), childBoundNodes As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundBadExpression
676Public Sub New(syntax As SyntaxNode, expression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
690Private ReadOnly _Expression As BoundExpression
691Public ReadOnly Property Expression As BoundExpression
702Public Function Update(expression As BoundExpression, type As TypeSymbol) As BoundParenthesized
715Public Sub New(syntax As SyntaxNode, expression As BoundExpression, isLValue As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False)
725Private ReadOnly _Expression As BoundExpression
726Public ReadOnly Property Expression As BoundExpression
744Public Function Update(expression As BoundExpression, isLValue As Boolean, type As TypeSymbol) As BoundBadVariable
757Public Sub New(syntax As SyntaxNode, expression As BoundExpression, indices As ImmutableArray(Of BoundExpression), isLValue As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False)
775Private ReadOnly _Expression As BoundExpression
776Public ReadOnly Property Expression As BoundExpression
782Private ReadOnly _Indices As ImmutableArray(Of BoundExpression)
783Public ReadOnly Property Indices As ImmutableArray(Of BoundExpression)
801Public Function Update(expression As BoundExpression, indices As ImmutableArray(Of BoundExpression), isLValue As Boolean, type As TypeSymbol) As BoundArrayAccess
814Public Sub New(syntax As SyntaxNode, expression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
824Private ReadOnly _Expression As BoundExpression
825Public ReadOnly Property Expression As BoundExpression
836Public Function Update(expression As BoundExpression, type As TypeSymbol) As BoundArrayLength
991Public Sub New(syntax As SyntaxNode, unevaluatedReceiverOpt As BoundExpression, aliasOpt As AliasSymbol, type As TypeSymbol, Optional hasErrors As Boolean = False)
1001Private ReadOnly _UnevaluatedReceiverOpt As BoundExpression
1002Public ReadOnly Property UnevaluatedReceiverOpt As BoundExpression
1020Public Function Update(unevaluatedReceiverOpt As BoundExpression, aliasOpt As AliasSymbol, type As TypeSymbol) As BoundTypeExpression
1075Public Sub New(syntax As SyntaxNode, unevaluatedReceiverOpt As BoundExpression, aliasOpt As AliasSymbol, namespaceSymbol As NamespaceSymbol, Optional hasErrors As Boolean = False)
1091Private ReadOnly _UnevaluatedReceiverOpt As BoundExpression
1092Public ReadOnly Property UnevaluatedReceiverOpt As BoundExpression
1117Public Function Update(unevaluatedReceiverOpt As BoundExpression, aliasOpt As AliasSymbol, namespaceSymbol As NamespaceSymbol) As BoundNamespaceExpression
1377Public Sub New(syntax As SyntaxNode, operatorKind As UnaryOperatorKind, operand As BoundExpression, checked As Boolean, constantValueOpt As ConstantValue, type As TypeSymbol, Optional hasErrors As Boolean = False)
1402Private ReadOnly _Operand As BoundExpression
1403Public ReadOnly Property Operand As BoundExpression
1428Public Function Update(operatorKind As UnaryOperatorKind, operand As BoundExpression, checked As Boolean, constantValueOpt As ConstantValue, type As TypeSymbol) As BoundUnaryOperator
1441Public Sub New(syntax As SyntaxNode, operatorKind As UnaryOperatorKind, underlyingExpression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
1464Private ReadOnly _UnderlyingExpression As BoundExpression
1465Public ReadOnly Property UnderlyingExpression As BoundExpression
1476Public Function Update(operatorKind As UnaryOperatorKind, underlyingExpression As BoundExpression, type As TypeSymbol) As BoundUserDefinedUnaryOperator
1489Public Sub New(syntax As SyntaxNode, operand As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
1504Private ReadOnly _Operand As BoundExpression
1505Public ReadOnly Property Operand As BoundExpression
1516Public Function Update(operand As BoundExpression, type As TypeSymbol) As BoundNullableIsTrueOperator
1529Public Sub New(syntax As SyntaxNode, operatorKind As BinaryOperatorKind, left As BoundExpression, right As BoundExpression, checked As Boolean, constantValueOpt As ConstantValue, type As TypeSymbol, Optional hasErrors As Boolean = False)
1556Private ReadOnly _Left As BoundExpression
1557Public ReadOnly Property Left As BoundExpression
1563Private ReadOnly _Right As BoundExpression
1564Public ReadOnly Property Right As BoundExpression
1589Public Function Update(operatorKind As BinaryOperatorKind, left As BoundExpression, right As BoundExpression, checked As Boolean, constantValueOpt As ConstantValue, type As TypeSymbol) As BoundBinaryOperator
1602Public Sub New(syntax As SyntaxNode, operatorKind As BinaryOperatorKind, underlyingExpression As BoundExpression, checked As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False)
1626Private ReadOnly _UnderlyingExpression As BoundExpression
1627Public ReadOnly Property UnderlyingExpression As BoundExpression
1645Public Function Update(operatorKind As BinaryOperatorKind, underlyingExpression As BoundExpression, checked As Boolean, type As TypeSymbol) As BoundUserDefinedBinaryOperator
1658Public Sub New(syntax As SyntaxNode, leftOperand As BoundExpression, leftOperandPlaceholder As BoundRValuePlaceholder, leftTest As BoundExpression, bitwiseOperator As BoundUserDefinedBinaryOperator, type As TypeSymbol, Optional hasErrors As Boolean = False)
1676Private ReadOnly _LeftOperand As BoundExpression
1677Public ReadOnly Property LeftOperand As BoundExpression
1690Private ReadOnly _LeftTest As BoundExpression
1691Public ReadOnly Property LeftTest As BoundExpression
1709Public Function Update(leftOperand As BoundExpression, leftOperandPlaceholder As BoundRValuePlaceholder, leftTest As BoundExpression, bitwiseOperator As BoundUserDefinedBinaryOperator, type As TypeSymbol) As BoundUserDefinedShortCircuitingOperator
1755Public Sub New(syntax As SyntaxNode, left As BoundExpression, leftOnTheRightOpt As BoundCompoundAssignmentTargetPlaceholder, right As BoundExpression, suppressObjectClone As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False)
1774Private ReadOnly _Left As BoundExpression
1775Public ReadOnly Property Left As BoundExpression
1788Private ReadOnly _Right As BoundExpression
1789Public ReadOnly Property Right As BoundExpression
1807Public Function Update(left As BoundExpression, leftOnTheRightOpt As BoundCompoundAssignmentTargetPlaceholder, right As BoundExpression, suppressObjectClone As Boolean, type As TypeSymbol) As BoundAssignmentOperator
1820Public Sub New(syntax As SyntaxNode, byRefLocal As BoundLocal, lValue As BoundExpression, isLValue As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False)
1844Private ReadOnly _LValue As BoundExpression
1845Public ReadOnly Property LValue As BoundExpression
1863Public Function Update(byRefLocal As BoundLocal, lValue As BoundExpression, isLValue As Boolean, type As TypeSymbol) As BoundReferenceAssignment
1927Public Sub New(syntax As SyntaxNode, condition As BoundExpression, whenTrue As BoundExpression, whenFalse As BoundExpression, constantValueOpt As ConstantValue, type As TypeSymbol, Optional hasErrors As Boolean = False)
1947Private ReadOnly _Condition As BoundExpression
1948Public ReadOnly Property Condition As BoundExpression
1954Private ReadOnly _WhenTrue As BoundExpression
1955Public ReadOnly Property WhenTrue As BoundExpression
1961Private ReadOnly _WhenFalse As BoundExpression
1962Public ReadOnly Property WhenFalse As BoundExpression
1980Public Function Update(condition As BoundExpression, whenTrue As BoundExpression, whenFalse As BoundExpression, constantValueOpt As ConstantValue, type As TypeSymbol) As BoundTernaryConditionalExpression
1993Public Sub New(syntax As SyntaxNode, testExpression As BoundExpression, convertedTestExpression As BoundExpression, testExpressionPlaceholder As BoundRValuePlaceholder, elseExpression As BoundExpression, constantValueOpt As ConstantValue, type As TypeSymbol, Optional hasErrors As Boolean = False)
2013Private ReadOnly _TestExpression As BoundExpression
2014Public ReadOnly Property TestExpression As BoundExpression
2020Private ReadOnly _ConvertedTestExpression As BoundExpression
2021Public ReadOnly Property ConvertedTestExpression As BoundExpression
2034Private ReadOnly _ElseExpression As BoundExpression
2035Public ReadOnly Property ElseExpression As BoundExpression
2053Public Function Update(testExpression As BoundExpression, convertedTestExpression As BoundExpression, testExpressionPlaceholder As BoundRValuePlaceholder, elseExpression As BoundExpression, constantValueOpt As ConstantValue, type As TypeSymbol) As BoundBinaryConditionalExpression
2085Public Sub New(syntax As SyntaxNode, operand As BoundExpression, conversionKind As ConversionKind, checked As Boolean, explicitCastInCode As Boolean, constantValueOpt As ConstantValue, extendedInfoOpt As BoundExtendedConversionInfo, type As TypeSymbol, Optional hasErrors As Boolean = False)
2105Private ReadOnly _Operand As BoundExpression
2106Public Overrides ReadOnly Property Operand As BoundExpression
2152Public Function Update(operand As BoundExpression, conversionKind As ConversionKind, checked As Boolean, explicitCastInCode As Boolean, constantValueOpt As ConstantValue, extendedInfoOpt As BoundExtendedConversionInfo, type As TypeSymbol) As BoundConversion
2220Public Sub New(syntax As SyntaxNode, elementPlaceholders As ImmutableArray(Of BoundRValuePlaceholder), convertedElements As ImmutableArray(Of BoundExpression), Optional hasErrors As Boolean = False)
2243Private ReadOnly _ConvertedElements As ImmutableArray(Of BoundExpression)
2244Public ReadOnly Property ConvertedElements As ImmutableArray(Of BoundExpression)
2255Public Function Update(elementPlaceholders As ImmutableArray(Of BoundRValuePlaceholder), convertedElements As ImmutableArray(Of BoundExpression)) As BoundConvertedTupleElements
2268Public Sub New(syntax As SyntaxNode, underlyingExpression As BoundExpression, inOutConversionFlags As Byte, type As TypeSymbol, Optional hasErrors As Boolean = False)
2284Private ReadOnly _UnderlyingExpression As BoundExpression
2285Public ReadOnly Property UnderlyingExpression As BoundExpression
2303Public Function Update(underlyingExpression As BoundExpression, inOutConversionFlags As Byte, type As TypeSymbol) As BoundUserDefinedConversion
2316Public Sub New(syntax As SyntaxNode, operand As BoundExpression, conversionKind As ConversionKind, suppressVirtualCalls As Boolean, constantValueOpt As ConstantValue, relaxationLambdaOpt As BoundLambda, type As TypeSymbol, Optional hasErrors As Boolean = False)
2335Private ReadOnly _Operand As BoundExpression
2336Public Overrides ReadOnly Property Operand As BoundExpression
2375Public Function Update(operand As BoundExpression, conversionKind As ConversionKind, suppressVirtualCalls As Boolean, constantValueOpt As ConstantValue, relaxationLambdaOpt As BoundLambda, type As TypeSymbol) As BoundDirectCast
2388Public Sub New(syntax As SyntaxNode, operand As BoundExpression, conversionKind As ConversionKind, constantValueOpt As ConstantValue, relaxationLambdaOpt As BoundLambda, type As TypeSymbol, Optional hasErrors As Boolean = False)
2406Private ReadOnly _Operand As BoundExpression
2407Public Overrides ReadOnly Property Operand As BoundExpression
2439Public Function Update(operand As BoundExpression, conversionKind As ConversionKind, constantValueOpt As ConstantValue, relaxationLambdaOpt As BoundLambda, type As TypeSymbol) As BoundTryCast
2452Public Sub New(syntax As SyntaxNode, operand As BoundExpression, isTypeOfIsNotExpression As Boolean, targetType As TypeSymbol, type As TypeSymbol, Optional hasErrors As Boolean = False)
2465Private ReadOnly _Operand As BoundExpression
2466Public ReadOnly Property Operand As BoundExpression
2491Public Function Update(operand As BoundExpression, isTypeOfIsNotExpression As Boolean, targetType As TypeSymbol, type As TypeSymbol) As BoundTypeOf
2548Public Sub New(syntax As SyntaxNode, expression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
2557Private ReadOnly _Expression As BoundExpression
2558Public ReadOnly Property Expression As BoundExpression
2569Public Function Update(expression As BoundExpression, type As TypeSymbol) As BoundSequencePointExpression
2657Protected Sub New(kind As BoundKind, syntax as SyntaxNode, receiverOpt As BoundExpression, qualificationKind As QualificationKind, Optional hasErrors As Boolean = False)
2664Private ReadOnly _ReceiverOpt As BoundExpression
2665Public ReadOnly Property ReceiverOpt As BoundExpression
2682Public Sub New(syntax As SyntaxNode, typeArgumentsOpt As BoundTypeArguments, methods As ImmutableArray(Of MethodSymbol), pendingExtensionMethodsOpt As ExtensionMethodGroup, resultKind As LookupResultKind, receiverOpt As BoundExpression, qualificationKind As QualificationKind, Optional hasErrors As Boolean = False)
2727Public Function Update(typeArgumentsOpt As BoundTypeArguments, methods As ImmutableArray(Of MethodSymbol), pendingExtensionMethodsOpt As ExtensionMethodGroup, resultKind As LookupResultKind, receiverOpt As BoundExpression, qualificationKind As QualificationKind) As BoundMethodGroup
2740Public Sub New(syntax As SyntaxNode, properties As ImmutableArray(Of PropertySymbol), resultKind As LookupResultKind, receiverOpt As BoundExpression, qualificationKind As QualificationKind, Optional hasErrors As Boolean = False)
2769Public Function Update(properties As ImmutableArray(Of PropertySymbol), resultKind As LookupResultKind, receiverOpt As BoundExpression, qualificationKind As QualificationKind) As BoundPropertyGroup
2782Public Sub New(syntax As SyntaxNode, expressionOpt As BoundExpression, functionLocalOpt As LocalSymbol, exitLabelOpt As LabelSymbol, Optional hasErrors As Boolean = False)
2795Private ReadOnly _ExpressionOpt As BoundExpression
2796Public ReadOnly Property ExpressionOpt As BoundExpression
2821Public Function Update(expressionOpt As BoundExpression, functionLocalOpt As LocalSymbol, exitLabelOpt As LabelSymbol) As BoundReturnStatement
2834Public Sub New(syntax As SyntaxNode, expression As BoundExpression, Optional hasErrors As Boolean = False)
2848Private ReadOnly _Expression As BoundExpression
2849Public ReadOnly Property Expression As BoundExpression
2860Public Function Update(expression As BoundExpression) As BoundYieldStatement
2873Public Sub New(syntax As SyntaxNode, expressionOpt As BoundExpression, Optional hasErrors As Boolean = False)
2879Private ReadOnly _ExpressionOpt As BoundExpression
2880Public ReadOnly Property ExpressionOpt As BoundExpression
2891Public Function Update(expressionOpt As BoundExpression) As BoundThrowStatement
2938Public Sub New(syntax As SyntaxNode, operand As BoundExpression, indices As ImmutableArray(Of BoundExpression), arrayTypeOpt As ArrayTypeSymbol, preserve As Boolean, Optional hasErrors As Boolean = False)
2956Private ReadOnly _Operand As BoundExpression
2957Public ReadOnly Property Operand As BoundExpression
2963Private ReadOnly _Indices As ImmutableArray(Of BoundExpression)
2964Public ReadOnly Property Indices As ImmutableArray(Of BoundExpression)
2989Public Function Update(operand As BoundExpression, indices As ImmutableArray(Of BoundExpression), arrayTypeOpt As ArrayTypeSymbol, preserve As Boolean) As BoundRedimClause
3036Public Sub New(syntax As SyntaxNode, method As MethodSymbol, methodGroupOpt As BoundMethodGroup, receiverOpt As BoundExpression, arguments As ImmutableArray(Of BoundExpression), defaultArguments As BitVector, constantValueOpt As ConstantValue, isLValue As Boolean, suppressObjectClone As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False)
3073Private ReadOnly _ReceiverOpt As BoundExpression
3074Public ReadOnly Property ReceiverOpt As BoundExpression
3080Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression)
3081Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression)
3120Public Function Update(method As MethodSymbol, methodGroupOpt As BoundMethodGroup, receiverOpt As BoundExpression, arguments As ImmutableArray(Of BoundExpression), defaultArguments As BitVector, constantValueOpt As ConstantValue, isLValue As Boolean, suppressObjectClone As Boolean, type As TypeSymbol) As BoundCall
3133Public Sub New(syntax As SyntaxNode, constructor As MethodSymbol, constructorArguments As ImmutableArray(Of BoundExpression), constructorDefaultArguments As BitVector, namedArguments As ImmutableArray(Of BoundExpression), resultKind As LookupResultKind, type As TypeSymbol, Optional hasErrors As Boolean = False)
3155Private ReadOnly _ConstructorArguments As ImmutableArray(Of BoundExpression)
3156Public ReadOnly Property ConstructorArguments As ImmutableArray(Of BoundExpression)
3169Private ReadOnly _NamedArguments As ImmutableArray(Of BoundExpression)
3170Public ReadOnly Property NamedArguments As ImmutableArray(Of BoundExpression)
3188Public Function Update(constructor As MethodSymbol, constructorArguments As ImmutableArray(Of BoundExpression), constructorDefaultArguments As BitVector, namedArguments As ImmutableArray(Of BoundExpression), resultKind As LookupResultKind, type As TypeSymbol) As BoundAttribute
3201Public Sub New(syntax As SyntaxNode, nameOpt As String, containerTypeOpt As TypeSymbol, receiverOpt As BoundExpression, typeArgumentsOpt As BoundTypeArguments, accessKind As LateBoundAccessKind, type As TypeSymbol, Optional hasErrors As Boolean = False)
3233Private ReadOnly _ReceiverOpt As BoundExpression
3234Public ReadOnly Property ReceiverOpt As BoundExpression
3259Public Function Update(nameOpt As String, containerTypeOpt As TypeSymbol, receiverOpt As BoundExpression, typeArgumentsOpt As BoundTypeArguments, accessKind As LateBoundAccessKind, type As TypeSymbol) As BoundLateMemberAccess
3272Public Sub New(syntax As SyntaxNode, member As BoundExpression, argumentsOpt As ImmutableArray(Of BoundExpression), argumentNamesOpt As ImmutableArray(Of string), accessKind As LateBoundAccessKind, methodOrPropertyGroupOpt As BoundMethodOrPropertyGroup, type As TypeSymbol, Optional hasErrors As Boolean = False)
3291Private ReadOnly _Member As BoundExpression
3292Public ReadOnly Property Member As BoundExpression
3298Private ReadOnly _ArgumentsOpt As ImmutableArray(Of BoundExpression)
3299Public ReadOnly Property ArgumentsOpt As ImmutableArray(Of BoundExpression)
3331Public Function Update(member As BoundExpression, argumentsOpt As ImmutableArray(Of BoundExpression), argumentNamesOpt As ImmutableArray(Of string), accessKind As LateBoundAccessKind, methodOrPropertyGroupOpt As BoundMethodOrPropertyGroup, type As TypeSymbol) As BoundLateInvocation
3387Protected Sub New(kind As BoundKind, syntax as SyntaxNode, arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
3396Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression)
3397Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression)
3407Public Sub New(syntax As SyntaxNode, inferredType As TupleTypeSymbol, argumentNamesOpt As ImmutableArray(Of String), inferredNamesOpt As ImmutableArray(Of Boolean), arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
3444Public Function Update(inferredType As TupleTypeSymbol, argumentNamesOpt As ImmutableArray(Of String), inferredNamesOpt As ImmutableArray(Of Boolean), arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundTupleLiteral
3457Public Sub New(syntax As SyntaxNode, naturalTypeOpt As TypeSymbol, arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
3479Public Function Update(naturalTypeOpt As TypeSymbol, arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundConvertedTupleLiteral
3517Public Sub New(syntax As SyntaxNode, constructorOpt As MethodSymbol, methodGroupOpt As BoundMethodGroup, arguments As ImmutableArray(Of BoundExpression), defaultArguments As BitVector, initializerOpt As BoundObjectInitializerExpressionBase, type As TypeSymbol, Optional hasErrors As Boolean = False)
3549Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression)
3550Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression)
3568Public Function Update(constructorOpt As MethodSymbol, methodGroupOpt As BoundMethodGroup, arguments As ImmutableArray(Of BoundExpression), defaultArguments As BitVector, initializerOpt As BoundObjectInitializerExpressionBase, type As TypeSymbol) As BoundObjectCreationExpression
3615Public Sub New(syntax As SyntaxNode, binderOpt As Binder.AnonymousTypeCreationBinder, declarations As ImmutableArray(Of BoundAnonymousTypePropertyAccess), arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
3641Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression)
3642Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression)
3653Public Function Update(binderOpt As Binder.AnonymousTypeCreationBinder, declarations As ImmutableArray(Of BoundAnonymousTypePropertyAccess), arguments As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundAnonymousTypeCreationExpression
3717Public Sub New(syntax As SyntaxNode, binder As Binder.AnonymousTypeFieldInitializerBinder, value As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
3735Private ReadOnly _Value As BoundExpression
3736Public ReadOnly Property Value As BoundExpression
3747Public Function Update(binder As Binder.AnonymousTypeFieldInitializerBinder, value As BoundExpression, type As TypeSymbol) As BoundAnonymousTypeFieldInitializer
3760Protected Sub New(kind As BoundKind, syntax as SyntaxNode, placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
3777Private ReadOnly _Initializers As ImmutableArray(Of BoundExpression)
3778Public ReadOnly Property Initializers As ImmutableArray(Of BoundExpression)
3788Public Sub New(syntax As SyntaxNode, createTemporaryLocalForInitialization As Boolean, placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
3814Public Function Update(createTemporaryLocalForInitialization As Boolean, placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundObjectInitializerExpression
3827Public Sub New(syntax As SyntaxNode, placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
3845Public Function Update(placeholderOpt As BoundWithLValueExpressionPlaceholder, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundCollectionInitializerExpression
3889Public Sub New(syntax As SyntaxNode, receiverOpt As BoundExpression, method As MethodSymbol, relaxationLambdaOpt As BoundLambda, relaxationReceiverPlaceholderOpt As BoundRValuePlaceholder, methodGroupOpt As BoundMethodGroup, type As TypeSymbol, Optional hasErrors As Boolean = False)
3903Private ReadOnly _ReceiverOpt As BoundExpression
3904Public ReadOnly Property ReceiverOpt As BoundExpression
3943Public Function Update(receiverOpt As BoundExpression, method As MethodSymbol, relaxationLambdaOpt As BoundLambda, relaxationReceiverPlaceholderOpt As BoundRValuePlaceholder, methodGroupOpt As BoundMethodGroup, type As TypeSymbol) As BoundDelegateCreationExpression
3956Public Sub New(syntax As SyntaxNode, isParamArrayArgument As Boolean, bounds As ImmutableArray(Of BoundExpression), initializerOpt As BoundArrayInitialization, arrayLiteralOpt As BoundArrayLiteral, arrayLiteralConversion As ConversionKind, type As TypeSymbol, Optional hasErrors As Boolean = False)
3982Private ReadOnly _Bounds As ImmutableArray(Of BoundExpression)
3983Public ReadOnly Property Bounds As ImmutableArray(Of BoundExpression)
4015Public Function Update(isParamArrayArgument As Boolean, bounds As ImmutableArray(Of BoundExpression), initializerOpt As BoundArrayInitialization, arrayLiteralOpt As BoundArrayLiteral, arrayLiteralConversion As ConversionKind, type As TypeSymbol) As BoundArrayCreation
4028Public Sub New(syntax As SyntaxNode, hasDominantType As Boolean, numberOfCandidates As Integer, inferredType As ArrayTypeSymbol, bounds As ImmutableArray(Of BoundExpression), initializer As BoundArrayInitialization, binder As Binder, Optional hasErrors As Boolean = False)
4066Private ReadOnly _Bounds As ImmutableArray(Of BoundExpression)
4067Public ReadOnly Property Bounds As ImmutableArray(Of BoundExpression)
4092Public Function Update(hasDominantType As Boolean, numberOfCandidates As Integer, inferredType As ArrayTypeSymbol, bounds As ImmutableArray(Of BoundExpression), initializer As BoundArrayInitialization, binder As Binder) As BoundArrayLiteral
4105Public Sub New(syntax As SyntaxNode, initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol, Optional hasErrors As Boolean = False)
4114Private ReadOnly _Initializers As ImmutableArray(Of BoundExpression)
4115Public ReadOnly Property Initializers As ImmutableArray(Of BoundExpression)
4126Public Function Update(initializers As ImmutableArray(Of BoundExpression), type As TypeSymbol) As BoundArrayInitialization
4139Public Sub New(syntax As SyntaxNode, receiverOpt As BoundExpression, fieldSymbol As FieldSymbol, isLValue As Boolean, suppressVirtualCalls As Boolean, constantsInProgressOpt As ConstantFieldsInProgress, type As TypeSymbol, Optional hasErrors As Boolean = False)
4158Private ReadOnly _ReceiverOpt As BoundExpression
4159Public ReadOnly Property ReceiverOpt As BoundExpression
4198Public Function Update(receiverOpt As BoundExpression, fieldSymbol As FieldSymbol, isLValue As Boolean, suppressVirtualCalls As Boolean, constantsInProgressOpt As ConstantFieldsInProgress, type As TypeSymbol) As BoundFieldAccess
4211Public Sub New(syntax As SyntaxNode, propertySymbol As PropertySymbol, propertyGroupOpt As BoundPropertyGroup, accessKind As PropertyAccessKind, isWriteable As Boolean, isLValue As Boolean, receiverOpt As BoundExpression, arguments As ImmutableArray(Of BoundExpression), defaultArguments As BitVector, type As TypeSymbol, Optional hasErrors As Boolean = False)
4269Private ReadOnly _ReceiverOpt As BoundExpression
4270Public ReadOnly Property ReceiverOpt As BoundExpression
4276Private ReadOnly _Arguments As ImmutableArray(Of BoundExpression)
4277Public ReadOnly Property Arguments As ImmutableArray(Of BoundExpression)
4295Public Function Update(propertySymbol As PropertySymbol, propertyGroupOpt As BoundPropertyGroup, accessKind As PropertyAccessKind, isWriteable As Boolean, isLValue As Boolean, receiverOpt As BoundExpression, arguments As ImmutableArray(Of BoundExpression), defaultArguments As BitVector, type As TypeSymbol) As BoundPropertyAccess
4308Public Sub New(syntax As SyntaxNode, receiverOpt As BoundExpression, eventSymbol As EventSymbol, type As TypeSymbol, Optional hasErrors As Boolean = False)
4319Private ReadOnly _ReceiverOpt As BoundExpression
4320Public ReadOnly Property ReceiverOpt As BoundExpression
4338Public Function Update(receiverOpt As BoundExpression, eventSymbol As EventSymbol, type As TypeSymbol) As BoundEventAccess
4458Public Sub New(syntax As SyntaxNode, localSymbol As LocalSymbol, declarationInitializerOpt As BoundExpression, identifierInitializerOpt As BoundArrayCreation, initializedByAsNew As Boolean, Optional hasErrors As Boolean = False)
4482Private ReadOnly _DeclarationInitializerOpt As BoundExpression
4483Public ReadOnly Property DeclarationInitializerOpt As BoundExpression
4508Public Function Update(localSymbol As LocalSymbol, declarationInitializerOpt As BoundExpression, identifierInitializerOpt As BoundArrayCreation, initializedByAsNew As Boolean) As BoundLocalDeclaration
4521Public Sub New(syntax As SyntaxNode, localDeclarations As ImmutableArray(Of BoundLocalDeclaration), initializer As BoundExpression, binder As Binder, Optional hasErrors As Boolean = False)
4541Private ReadOnly _Initializer As BoundExpression
4542Public ReadOnly Property Initializer As BoundExpression
4560Public Function Update(localDeclarations As ImmutableArray(Of BoundLocalDeclaration), initializer As BoundExpression, binder As Binder) As BoundAsNewLocalDeclarations
4573Public Sub New(syntax As SyntaxNode, localDeclarations As ImmutableArray(Of BoundLocalDeclarationBase), initializerOpt As BoundExpression, Optional hasErrors As Boolean = False)
4590Private ReadOnly _InitializerOpt As BoundExpression
4591Public ReadOnly Property InitializerOpt As BoundExpression
4602Public Function Update(localDeclarations As ImmutableArray(Of BoundLocalDeclarationBase), initializerOpt As BoundExpression) As BoundDimStatement
4641Protected Sub New(kind As BoundKind, syntax as SyntaxNode, memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder, Optional hasErrors As Boolean = False)
4652Private ReadOnly _MemberAccessExpressionOpt As BoundExpression
4653Public ReadOnly Property MemberAccessExpressionOpt As BoundExpression
4659Private ReadOnly _InitialValue As BoundExpression
4660Public ReadOnly Property InitialValue As BoundExpression
4677Public Sub New(syntax As SyntaxNode, initializedFields As ImmutableArray(Of FieldSymbol), memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder, Optional hasErrors As Boolean = False)
4699Public Function Update(initializedFields As ImmutableArray(Of FieldSymbol), memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder) As BoundFieldInitializer
4712Public Sub New(syntax As SyntaxNode, initializedProperties As ImmutableArray(Of PropertySymbol), memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder, Optional hasErrors As Boolean = False)
4734Public Function Update(initializedProperties As ImmutableArray(Of PropertySymbol), memberAccessExpressionOpt As BoundExpression, initialValue As BoundExpression, binderOpt As Binder) As BoundPropertyInitializer
4747Public Sub New(syntax As SyntaxNode, parameter As ParameterSymbol, value As BoundExpression, Optional hasErrors As Boolean = False)
4765Private ReadOnly _Value As BoundExpression
4766Public ReadOnly Property Value As BoundExpression
4777Public Function Update(parameter As ParameterSymbol, value As BoundExpression) As BoundParameterEqualsValue
4824Public Sub New(syntax As SyntaxNode, locals As ImmutableArray(Of LocalSymbol), sideEffects As ImmutableArray(Of BoundExpression), valueOpt As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
4849Private ReadOnly _SideEffects As ImmutableArray(Of BoundExpression)
4850Public ReadOnly Property SideEffects As ImmutableArray(Of BoundExpression)
4856Private ReadOnly _ValueOpt As BoundExpression
4857Public ReadOnly Property ValueOpt As BoundExpression
4868Public Function Update(locals As ImmutableArray(Of LocalSymbol), sideEffects As ImmutableArray(Of BoundExpression), valueOpt As BoundExpression, type As TypeSymbol) As BoundSequence
4881Public Sub New(syntax As SyntaxNode, expression As BoundExpression, Optional hasErrors As Boolean = False)
4890Private ReadOnly _Expression As BoundExpression
4891Public ReadOnly Property Expression As BoundExpression
4902Public Function Update(expression As BoundExpression) As BoundExpressionStatement
4915Public Sub New(syntax As SyntaxNode, condition As BoundExpression, consequence As BoundStatement, alternativeOpt As BoundStatement, Optional hasErrors As Boolean = False)
4927Private ReadOnly _Condition As BoundExpression
4928Public ReadOnly Property Condition As BoundExpression
4953Public Function Update(condition As BoundExpression, consequence As BoundStatement, alternativeOpt As BoundStatement) As BoundIfStatement
5077Public Sub New(syntax As SyntaxNode, caseClauses As ImmutableArray(Of BoundCaseClause), conditionOpt As BoundExpression, Optional hasErrors As Boolean = False)
5094Private ReadOnly _ConditionOpt As BoundExpression
5095Public ReadOnly Property ConditionOpt As BoundExpression
5106Public Function Update(caseClauses As ImmutableArray(Of BoundCaseClause), conditionOpt As BoundExpression) As BoundCaseStatement
5132Protected Sub New(kind As BoundKind, syntax as SyntaxNode, valueOpt As BoundExpression, conditionOpt As BoundExpression, Optional hasErrors As Boolean = False)
5139Private ReadOnly _ValueOpt As BoundExpression
5140Public ReadOnly Property ValueOpt As BoundExpression
5146Private ReadOnly _ConditionOpt As BoundExpression
5147Public ReadOnly Property ConditionOpt As BoundExpression
5157Public Sub New(syntax As SyntaxNode, valueOpt As BoundExpression, conditionOpt As BoundExpression, Optional hasErrors As Boolean = False)
5172Public Function Update(valueOpt As BoundExpression, conditionOpt As BoundExpression) As BoundSimpleCaseClause
5185Public Sub New(syntax As SyntaxNode, lowerBoundOpt As BoundExpression, upperBoundOpt As BoundExpression, lowerBoundConditionOpt As BoundExpression, upperBoundConditionOpt As BoundExpression, Optional hasErrors As Boolean = False)
5199Private ReadOnly _LowerBoundOpt As BoundExpression
5200Public ReadOnly Property LowerBoundOpt As BoundExpression
5206Private ReadOnly _UpperBoundOpt As BoundExpression
5207Public ReadOnly Property UpperBoundOpt As BoundExpression
5213Private ReadOnly _LowerBoundConditionOpt As BoundExpression
5214Public ReadOnly Property LowerBoundConditionOpt As BoundExpression
5220Private ReadOnly _UpperBoundConditionOpt As BoundExpression
5221Public ReadOnly Property UpperBoundConditionOpt As BoundExpression
5232Public Function Update(lowerBoundOpt As BoundExpression, upperBoundOpt As BoundExpression, lowerBoundConditionOpt As BoundExpression, upperBoundConditionOpt As BoundExpression) As BoundRangeCaseClause
5245Public Sub New(syntax As SyntaxNode, operatorKind As BinaryOperatorKind, valueOpt As BoundExpression, conditionOpt As BoundExpression, Optional hasErrors As Boolean = False)
5268Public Function Update(operatorKind As BinaryOperatorKind, valueOpt As BoundExpression, conditionOpt As BoundExpression) As BoundRelationalCaseClause
5320Public Sub New(syntax As SyntaxNode, topConditionOpt As BoundExpression, bottomConditionOpt As BoundExpression, topConditionIsUntil As Boolean, bottomConditionIsUntil As Boolean, body As BoundStatement, continueLabel As LabelSymbol, exitLabel As LabelSymbol, Optional hasErrors As Boolean = False)
5335Private ReadOnly _TopConditionOpt As BoundExpression
5336Public ReadOnly Property TopConditionOpt As BoundExpression
5342Private ReadOnly _BottomConditionOpt As BoundExpression
5343Public ReadOnly Property BottomConditionOpt As BoundExpression
5375Public Function Update(topConditionOpt As BoundExpression, bottomConditionOpt As BoundExpression, topConditionIsUntil As Boolean, bottomConditionIsUntil As Boolean, body As BoundStatement, continueLabel As LabelSymbol, exitLabel As LabelSymbol) As BoundDoLoopStatement
5388Public Sub New(syntax As SyntaxNode, condition As BoundExpression, body As BoundStatement, continueLabel As LabelSymbol, exitLabel As LabelSymbol, Optional hasErrors As Boolean = False)
5401Private ReadOnly _Condition As BoundExpression
5402Public ReadOnly Property Condition As BoundExpression
5420Public Function Update(condition As BoundExpression, body As BoundStatement, continueLabel As LabelSymbol, exitLabel As LabelSymbol) As BoundWhileStatement
5433Protected Sub New(kind As BoundKind, syntax as SyntaxNode, declaredOrInferredLocalOpt As LocalSymbol, controlVariable As BoundExpression, body As BoundStatement, nextVariablesOpt As ImmutableArray(Of BoundExpression), continueLabel As LabelSymbol, exitLabel As LabelSymbol, Optional hasErrors As Boolean = False)
5455Private ReadOnly _ControlVariable As BoundExpression
5456Public ReadOnly Property ControlVariable As BoundExpression
5469Private ReadOnly _NextVariablesOpt As ImmutableArray(Of BoundExpression)
5470Public ReadOnly Property NextVariablesOpt As ImmutableArray(Of BoundExpression)
5480Public Sub New(syntax As SyntaxNode, leftOperandPlaceholder As BoundRValuePlaceholder, rightOperandPlaceholder As BoundRValuePlaceholder, addition As BoundUserDefinedBinaryOperator, subtraction As BoundUserDefinedBinaryOperator, lessThanOrEqual As BoundExpression, greaterThanOrEqual As BoundExpression, Optional hasErrors As Boolean = False)
5532Private ReadOnly _LessThanOrEqual As BoundExpression
5533Public ReadOnly Property LessThanOrEqual As BoundExpression
5539Private ReadOnly _GreaterThanOrEqual As BoundExpression
5540Public ReadOnly Property GreaterThanOrEqual As BoundExpression
5551Public Function Update(leftOperandPlaceholder As BoundRValuePlaceholder, rightOperandPlaceholder As BoundRValuePlaceholder, addition As BoundUserDefinedBinaryOperator, subtraction As BoundUserDefinedBinaryOperator, lessThanOrEqual As BoundExpression, greaterThanOrEqual As BoundExpression) As BoundForToUserDefinedOperators
5564Public Sub New(syntax As SyntaxNode, initialValue As BoundExpression, limitValue As BoundExpression, stepValue As BoundExpression, checked As Boolean, operatorsOpt As BoundForToUserDefinedOperators, declaredOrInferredLocalOpt As LocalSymbol, controlVariable As BoundExpression, body As BoundStatement, nextVariablesOpt As ImmutableArray(Of BoundExpression), continueLabel As LabelSymbol, exitLabel As LabelSymbol, Optional hasErrors As Boolean = False)
5583Private ReadOnly _InitialValue As BoundExpression
5584Public ReadOnly Property InitialValue As BoundExpression
5590Private ReadOnly _LimitValue As BoundExpression
5591Public ReadOnly Property LimitValue As BoundExpression
5597Private ReadOnly _StepValue As BoundExpression
5598Public ReadOnly Property StepValue As BoundExpression
5623Public Function Update(initialValue As BoundExpression, limitValue As BoundExpression, stepValue As BoundExpression, checked As Boolean, operatorsOpt As BoundForToUserDefinedOperators, declaredOrInferredLocalOpt As LocalSymbol, controlVariable As BoundExpression, body As BoundStatement, nextVariablesOpt As ImmutableArray(Of BoundExpression), continueLabel As LabelSymbol, exitLabel As LabelSymbol) As BoundForToStatement
5636Public Sub New(syntax As SyntaxNode, collection As BoundExpression, enumeratorInfo As ForEachEnumeratorInfo, declaredOrInferredLocalOpt As LocalSymbol, controlVariable As BoundExpression, body As BoundStatement, nextVariablesOpt As ImmutableArray(Of BoundExpression), continueLabel As LabelSymbol, exitLabel As LabelSymbol, Optional hasErrors As Boolean = False)
5651Private ReadOnly _Collection As BoundExpression
5652Public ReadOnly Property Collection As BoundExpression
5670Public Function Update(collection As BoundExpression, enumeratorInfo As ForEachEnumeratorInfo, declaredOrInferredLocalOpt As LocalSymbol, controlVariable As BoundExpression, body As BoundStatement, nextVariablesOpt As ImmutableArray(Of BoundExpression), continueLabel As LabelSymbol, exitLabel As LabelSymbol) As BoundForEachStatement
5826Public Sub New(syntax As SyntaxNode, localOpt As LocalSymbol, exceptionSourceOpt As BoundExpression, errorLineNumberOpt As BoundExpression, exceptionFilterOpt As BoundExpression, body As BoundBlock, isSynthesizedAsyncCatchAll As Boolean, Optional hasErrors As Boolean = False)
5847Private ReadOnly _ExceptionSourceOpt As BoundExpression
5848Public ReadOnly Property ExceptionSourceOpt As BoundExpression
5854Private ReadOnly _ErrorLineNumberOpt As BoundExpression
5855Public ReadOnly Property ErrorLineNumberOpt As BoundExpression
5861Private ReadOnly _ExceptionFilterOpt As BoundExpression
5862Public ReadOnly Property ExceptionFilterOpt As BoundExpression
5887Public Function Update(localOpt As LocalSymbol, exceptionSourceOpt As BoundExpression, errorLineNumberOpt As BoundExpression, exceptionFilterOpt As BoundExpression, body As BoundBlock, isSynthesizedAsyncCatchAll As Boolean) As BoundCatchBlock
6400Public Sub New(syntax As SyntaxNode, originalArgument As BoundExpression, inConversion As BoundExpression, inPlaceholder As BoundByRefArgumentPlaceholder, outConversion As BoundExpression, outPlaceholder As BoundRValuePlaceholder, type As TypeSymbol, Optional hasErrors As Boolean = False)
6422Private ReadOnly _OriginalArgument As BoundExpression
6423Public ReadOnly Property OriginalArgument As BoundExpression
6429Private ReadOnly _InConversion As BoundExpression
6430Public ReadOnly Property InConversion As BoundExpression
6443Private ReadOnly _OutConversion As BoundExpression
6444Public ReadOnly Property OutConversion As BoundExpression
6462Public Function Update(originalArgument As BoundExpression, inConversion As BoundExpression, inPlaceholder As BoundByRefArgumentPlaceholder, outConversion As BoundExpression, outPlaceholder As BoundRValuePlaceholder, type As TypeSymbol) As BoundByRefArgumentWithCopyBack
6475Public Sub New(syntax As SyntaxNode, originalArgument As BoundExpression, localSymbol As SynthesizedLocal, type As TypeSymbol, Optional hasErrors As Boolean = False)
6491Private ReadOnly _OriginalArgument As BoundExpression
6492Public ReadOnly Property OriginalArgument As BoundExpression
6510Public Function Update(originalArgument As BoundExpression, localSymbol As SynthesizedLocal, type As TypeSymbol) As BoundLateBoundArgumentSupportingAssignmentWithCapture
6683Public Sub New(syntax As SyntaxNode, condition As BoundExpression, jumpIfTrue As Boolean, label As LabelSymbol, Optional hasErrors As Boolean = False)
6695Private ReadOnly _Condition As BoundExpression
6696Public ReadOnly Property Condition As BoundExpression
6721Public Function Update(condition As BoundExpression, jumpIfTrue As Boolean, label As LabelSymbol) As BoundConditionalGoto
6734Public Sub New(syntax As SyntaxNode, originalExpression As BoundExpression, body As BoundBlock, binder As WithBlockBinder, Optional hasErrors As Boolean = False)
6747Private ReadOnly _OriginalExpression As BoundExpression
6748Public ReadOnly Property OriginalExpression As BoundExpression
6773Public Function Update(originalExpression As BoundExpression, body As BoundBlock, binder As WithBlockBinder) As BoundWithStatement
7009Public Sub New(syntax As SyntaxNode, expression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
7019Private ReadOnly _Expression As BoundExpression
7020Public ReadOnly Property Expression As BoundExpression
7031Public Function Update(expression As BoundExpression, type As TypeSymbol) As BoundQuerySource
7182Public Sub New(syntax As SyntaxNode, underlyingExpression As BoundExpression, rangeVariables As ImmutableArray(Of RangeVariableSymbol), compoundVariableType As TypeSymbol, binders As ImmutableArray(Of Binder), type As TypeSymbol, Optional hasErrors As Boolean = False)
7195Private ReadOnly _UnderlyingExpression As BoundExpression
7196Public ReadOnly Property UnderlyingExpression As BoundExpression
7207Public Function Update(underlyingExpression As BoundExpression, rangeVariables As ImmutableArray(Of RangeVariableSymbol), compoundVariableType As TypeSymbol, binders As ImmutableArray(Of Binder), type As TypeSymbol) As BoundQueryClause
7220Public Sub New(syntax As SyntaxNode, underlyingExpression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
7230Private ReadOnly _UnderlyingExpression As BoundExpression
7231Public ReadOnly Property UnderlyingExpression As BoundExpression
7242Public Function Update(underlyingExpression As BoundExpression, type As TypeSymbol) As BoundOrdering
7255Public Sub New(syntax As SyntaxNode, lambdaSymbol As SynthesizedLambdaSymbol, rangeVariables As ImmutableArray(Of RangeVariableSymbol), expression As BoundExpression, exprIsOperandOfConditionalBranch As Boolean, Optional hasErrors As Boolean = False)
7283Private ReadOnly _Expression As BoundExpression
7284Public ReadOnly Property Expression As BoundExpression
7302Public Function Update(lambdaSymbol As SynthesizedLambdaSymbol, rangeVariables As ImmutableArray(Of RangeVariableSymbol), expression As BoundExpression, exprIsOperandOfConditionalBranch As Boolean) As BoundQueryLambda
7315Public Sub New(syntax As SyntaxNode, rangeVariable As RangeVariableSymbol, value As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
7334Private ReadOnly _Value As BoundExpression
7335Public ReadOnly Property Value As BoundExpression
7346Public Function Update(rangeVariable As RangeVariableSymbol, value As BoundExpression, type As TypeSymbol) As BoundRangeVariableAssignment
7423Public Sub New(syntax As SyntaxNode, capturedGroupOpt As BoundQueryClauseBase, groupPlaceholderOpt As BoundRValuePlaceholder, underlyingExpression As BoundExpression, rangeVariables As ImmutableArray(Of RangeVariableSymbol), compoundVariableType As TypeSymbol, binders As ImmutableArray(Of Binder), type As TypeSymbol, Optional hasErrors As Boolean = False)
7452Private ReadOnly _UnderlyingExpression As BoundExpression
7453Public ReadOnly Property UnderlyingExpression As BoundExpression
7464Public Function Update(capturedGroupOpt As BoundQueryClauseBase, groupPlaceholderOpt As BoundRValuePlaceholder, underlyingExpression As BoundExpression, rangeVariables As ImmutableArray(Of RangeVariableSymbol), compoundVariableType As TypeSymbol, binders As ImmutableArray(Of Binder), type As TypeSymbol) As BoundAggregateClause
7477Public Sub New(syntax As SyntaxNode, group As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
7487Private ReadOnly _Group As BoundExpression
7488Public ReadOnly Property Group As BoundExpression
7499Public Function Update(group As BoundExpression, type As TypeSymbol) As BoundGroupAggregation
7556Protected Sub New(kind As BoundKind, syntax as SyntaxNode, eventAccess As BoundExpression, handler As BoundExpression, Optional hasErrors As Boolean = False)
7567Private ReadOnly _EventAccess As BoundExpression
7568Public ReadOnly Property EventAccess As BoundExpression
7574Private ReadOnly _Handler As BoundExpression
7575Public ReadOnly Property Handler As BoundExpression
7585Public Sub New(syntax As SyntaxNode, eventAccess As BoundExpression, handler As BoundExpression, Optional hasErrors As Boolean = False)
7599Public Function Update(eventAccess As BoundExpression, handler As BoundExpression) As BoundAddHandlerStatement
7612Public Sub New(syntax As SyntaxNode, eventAccess As BoundExpression, handler As BoundExpression, Optional hasErrors As Boolean = False)
7626Public Function Update(eventAccess As BoundExpression, handler As BoundExpression) As BoundRemoveHandlerStatement
7639Public Sub New(syntax As SyntaxNode, eventSymbol As EventSymbol, eventInvocation As BoundExpression, Optional hasErrors As Boolean = False)
7657Private ReadOnly _EventInvocation As BoundExpression
7658Public ReadOnly Property EventInvocation As BoundExpression
7669Public Function Update(eventSymbol As EventSymbol, eventInvocation As BoundExpression) As BoundRaiseEventStatement
7682Public Sub New(syntax As SyntaxNode, resourceList As ImmutableArray(Of BoundLocalDeclarationBase), resourceExpressionOpt As BoundExpression, body As BoundBlock, usingInfo As UsingInfo, locals As ImmutableArray(Of LocalSymbol), Optional hasErrors As Boolean = False)
7704Private ReadOnly _ResourceExpressionOpt As BoundExpression
7705Public ReadOnly Property ResourceExpressionOpt As BoundExpression
7737Public Function Update(resourceList As ImmutableArray(Of BoundLocalDeclarationBase), resourceExpressionOpt As BoundExpression, body As BoundBlock, usingInfo As UsingInfo, locals As ImmutableArray(Of LocalSymbol)) As BoundUsingStatement
7750Public Sub New(syntax As SyntaxNode, lockExpression As BoundExpression, body As BoundBlock, Optional hasErrors As Boolean = False)
7761Private ReadOnly _LockExpression As BoundExpression
7762Public ReadOnly Property LockExpression As BoundExpression
7780Public Function Update(lockExpression As BoundExpression, body As BoundBlock) As BoundSyncLockStatement
7793Public Sub New(syntax As SyntaxNode, xmlNamespace As BoundExpression, localName As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
7807Private ReadOnly _XmlNamespace As BoundExpression
7808Public ReadOnly Property XmlNamespace As BoundExpression
7814Private ReadOnly _LocalName As BoundExpression
7815Public ReadOnly Property LocalName As BoundExpression
7821Private ReadOnly _ObjectCreation As BoundExpression
7822Public ReadOnly Property ObjectCreation As BoundExpression
7833Public Function Update(xmlNamespace As BoundExpression, localName As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlName
7846Public Sub New(syntax As SyntaxNode, xmlNamespace As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
7858Private ReadOnly _XmlNamespace As BoundExpression
7859Public ReadOnly Property XmlNamespace As BoundExpression
7865Private ReadOnly _ObjectCreation As BoundExpression
7866Public ReadOnly Property ObjectCreation As BoundExpression
7877Public Function Update(xmlNamespace As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlNamespace
7890Public Sub New(syntax As SyntaxNode, declaration As BoundExpression, childNodes As ImmutableArray(Of BoundExpression), rewriterInfo As BoundXmlContainerRewriterInfo, type As TypeSymbol, Optional hasErrors As Boolean = False)
7904Private ReadOnly _Declaration As BoundExpression
7905Public ReadOnly Property Declaration As BoundExpression
7911Private ReadOnly _ChildNodes As ImmutableArray(Of BoundExpression)
7912Public ReadOnly Property ChildNodes As ImmutableArray(Of BoundExpression)
7930Public Function Update(declaration As BoundExpression, childNodes As ImmutableArray(Of BoundExpression), rewriterInfo As BoundXmlContainerRewriterInfo, type As TypeSymbol) As BoundXmlDocument
7943Public Sub New(syntax As SyntaxNode, version As BoundExpression, encoding As BoundExpression, standalone As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
7956Private ReadOnly _Version As BoundExpression
7957Public ReadOnly Property Version As BoundExpression
7963Private ReadOnly _Encoding As BoundExpression
7964Public ReadOnly Property Encoding As BoundExpression
7970Private ReadOnly _Standalone As BoundExpression
7971Public ReadOnly Property Standalone As BoundExpression
7977Private ReadOnly _ObjectCreation As BoundExpression
7978Public ReadOnly Property ObjectCreation As BoundExpression
7989Public Function Update(version As BoundExpression, encoding As BoundExpression, standalone As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlDeclaration
8002Public Sub New(syntax As SyntaxNode, target As BoundExpression, data As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
8016Private ReadOnly _Target As BoundExpression
8017Public ReadOnly Property Target As BoundExpression
8023Private ReadOnly _Data As BoundExpression
8024Public ReadOnly Property Data As BoundExpression
8030Private ReadOnly _ObjectCreation As BoundExpression
8031Public ReadOnly Property ObjectCreation As BoundExpression
8042Public Function Update(target As BoundExpression, data As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlProcessingInstruction
8055Public Sub New(syntax As SyntaxNode, value As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
8067Private ReadOnly _Value As BoundExpression
8068Public ReadOnly Property Value As BoundExpression
8074Private ReadOnly _ObjectCreation As BoundExpression
8075Public ReadOnly Property ObjectCreation As BoundExpression
8086Public Function Update(value As BoundExpression, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlComment
8099Public Sub New(syntax As SyntaxNode, name As BoundExpression, value As BoundExpression, matchesImport As Boolean, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
8119Private ReadOnly _Name As BoundExpression
8120Public ReadOnly Property Name As BoundExpression
8126Private ReadOnly _Value As BoundExpression
8127Public ReadOnly Property Value As BoundExpression
8140Private ReadOnly _ObjectCreation As BoundExpression
8141Public ReadOnly Property ObjectCreation As BoundExpression
8152Public Function Update(name As BoundExpression, value As BoundExpression, matchesImport As Boolean, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlAttribute
8165Public Sub New(syntax As SyntaxNode, argument As BoundExpression, childNodes As ImmutableArray(Of BoundExpression), rewriterInfo As BoundXmlContainerRewriterInfo, type As TypeSymbol, Optional hasErrors As Boolean = False)
8179Private ReadOnly _Argument As BoundExpression
8180Public ReadOnly Property Argument As BoundExpression
8186Private ReadOnly _ChildNodes As ImmutableArray(Of BoundExpression)
8187Public ReadOnly Property ChildNodes As ImmutableArray(Of BoundExpression)
8205Public Function Update(argument As BoundExpression, childNodes As ImmutableArray(Of BoundExpression), rewriterInfo As BoundXmlContainerRewriterInfo, type As TypeSymbol) As BoundXmlElement
8218Public Sub New(syntax As SyntaxNode, memberAccess As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
8228Private ReadOnly _MemberAccess As BoundExpression
8229Public ReadOnly Property MemberAccess As BoundExpression
8240Public Function Update(memberAccess As BoundExpression, type As TypeSymbol) As BoundXmlMemberAccess
8253Public Sub New(syntax As SyntaxNode, expression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
8263Private ReadOnly _Expression As BoundExpression
8264Public ReadOnly Property Expression As BoundExpression
8275Public Function Update(expression As BoundExpression, type As TypeSymbol) As BoundXmlEmbeddedExpression
8288Public Sub New(syntax As SyntaxNode, value As BoundLiteral, objectCreation As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
8307Private ReadOnly _ObjectCreation As BoundExpression
8308Public ReadOnly Property ObjectCreation As BoundExpression
8319Public Function Update(value As BoundLiteral, objectCreation As BoundExpression, type As TypeSymbol) As BoundXmlCData
8332Public Sub New(syntax As SyntaxNode, resumeKind As ResumeStatementKind, labelOpt As LabelSymbol, labelExpressionOpt As BoundExpression, Optional hasErrors As Boolean = False)
8359Private ReadOnly _LabelExpressionOpt As BoundExpression
8360Public ReadOnly Property LabelExpressionOpt As BoundExpression
8371Public Function Update(resumeKind As ResumeStatementKind, labelOpt As LabelSymbol, labelExpressionOpt As BoundExpression) As BoundResumeStatement
8384Public Sub New(syntax As SyntaxNode, onErrorKind As OnErrorStatementKind, labelOpt As LabelSymbol, labelExpressionOpt As BoundExpression, Optional hasErrors As Boolean = False)
8411Private ReadOnly _LabelExpressionOpt As BoundExpression
8412Public ReadOnly Property LabelExpressionOpt As BoundExpression
8423Public Function Update(onErrorKind As OnErrorStatementKind, labelOpt As LabelSymbol, labelExpressionOpt As BoundExpression) As BoundOnErrorStatement
8556Public Sub New(syntax As SyntaxNode, value As BoundExpression, jumps As ImmutableArray(Of BoundGotoStatement), Optional hasErrors As Boolean = False)
8572Private ReadOnly _Value As BoundExpression
8573Public ReadOnly Property Value As BoundExpression
8591Public Function Update(value As BoundExpression, jumps As ImmutableArray(Of BoundGotoStatement)) As BoundUnstructuredExceptionOnErrorSwitch
8670Public Sub New(syntax As SyntaxNode, operand As BoundExpression, awaitableInstancePlaceholder As BoundRValuePlaceholder, getAwaiter As BoundExpression, awaiterInstancePlaceholder As BoundLValuePlaceholder, isCompleted As BoundExpression, getResult As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
8695Private ReadOnly _Operand As BoundExpression
8696Public ReadOnly Property Operand As BoundExpression
8709Private ReadOnly _GetAwaiter As BoundExpression
8710Public ReadOnly Property GetAwaiter As BoundExpression
8723Private ReadOnly _IsCompleted As BoundExpression
8724Public ReadOnly Property IsCompleted As BoundExpression
8730Private ReadOnly _GetResult As BoundExpression
8731Public ReadOnly Property GetResult As BoundExpression
8742Public Function Update(operand As BoundExpression, awaitableInstancePlaceholder As BoundRValuePlaceholder, getAwaiter As BoundExpression, awaiterInstancePlaceholder As BoundLValuePlaceholder, isCompleted As BoundExpression, getResult As BoundExpression, type As TypeSymbol) As BoundAwaitOperator
8755Public Sub New(syntax As SyntaxNode, locals As ImmutableArray(Of LocalSymbol), spillFields As ImmutableArray(Of FieldSymbol), statements As ImmutableArray(Of BoundStatement), valueOpt As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
8795Private ReadOnly _ValueOpt As BoundExpression
8796Public ReadOnly Property ValueOpt As BoundExpression
8807Public Function Update(locals As ImmutableArray(Of LocalSymbol), spillFields As ImmutableArray(Of FieldSymbol), statements As ImmutableArray(Of BoundStatement), valueOpt As BoundExpression, type As TypeSymbol) As BoundSpillSequence
8856Public Sub New(syntax As SyntaxNode, original As BoundExpression, start As BoundExpression, lengthOpt As BoundExpression, source As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
8876Private ReadOnly _Original As BoundExpression
8877Public ReadOnly Property Original As BoundExpression
8883Private ReadOnly _Start As BoundExpression
8884Public ReadOnly Property Start As BoundExpression
8890Private ReadOnly _LengthOpt As BoundExpression
8891Public ReadOnly Property LengthOpt As BoundExpression
8897Private ReadOnly _Source As BoundExpression
8898Public ReadOnly Property Source As BoundExpression
8909Public Function Update(original As BoundExpression, start As BoundExpression, lengthOpt As BoundExpression, source As BoundExpression, type As TypeSymbol) As BoundMidResult
8922Public Sub New(syntax As SyntaxNode, receiver As BoundExpression, placeholder As BoundRValuePlaceholder, accessExpression As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
8935Private ReadOnly _Receiver As BoundExpression
8936Public ReadOnly Property Receiver As BoundExpression
8949Private ReadOnly _AccessExpression As BoundExpression
8950Public ReadOnly Property AccessExpression As BoundExpression
8961Public Function Update(receiver As BoundExpression, placeholder As BoundRValuePlaceholder, accessExpression As BoundExpression, type As TypeSymbol) As BoundConditionalAccess
9032Public Sub New(syntax As SyntaxNode, receiverOrCondition As BoundExpression, captureReceiver As Boolean, placeholderId As Integer, whenNotNull As BoundExpression, whenNullOpt As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
9052Private ReadOnly _ReceiverOrCondition As BoundExpression
9053Public ReadOnly Property ReceiverOrCondition As BoundExpression
9073Private ReadOnly _WhenNotNull As BoundExpression
9074Public ReadOnly Property WhenNotNull As BoundExpression
9080Private ReadOnly _WhenNullOpt As BoundExpression
9081Public ReadOnly Property WhenNullOpt As BoundExpression
9092Public Function Update(receiverOrCondition As BoundExpression, captureReceiver As Boolean, placeholderId As Integer, whenNotNull As BoundExpression, whenNullOpt As BoundExpression, type As TypeSymbol) As BoundLoweredConditionalAccess
9105Public Sub New(syntax As SyntaxNode, valueTypeReceiver As BoundExpression, referenceTypeReceiver As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
9122Private ReadOnly _ValueTypeReceiver As BoundExpression
9123Public ReadOnly Property ValueTypeReceiver As BoundExpression
9129Private ReadOnly _ReferenceTypeReceiver As BoundExpression
9130Public ReadOnly Property ReferenceTypeReceiver As BoundExpression
9141Public Function Update(valueTypeReceiver As BoundExpression, referenceTypeReceiver As BoundExpression, type As TypeSymbol) As BoundComplexConditionalAccessReceiver
9154Public Sub New(syntax As SyntaxNode, argument As BoundExpression, constantValueOpt As ConstantValue, type As TypeSymbol, Optional hasErrors As Boolean = False)
9170Private ReadOnly _Argument As BoundExpression
9171Public ReadOnly Property Argument As BoundExpression
9189Public Function Update(argument As BoundExpression, constantValueOpt As ConstantValue, type As TypeSymbol) As BoundNameOfOperator
9242Public Sub New(syntax As SyntaxNode, contents As ImmutableArray(Of BoundNode), constructionOpt As BoundExpression, type As TypeSymbol, Optional hasErrors As Boolean = False)
9265Private ReadOnly _ConstructionOpt As BoundExpression
9266Public ReadOnly Property ConstructionOpt As BoundExpression
9277Public Function Update(contents As ImmutableArray(Of BoundNode), constructionOpt As BoundExpression, type As TypeSymbol) As BoundInterpolatedStringExpression
9290Public Sub New(syntax As SyntaxNode, expression As BoundExpression, alignmentOpt As BoundExpression, formatStringOpt As BoundLiteral, Optional hasErrors As Boolean = False)
9301Private ReadOnly _Expression As BoundExpression
9302Public ReadOnly Property Expression As BoundExpression
9308Private ReadOnly _AlignmentOpt As BoundExpression
9309Public ReadOnly Property AlignmentOpt As BoundExpression
9327Public Function Update(expression As BoundExpression, alignmentOpt As BoundExpression, formatStringOpt As BoundLiteral) As BoundInterpolation
12066Dim underlyingLValue As BoundExpression = DirectCast(Me.Visit(node.UnderlyingLValue), BoundExpression)
12097Dim childBoundNodes As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ChildBoundNodes)
12108Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression)
12114Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression)
12120Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression)
12121Dim indices As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Indices)
12127Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression)
12149Dim unevaluatedReceiverOpt As BoundExpression = node.UnevaluatedReceiverOpt
12160Dim unevaluatedReceiverOpt As BoundExpression = DirectCast(Me.Visit(node.UnevaluatedReceiverOpt), BoundExpression)
12196Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression)
12202Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression)
12208Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression)
12214Dim left As BoundExpression = DirectCast(Me.Visit(node.Left), BoundExpression)
12215Dim right As BoundExpression = DirectCast(Me.Visit(node.Right), BoundExpression)
12221Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression)
12227Dim leftOperand As BoundExpression = DirectCast(Me.Visit(node.LeftOperand), BoundExpression)
12229Dim leftTest As BoundExpression = DirectCast(Me.Visit(node.LeftTest), BoundExpression)
12241Dim left As BoundExpression = DirectCast(Me.Visit(node.Left), BoundExpression)
12243Dim right As BoundExpression = DirectCast(Me.Visit(node.Right), BoundExpression)
12250Dim lValue As BoundExpression = DirectCast(Me.Visit(node.LValue), BoundExpression)
12262Dim condition As BoundExpression = DirectCast(Me.Visit(node.Condition), BoundExpression)
12263Dim whenTrue As BoundExpression = DirectCast(Me.Visit(node.WhenTrue), BoundExpression)
12264Dim whenFalse As BoundExpression = DirectCast(Me.Visit(node.WhenFalse), BoundExpression)
12270Dim testExpression As BoundExpression = DirectCast(Me.Visit(node.TestExpression), BoundExpression)
12271Dim convertedTestExpression As BoundExpression = node.ConvertedTestExpression
12273Dim elseExpression As BoundExpression = DirectCast(Me.Visit(node.ElseExpression), BoundExpression)
12279Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression)
12293Dim convertedElements As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ConvertedElements)
12298Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression)
12304Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression)
12311Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression)
12318Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression)
12330Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression)
12346Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression)
12352Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression)
12358Dim expressionOpt As BoundExpression = DirectCast(Me.Visit(node.ExpressionOpt), BoundExpression)
12363Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression)
12368Dim expressionOpt As BoundExpression = DirectCast(Me.Visit(node.ExpressionOpt), BoundExpression)
12378Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression)
12379Dim indices As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Indices)
12390Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression)
12391Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12397Dim constructorArguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ConstructorArguments)
12398Dim namedArguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.NamedArguments)
12404Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression)
12412Dim member As BoundExpression = DirectCast(Me.Visit(node.Member), BoundExpression)
12413Dim argumentsOpt As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ArgumentsOpt)
12426Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12432Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12440Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12454Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12465Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression)
12472Dim initializers As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Initializers)
12479Dim initializers As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Initializers)
12491Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression)
12500Dim bounds As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Bounds)
12508Dim bounds As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Bounds)
12515Dim initializers As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Initializers)
12521Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression)
12528Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression)
12529Dim arguments As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Arguments)
12535Dim receiverOpt As BoundExpression = DirectCast(Me.Visit(node.ReceiverOpt), BoundExpression)
12551Dim declarationInitializerOpt As BoundExpression = DirectCast(Me.Visit(node.DeclarationInitializerOpt), BoundExpression)
12558Dim initializer As BoundExpression = DirectCast(Me.Visit(node.Initializer), BoundExpression)
12564Dim initializerOpt As BoundExpression = DirectCast(Me.Visit(node.InitializerOpt), BoundExpression)
12573Dim memberAccessExpressionOpt As BoundExpression = DirectCast(Me.Visit(node.MemberAccessExpressionOpt), BoundExpression)
12574Dim initialValue As BoundExpression = DirectCast(Me.Visit(node.InitialValue), BoundExpression)
12579Dim memberAccessExpressionOpt As BoundExpression = DirectCast(Me.Visit(node.MemberAccessExpressionOpt), BoundExpression)
12580Dim initialValue As BoundExpression = DirectCast(Me.Visit(node.InitialValue), BoundExpression)
12585Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression)
12595Dim sideEffects As ImmutableArray(Of BoundExpression) = Me.VisitList(node.SideEffects)
12596Dim valueOpt As BoundExpression = DirectCast(Me.Visit(node.ValueOpt), BoundExpression)
12602Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression)
12607Dim condition As BoundExpression = DirectCast(Me.Visit(node.Condition), BoundExpression)
12628Dim conditionOpt As BoundExpression = DirectCast(Me.Visit(node.ConditionOpt), BoundExpression)
12633Dim valueOpt As BoundExpression = DirectCast(Me.Visit(node.ValueOpt), BoundExpression)
12634Dim conditionOpt As BoundExpression = DirectCast(Me.Visit(node.ConditionOpt), BoundExpression)
12639Dim lowerBoundOpt As BoundExpression = DirectCast(Me.Visit(node.LowerBoundOpt), BoundExpression)
12640Dim upperBoundOpt As BoundExpression = DirectCast(Me.Visit(node.UpperBoundOpt), BoundExpression)
12641Dim lowerBoundConditionOpt As BoundExpression = DirectCast(Me.Visit(node.LowerBoundConditionOpt), BoundExpression)
12642Dim upperBoundConditionOpt As BoundExpression = DirectCast(Me.Visit(node.UpperBoundConditionOpt), BoundExpression)
12647Dim valueOpt As BoundExpression = DirectCast(Me.Visit(node.ValueOpt), BoundExpression)
12648Dim conditionOpt As BoundExpression = DirectCast(Me.Visit(node.ConditionOpt), BoundExpression)
12653Dim topConditionOpt As BoundExpression = DirectCast(Me.Visit(node.TopConditionOpt), BoundExpression)
12654Dim bottomConditionOpt As BoundExpression = DirectCast(Me.Visit(node.BottomConditionOpt), BoundExpression)
12660Dim condition As BoundExpression = DirectCast(Me.Visit(node.Condition), BoundExpression)
12670Dim lessThanOrEqual As BoundExpression = DirectCast(Me.Visit(node.LessThanOrEqual), BoundExpression)
12671Dim greaterThanOrEqual As BoundExpression = DirectCast(Me.Visit(node.GreaterThanOrEqual), BoundExpression)
12676Dim initialValue As BoundExpression = DirectCast(Me.Visit(node.InitialValue), BoundExpression)
12677Dim limitValue As BoundExpression = DirectCast(Me.Visit(node.LimitValue), BoundExpression)
12678Dim stepValue As BoundExpression = DirectCast(Me.Visit(node.StepValue), BoundExpression)
12680Dim controlVariable As BoundExpression = DirectCast(Me.Visit(node.ControlVariable), BoundExpression)
12682Dim nextVariablesOpt As ImmutableArray(Of BoundExpression) = Me.VisitList(node.NextVariablesOpt)
12687Dim collection As BoundExpression = DirectCast(Me.Visit(node.Collection), BoundExpression)
12688Dim controlVariable As BoundExpression = DirectCast(Me.Visit(node.ControlVariable), BoundExpression)
12690Dim nextVariablesOpt As ImmutableArray(Of BoundExpression) = Me.VisitList(node.NextVariablesOpt)
12710Dim exceptionSourceOpt As BoundExpression = DirectCast(Me.Visit(node.ExceptionSourceOpt), BoundExpression)
12711Dim errorLineNumberOpt As BoundExpression = DirectCast(Me.Visit(node.ErrorLineNumberOpt), BoundExpression)
12712Dim exceptionFilterOpt As BoundExpression = DirectCast(Me.Visit(node.ExceptionFilterOpt), BoundExpression)
12773Dim originalArgument As BoundExpression = DirectCast(Me.Visit(node.OriginalArgument), BoundExpression)
12774Dim inConversion As BoundExpression = DirectCast(Me.Visit(node.InConversion), BoundExpression)
12776Dim outConversion As BoundExpression = DirectCast(Me.Visit(node.OutConversion), BoundExpression)
12783Dim originalArgument As BoundExpression = DirectCast(Me.Visit(node.OriginalArgument), BoundExpression)
12808Dim condition As BoundExpression = DirectCast(Me.Visit(node.Condition), BoundExpression)
12813Dim originalExpression As BoundExpression = DirectCast(Me.Visit(node.OriginalExpression), BoundExpression)
12837Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression)
12856Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression)
12863Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression)
12869Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression)
12875Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression)
12888Dim underlyingExpression As BoundExpression = DirectCast(Me.Visit(node.UnderlyingExpression), BoundExpression)
12895Dim group As BoundExpression = DirectCast(Me.Visit(node.Group), BoundExpression)
12906Dim eventAccess As BoundExpression = DirectCast(Me.Visit(node.EventAccess), BoundExpression)
12907Dim handler As BoundExpression = DirectCast(Me.Visit(node.Handler), BoundExpression)
12912Dim eventAccess As BoundExpression = DirectCast(Me.Visit(node.EventAccess), BoundExpression)
12913Dim handler As BoundExpression = DirectCast(Me.Visit(node.Handler), BoundExpression)
12918Dim eventInvocation As BoundExpression = DirectCast(Me.Visit(node.EventInvocation), BoundExpression)
12924Dim resourceExpressionOpt As BoundExpression = DirectCast(Me.Visit(node.ResourceExpressionOpt), BoundExpression)
12930Dim lockExpression As BoundExpression = DirectCast(Me.Visit(node.LockExpression), BoundExpression)
12936Dim xmlNamespace As BoundExpression = DirectCast(Me.Visit(node.XmlNamespace), BoundExpression)
12937Dim localName As BoundExpression = DirectCast(Me.Visit(node.LocalName), BoundExpression)
12938Dim objectCreation As BoundExpression = node.ObjectCreation
12944Dim xmlNamespace As BoundExpression = DirectCast(Me.Visit(node.XmlNamespace), BoundExpression)
12945Dim objectCreation As BoundExpression = node.ObjectCreation
12951Dim declaration As BoundExpression = DirectCast(Me.Visit(node.Declaration), BoundExpression)
12952Dim childNodes As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ChildNodes)
12958Dim version As BoundExpression = DirectCast(Me.Visit(node.Version), BoundExpression)
12959Dim encoding As BoundExpression = DirectCast(Me.Visit(node.Encoding), BoundExpression)
12960Dim standalone As BoundExpression = DirectCast(Me.Visit(node.Standalone), BoundExpression)
12961Dim objectCreation As BoundExpression = node.ObjectCreation
12967Dim target As BoundExpression = DirectCast(Me.Visit(node.Target), BoundExpression)
12968Dim data As BoundExpression = DirectCast(Me.Visit(node.Data), BoundExpression)
12969Dim objectCreation As BoundExpression = node.ObjectCreation
12975Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression)
12976Dim objectCreation As BoundExpression = node.ObjectCreation
12982Dim name As BoundExpression = DirectCast(Me.Visit(node.Name), BoundExpression)
12983Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression)
12984Dim objectCreation As BoundExpression = node.ObjectCreation
12990Dim argument As BoundExpression = DirectCast(Me.Visit(node.Argument), BoundExpression)
12991Dim childNodes As ImmutableArray(Of BoundExpression) = Me.VisitList(node.ChildNodes)
12997Dim memberAccess As BoundExpression = DirectCast(Me.Visit(node.MemberAccess), BoundExpression)
13003Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression)
13010Dim objectCreation As BoundExpression = node.ObjectCreation
13016Dim labelExpressionOpt As BoundExpression = DirectCast(Me.Visit(node.LabelExpressionOpt), BoundExpression)
13021Dim labelExpressionOpt As BoundExpression = DirectCast(Me.Visit(node.LabelExpressionOpt), BoundExpression)
13038Dim value As BoundExpression = DirectCast(Me.Visit(node.Value), BoundExpression)
13052Dim operand As BoundExpression = DirectCast(Me.Visit(node.Operand), BoundExpression)
13054Dim getAwaiter As BoundExpression = DirectCast(Me.Visit(node.GetAwaiter), BoundExpression)
13056Dim isCompleted As BoundExpression = DirectCast(Me.Visit(node.IsCompleted), BoundExpression)
13057Dim getResult As BoundExpression = DirectCast(Me.Visit(node.GetResult), BoundExpression)
13064Dim valueOpt As BoundExpression = DirectCast(Me.Visit(node.ValueOpt), BoundExpression)
13078Dim original As BoundExpression = DirectCast(Me.Visit(node.Original), BoundExpression)
13079Dim start As BoundExpression = DirectCast(Me.Visit(node.Start), BoundExpression)
13080Dim lengthOpt As BoundExpression = DirectCast(Me.Visit(node.LengthOpt), BoundExpression)
13081Dim source As BoundExpression = DirectCast(Me.Visit(node.Source), BoundExpression)
13087Dim receiver As BoundExpression = DirectCast(Me.Visit(node.Receiver), BoundExpression)
13089Dim accessExpression As BoundExpression = DirectCast(Me.Visit(node.AccessExpression), BoundExpression)
13100Dim receiverOrCondition As BoundExpression = DirectCast(Me.Visit(node.ReceiverOrCondition), BoundExpression)
13101Dim whenNotNull As BoundExpression = DirectCast(Me.Visit(node.WhenNotNull), BoundExpression)
13102Dim whenNullOpt As BoundExpression = DirectCast(Me.Visit(node.WhenNullOpt), BoundExpression)
13108Dim valueTypeReceiver As BoundExpression = DirectCast(Me.Visit(node.ValueTypeReceiver), BoundExpression)
13109Dim referenceTypeReceiver As BoundExpression = DirectCast(Me.Visit(node.ReferenceTypeReceiver), BoundExpression)
13115Dim argument As BoundExpression = DirectCast(Me.Visit(node.Argument), BoundExpression)
13128Dim constructionOpt As BoundExpression = node.ConstructionOpt
13134Dim expression As BoundExpression = DirectCast(Me.Visit(node.Expression), BoundExpression)
13135Dim alignmentOpt As BoundExpression = DirectCast(Me.Visit(node.AlignmentOpt), BoundExpression)
Lowering\AsyncRewriter\AsyncRewriter.AsyncMethodToClassRewriter.Await.vb (9)
49Dim rewrittenGetAwaiter As BoundExpression = VisitExpression(node.GetAwaiter)
50Dim rewrittenIsCompleted As BoundExpression = VisitExpression(node.IsCompleted)
51Dim rewrittenGetResult As BoundExpression = VisitExpression(node.GetResult)
89Dim onAwaitFinished As BoundExpression = Nothing
90Dim clearAwaiterTemp As BoundExpression =
140DirectCast(Me.F.Local(awaiterTemp, False), BoundExpression),
148Dim builderFieldAsRValue As BoundExpression = Me.F.Field(Me.F.Me(), Me._builder, False)
265DirectCast(Me.F.Field(Me.F.Me(), awaiterField, False), BoundExpression),
279Protected Overrides Function MaterializeProxy(origExpression As BoundExpression, proxy As CapturedSymbolOrExpression) As BoundNode
Lowering\AsyncRewriter\AsyncRewriter.AsyncMethodToClassRewriter.Expressions.vb (62)
27Public Function VisitExpression(expression As BoundExpression) As BoundExpression
28Return DirectCast(Me.Visit(expression), BoundExpression)
33Dim valueOpt As BoundExpression = Me.VisitExpression(node.ValueOpt)
54Dim sideEffects As ImmutableArray(Of BoundExpression) = rewritten.SideEffects
55Dim valueOpt As BoundExpression = rewritten.ValueOpt
83Private Function MakeExpressionStatement(expression As BoundExpression, ByRef builder As SpillBuilder) As BoundStatement
96Dim receiverOpt As BoundExpression = rewritten.ReceiverOpt
97Dim arguments As ImmutableArray(Of BoundExpression) = rewritten.Arguments
149Dim spilledReferenceReceiver As BoundExpression = SpillRValue(receiverOpt.MakeRValue(), referenceReceiverBuilder)
191Dim arguments As ImmutableArray(Of BoundExpression) = rewritten.Arguments
211Dim receiverOpt As BoundExpression = rewritten.ReceiverOpt
232Dim left As BoundExpression = rewritten.Left
233Dim right As BoundExpression = rewritten.Right
262Dim newArgs As ImmutableArray(Of BoundExpression) = SpillExpressionList(builder, left, right)
277Friend Function ProcessRewrittenAssignmentOperator(rewritten As BoundAssignmentOperator) As BoundExpression
280Dim left As BoundExpression = rewritten.Left
281Dim right As BoundExpression = rewritten.Right
309Dim spilledLeft As BoundExpression = SpillLValue(left, isReceiver:=False, evaluateSideEffects:=True, builder:=builder, isAssignmentTarget:=True)
330Dim rewrittenRight As BoundExpression = Me.VisitExpression(node.LValue)
362Dim initializersBuilder = ArrayBuilder(Of BoundExpression).GetInstance()
365Dim materializedCapture As BoundExpression = capturedLocal.Materialize(Me, node.IsLValue)
382Dim receiverOpt As BoundExpression = rewritten.ReceiverOpt
402Dim operand As BoundExpression = rewritten.Operand
423Dim operand As BoundExpression = rewritten.Operand
443Dim operand As BoundExpression = rewritten.Operand
467Dim operand As BoundExpression = rewritten.UnderlyingLValue
484Dim condition As BoundExpression = rewritten.Condition
485Dim whenTrue As BoundExpression = rewritten.WhenTrue
486Dim whenFalse As BoundExpression = rewritten.WhenFalse
501Dim sequenceValueOpt As BoundExpression
528Private Function MakeAssignmentStatement(expression As BoundExpression, temp As LocalSymbol, <[In], Out> ByRef builder As SpillBuilder) As BoundStatement
539Private Function MakeAssignmentStatement(expression As BoundExpression, temp As LocalSymbol) As BoundStatement
562Dim receiverOrCondition As BoundExpression = DirectCast(Me.Visit(node.ReceiverOrCondition), BoundExpression)
576Dim whenNotNull As BoundExpression = DirectCast(Me.Visit(node.WhenNotNull), BoundExpression)
584Dim whenNullOpt As BoundExpression = DirectCast(Me.Visit(node.WhenNullOpt), BoundExpression)
617Dim condition As BoundExpression
625Dim receiver As BoundExpression = receiverOrCondition
627Dim nullCheckTarget As BoundExpression
628Dim placeholderReplacement As BoundExpression
634Dim capturedReceiver As BoundExpression
654Dim spilledReferenceReceiver As BoundExpression = SpillRValue(receiver.MakeRValue(), referenceReceiverBuilder)
714whenNotNull = DirectCast(rewriter.Visit(whenNotNull), BoundExpression)
763Private ReadOnly _replaceWith As BoundExpression
766Public Sub New(placeholderId As Integer, replaceWith As BoundExpression, recursionDepth As Integer)
818Dim bounds As ImmutableArray(Of BoundExpression) = Me.VisitList(node.Bounds)
854Private Function VisitArrayInitializationParts(node As BoundArrayInitialization) As BoundExpression
857Dim parts As ImmutableArray(Of BoundExpression) = node.Initializers
860Dim rewrittenParts(partCount - 1) As BoundExpression
863Dim part As BoundExpression = parts(index)
884Dim expression As BoundExpression = rewritten.Expression
885Dim indices As ImmutableArray(Of BoundExpression) = rewritten.Indices
893Dim allExpressions = ImmutableArray.Create(Of BoundExpression)(expression).Concat(indices)
905Dim expression As BoundExpression = rewritten.Expression
920Dim operand As BoundExpression = rewritten.Operand
940Dim testExpression As BoundExpression = rewritten.TestExpression
941Dim elseExpression As BoundExpression = rewritten.ElseExpression
965Dim operand As BoundExpression = rewritten.Operand
983Dim expression As BoundExpression = rewritten.Expression
Lowering\AsyncRewriter\AsyncRewriter.AsyncMethodToClassRewriter.Spilling.vb (34)
19Private Shared Function NeedsSpill(node As BoundExpression) As Boolean
37Private Shared Function NeedsSpill(nodes As ImmutableArray(Of BoundExpression)) As Boolean
69Public ReadOnly ReceiverOpt As BoundExpression
70Public ReadOnly Arguments As ImmutableArray(Of BoundExpression)
72Public Sub New(receiverOpt As BoundExpression, arguments As ImmutableArray(Of BoundExpression))
131expressions As ImmutableArray(Of BoundExpression)
132) As ImmutableArray(Of BoundExpression)
135Dim newArgs As ImmutableArray(Of BoundExpression) = SpillArgumentListInner(expressions, spillBuilders, False)
148ParamArray expressions() As BoundExpression) As ImmutableArray(Of BoundExpression)
152Private Function SpillArgumentListInner(arguments As ImmutableArray(Of BoundExpression),
154<[In], Out> ByRef spilledFirstArg As Boolean) As ImmutableArray(Of BoundExpression)
156Dim newArgs(arguments.Length - 1) As BoundExpression
158Dim arg As BoundExpression = arguments(index)
163Dim newInitializers As ImmutableArray(Of BoundExpression) =
171Dim newExpression As BoundExpression
208Private Function SpillValue(expr As BoundExpression, <[In], Out> ByRef builder As SpillBuilder) As BoundExpression
212Private Function SpillValue(expr As BoundExpression, isReceiver As Boolean, evaluateSideEffects As Boolean, <[In], Out> ByRef builder As SpillBuilder) As BoundExpression
224Private Function SpillLValue(expr As BoundExpression, isReceiver As Boolean, evaluateSideEffects As Boolean, <[In], Out> ByRef builder As SpillBuilder, Optional isAssignmentTarget As Boolean = False) As BoundExpression
239Dim sideEffects As ImmutableArray(Of BoundExpression) = sequence.SideEffects
264Dim spilledExpression As BoundExpression = SpillRValue(array.Expression, builder)
266Dim indices As ImmutableArray(Of BoundExpression) = array.Indices
267Dim spilledIndices(indices.Length - 1) As BoundExpression
292Dim newReceiver As BoundExpression = SpillValue(fieldAccess.ReceiverOpt,
317Dim spilledValueReceiver As BoundExpression = SpillLValue(complexReceiver.ValueTypeReceiver, isReceiver, evaluateSideEffects, valueReceiverBuilder, isAssignmentTarget)
322Dim spilledReferenceReceiver As BoundExpression = SpillLValue(complexReceiver.ReferenceTypeReceiver, isReceiver, evaluateSideEffects, referenceReceiverBuilder, isAssignmentTarget)
381Private Function SpillRValue(expr As BoundExpression, <[In], Out> ByRef builder As SpillBuilder) As BoundExpression
552Private Shared Function Unspillable(node As BoundExpression) As Boolean
576Private Shared Function SpillSequenceWithNewValue(spill As BoundSpillSequence, newValue As BoundExpression) As BoundSpillSequence
Lowering\AsyncRewriter\AsyncRewriter.CapturedSymbolOrExpression.vb (18)
21Friend MustOverride Function Materialize(rewriter As AsyncRewriter.AsyncMethodToClassRewriter, isLValue As Boolean) As BoundExpression
37Friend MustOverride Sub CreateCaptureInitializationCode(rewriter As AsyncRewriter.AsyncMethodToClassRewriter, prologue As ArrayBuilder(Of BoundExpression))
53Friend Overloads Overrides Sub CreateCaptureInitializationCode(rewriter As AsyncRewriter.AsyncMethodToClassRewriter, prologue As ArrayBuilder(Of BoundExpression))
56Friend Overloads Overrides Function Materialize(rewriter As AsyncMethodToClassRewriter, isLValue As Boolean) As BoundExpression
72Friend Overloads Overrides Function Materialize(rewriter As AsyncRewriter.AsyncMethodToClassRewriter, isLValue As Boolean) As BoundExpression
74Dim framePointer As BoundExpression = rewriter.FramePointer(syntax, Me.Field.ContainingType)
87Friend Overloads Overrides Sub CreateCaptureInitializationCode(rewriter As AsyncRewriter.AsyncMethodToClassRewriter, prologue As ArrayBuilder(Of BoundExpression))
107Friend Overloads Overrides Sub CreateCaptureInitializationCode(rewriter As AsyncRewriter.AsyncMethodToClassRewriter, prologue As ArrayBuilder(Of BoundExpression))
115Friend ReadOnly Expression As BoundExpression
117Public Sub New(field As FieldSymbol, expr As BoundExpression)
124Friend Overloads Overrides Sub CreateCaptureInitializationCode(rewriter As AsyncRewriter.AsyncMethodToClassRewriter, prologue As ArrayBuilder(Of BoundExpression))
146Friend Overloads Overrides Sub CreateCaptureInitializationCode(rewriter As AsyncRewriter.AsyncMethodToClassRewriter, prologue As ArrayBuilder(Of BoundExpression))
152Friend Overloads Overrides Function Materialize(rewriter As AsyncMethodToClassRewriter, isLValue As Boolean) As BoundExpression
153Dim newReceiverOpt As BoundExpression = Nothing
175Friend Overloads Overrides Sub CreateCaptureInitializationCode(rewriter As AsyncRewriter.AsyncMethodToClassRewriter, prologue As ArrayBuilder(Of BoundExpression))
182Friend Overloads Overrides Function Materialize(rewriter As AsyncMethodToClassRewriter, isLValue As Boolean) As BoundExpression
186Dim indices(indicesCount - 1) As BoundExpression
191Dim arrayPointer As BoundExpression = Me.ArrayPointer.Materialize(rewriter, False)
Lowering\AsyncRewriter\AsyncRewriter.vb (20)
211Dim stateFieldAsLValue As BoundExpression =
223Dim builderFieldAsLValue As BoundExpression = Me.F.Field(Me.F.Local(stateMachineVariable, True), constructedBuilderField, True)
393initializers As Dictionary(Of LocalSymbol, BoundExpression)) As CapturedSymbolOrExpression
400expression As BoundExpression,
401initializers As Dictionary(Of LocalSymbol, BoundExpression)) As CapturedSymbolOrExpression
448Dim indices As ImmutableArray(Of BoundExpression) = arrayAccess.Indices
474Protected Overrides Sub InitializeParameterWithProxy(parameter As ParameterSymbol, proxy As CapturedSymbolOrExpression, stateMachineVariable As LocalSymbol, initializers As ArrayBuilder(Of BoundExpression))
482Dim expression As BoundExpression = If(parameter.IsMe,
483DirectCast(Me.F.[Me](), BoundExpression),
504Private Function GenerateMethodCall(receiver As BoundExpression,
507ParamArray arguments As BoundExpression()) As BoundExpression
512Private Function GenerateMethodCall(receiver As BoundExpression,
516ParamArray arguments As BoundExpression()) As BoundExpression
532ImmutableArray.Create(Of BoundExpression)(arguments),
539Private Function FindMethodAndReturnMethodGroup(receiver As BoundExpression,
575Private Function GeneratePropertyGet(receiver As BoundExpression, type As TypeSymbol, propertyName As String) As BoundExpression
602Private Function FindPropertyAndReturnPropertyGroup(receiver As BoundExpression, type As TypeSymbol, propertyName As String) As BoundPropertyGroup
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter.vb (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\Instrumentation\CompoundInstrumenter.vb (19)
91Public Overrides Function InstrumentTopLevelExpressionInQuery(original As BoundExpression, rewritten As BoundExpression) As BoundExpression
155Public Overrides Function InstrumentDoLoopStatementCondition(original As BoundDoLoopStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
159Public Overrides Function InstrumentWhileStatementCondition(original As BoundWhileStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
163Public Overrides Function InstrumentForEachStatementCondition(original As BoundForEachStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
167Public Overrides Function InstrumentObjectForLoopInitCondition(original As BoundForToStatement, rewrittenInitCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
171Public Overrides Function InstrumentObjectForLoopCondition(original As BoundForToStatement, rewrittenLoopCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
175Public Overrides Function InstrumentIfStatementCondition(original As BoundIfStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
179Public Overrides Function InstrumentCatchBlockFilter(original As BoundCatchBlock, rewrittenFilter As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
203Public Overrides Function InstrumentSelectStatementCaseCondition(original As BoundSelectStatement, rewrittenCaseCondition As BoundExpression, currentMethodOrLambda As MethodSymbol, ByRef lazyConditionalBranchLocal As LocalSymbol) As BoundExpression
Lowering\Instrumentation\DebugInfoInjector.vb (19)
96Public Overrides Function InstrumentTopLevelExpressionInQuery(original As BoundExpression, rewritten As BoundExpression) As BoundExpression
257Public Overrides Function InstrumentDoLoopStatementCondition(original As BoundDoLoopStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
261Public Overrides Function InstrumentWhileStatementCondition(original As BoundWhileStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
265Public Overrides Function InstrumentForEachStatementCondition(original As BoundForEachStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
269Public Overrides Function InstrumentObjectForLoopInitCondition(original As BoundForToStatement, rewrittenInitCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
273Public Overrides Function InstrumentObjectForLoopCondition(original As BoundForToStatement, rewrittenLoopCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
277Public Overrides Function InstrumentIfStatementCondition(original As BoundIfStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
281Public Overrides Function InstrumentCatchBlockFilter(original As BoundCatchBlock, rewrittenFilter As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
300Public Overrides Function InstrumentSelectStatementCaseCondition(original As BoundSelectStatement, rewrittenCaseCondition As BoundExpression, currentMethodOrLambda As MethodSymbol, ByRef lazyConditionalBranchLocal As LocalSymbol) As BoundExpression
Lowering\Instrumentation\Instrumenter.vb (19)
108Public Overridable Function InstrumentTopLevelExpressionInQuery(original As BoundExpression, rewritten As BoundExpression) As BoundExpression
231Public Overridable Function InstrumentDoLoopStatementCondition(original As BoundDoLoopStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
236Public Overridable Function InstrumentWhileStatementCondition(original As BoundWhileStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
241Public Overridable Function InstrumentForEachStatementCondition(original As BoundForEachStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
246Public Overridable Function InstrumentObjectForLoopInitCondition(original As BoundForToStatement, rewrittenInitCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
251Public Overridable Function InstrumentObjectForLoopCondition(original As BoundForToStatement, rewrittenLoopCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
256Public Overridable Function InstrumentIfStatementCondition(original As BoundIfStatement, rewrittenCondition As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
261Public Overridable Function InstrumentCatchBlockFilter(original As BoundCatchBlock, rewrittenFilter As BoundExpression, currentMethodOrLambda As MethodSymbol) As BoundExpression
315Public Overridable Function InstrumentSelectStatementCaseCondition(original As BoundSelectStatement, rewrittenCaseCondition As BoundExpression, currentMethodOrLambda As MethodSymbol, ByRef lazyConditionalBranchLocal As LocalSymbol) As BoundExpression
Lowering\LambdaRewriter\LambdaRewriter.vb (36)
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_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_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_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_ForEach.vb (17)
30Dim originalCollection As BoundExpression
45Dim replacedCollection As BoundExpression = originalCollection
101replacedControlVariable), BoundExpression)
185collectionExpression As BoundExpression
256Dim boundLimit As BoundExpression = Nothing
267ImmutableArray(Of BoundExpression).Empty,
276Dim boundCurrent As BoundExpression
282ImmutableArray.Create(Of BoundExpression)(boundIndex.MakeRValue()),
297ImmutableArray.Create(Of BoundExpression)(boundIndex.MakeRValue()),
302ImmutableArray.Create(Of BoundExpression)(boundIndex.MakeRValue()), elementType, hasErrors:=True)
352initExpression As BoundExpression,
425limit As BoundExpression,
711rewrittenCondition As BoundExpression,
713rewrittenDisposeConversion As BoundExpression
720ImmutableArray.Create(Of BoundExpression)(rewrittenBoundLocal)),
748ImmutableArray(Of BoundExpression).Empty,
764ImmutableArray(Of BoundExpression).Empty, Nothing, voidType).ToStatement
Lowering\LocalRewriter\LocalRewriter_ForTo.vb (33)
27Dim rewrittenLimit As BoundExpression = VisitExpressionNode(node.LimitValue)
47rewrittenControlVariable As BoundExpression,
48rewrittenInitialValue As BoundExpression,
49rewrittenLimit As BoundExpression,
50rewrittenStep As BoundExpression) As BoundBlock
62Dim cacheAssignments = ArrayBuilder(Of BoundExpression).GetInstance()
111Dim stepValue As BoundExpression = rewrittenStep
112Dim stepHasValue As BoundExpression = Nothing
128Dim literal As BoundExpression = New BoundLiteral(rewrittenStep.Syntax, ConstantValue.Default(literalUnderlyingType.SpecialType), stepValue.Type)
135Dim isUp As BoundExpression = TransformRewrittenBinaryOperator(
309Private Shared Function WillDoAtLeastOneIteration(rewrittenInitialValue As BoundExpression,
310rewrittenLimit As BoundExpression,
311rewrittenStep As BoundExpression) As Boolean
385rewrittenControlVariable As BoundExpression,
386rewrittenInitialValue As BoundExpression,
387rewrittenLimit As BoundExpression,
388rewrittenStep As BoundExpression) As BoundBlock
426Dim rewrittenInitCondition As BoundExpression
483Dim rewrittenLoopCondition As BoundExpression
558Private Function RewriteForLoopIncrement(controlVariable As BoundExpression,
559stepValue As BoundExpression,
565Dim newValue As BoundExpression
576Dim hasValues As BoundExpression = Nothing
630Private Function NegateIfStepNegative(value As BoundExpression, [step] As BoundExpression) As BoundExpression
652Private Function RewriteForLoopCondition(controlVariable As BoundExpression,
653limit As BoundExpression,
654stepValue As BoundExpression,
656positiveFlag As SynthesizedLocal) As BoundExpression
729Dim condition As BoundExpression
730Dim ctrlLimitHasValue As BoundExpression = Nothing
762Dim isUp As BoundExpression = New BoundLocal(limit.Syntax,
Lowering\LocalRewriter\LocalRewriter_LateBindingHelpers.vb (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_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_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_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_UnstructuredExceptionHandling.vb (7)
215DirectCast(nodeFactory.Literal(-1), BoundExpression),
243DirectCast(nodeFactory.Local(_unstructuredExceptionHandling.ActiveHandlerTemporary, isLValue:=False), BoundExpression)),
284ImmutableArray.Create(Of BoundExpression)(nodeFactory.Literal(E_INTERNALERROR)),
301New BoundCall(node.Syntax, clearProjectError, Nothing, Nothing, ImmutableArray(Of BoundExpression).Empty, Nothing, clearProjectError.ReturnType).ToStatement(),
338statements.Add(New BoundCall(node.Syntax, clearProjectError, Nothing, Nothing, ImmutableArray(Of BoundExpression).Empty, Nothing, clearProjectError.ReturnType).ToStatement)
397statements.Add(New BoundCall(node.Syntax, clearProjectError, Nothing, Nothing, ImmutableArray(Of BoundExpression).Empty, Nothing, clearProjectError.ReturnType).ToStatement)
412ImmutableArray.Create(Of BoundExpression)(nodeFactory.Literal(E_RESUMEWITHOUTERROR)),
Lowering\LocalRewriter\LocalRewriter_XmlLiterals.vb (28)
81Private Function VisitXmlContainer(rewriterInfo As BoundXmlContainerRewriterInfo) As BoundExpression
95Dim sideEffects = ArrayBuilder(Of BoundExpression).GetInstance()
110Dim prefixesArray As BoundExpression = Nothing
111Dim namespacesArray As BoundExpression = Nothing
148Private Function CreateTempLocal(syntax As SyntaxNode, type As TypeSymbol, expr As BoundExpression, sideEffects As ArrayBuilder(Of BoundExpression)) As BoundLocal
154Private Function VisitXmlContainerInExpressionLambda(rewriterInfo As BoundXmlContainerRewriterInfo) As BoundExpression
166Dim origSideEffects As ImmutableArray(Of BoundExpression) = rewriterInfo.SideEffects
177Dim origArgument As BoundExpression = objCreation.Arguments(0)
219Dim prefixesArray As BoundExpression = Nothing
220Dim namespacesArray As BoundExpression = Nothing
230Dim rewrittenCallArguments(origSideEffects.Length - 1) As BoundExpression
251Dim secondArgument As BoundExpression
257ImmutableArray.Create(Of BoundExpression)(
273ImmutableArray.Create(Of BoundExpression)(
280Private Function CreateTempLocalInExpressionLambda(syntax As SyntaxNode, type As TypeSymbol, expr As BoundExpression) As BoundLocal
290<Out()> ByRef prefixes As BoundExpression,
291<Out()> ByRef namespaces As BoundExpression)
293Dim prefixesBuilder = ArrayBuilder(Of BoundExpression).GetInstance()
294Dim namespacesBuilder = ArrayBuilder(Of BoundExpression).GetInstance()
310Private Function BindXmlNamespace(syntax As SyntaxNode, [namespace] As BoundExpression) As BoundExpression
329Private Function CreateCompilerGeneratedXmlnsPrefix(syntax As SyntaxNode, prefix As String) As BoundExpression
333Private Function CreateCompilerGeneratedXmlNamespace(syntax As SyntaxNode, [namespace] As String) As BoundExpression
344items As ImmutableArray(Of BoundExpression)) As BoundExpression
345Dim result As BoundExpression
352result = New BoundArrayCreation(syntax, ImmutableArray.Create(Of BoundExpression)(size), initializer, arrayType)
Lowering\MethodToClassRewriter\MethodToClassRewriter.vb (21)
38Protected ReadOnly PlaceholderReplacementMap As New Dictionary(Of BoundValuePlaceholderBase, BoundExpression)
45Friend MustOverride Function FramePointer(syntax As SyntaxNode, frameClass As NamedTypeSymbol) As BoundExpression
114Dim rewrittenReceiver = DirectCast(Visit(node.ReceiverOpt), BoundExpression)
116Dim arguments As ImmutableArray(Of BoundExpression) = node.Arguments
117Dim newArguments(arguments.Length - 1) As BoundExpression
119newArguments(i) = DirectCast(Visit(arguments(i)), BoundExpression)
134Dim receiverOpt As BoundExpression = node.ReceiverOpt
135Dim rewrittenReceiverOpt As BoundExpression = DirectCast(Visit(receiverOpt), BoundExpression)
137Dim arguments As ImmutableArray(Of BoundExpression) = VisitList(node.Arguments)
156Private Function ShouldRewriteMethodSymbol(originalReceiver As BoundExpression, rewrittenReceiverOpt As BoundExpression, newMethod As MethodSymbol) As Boolean
178Protected MustOverride Function MaterializeProxy(origExpression As BoundExpression, proxy As TProxy) As BoundNode
206Return node.Update(DirectCast(Visit(node.ReceiverOpt), BoundExpression),
219Dim rewrittenReceiver As BoundExpression = rewritten.ReceiverOpt
348prologue As ArrayBuilder(Of BoundExpression),
427Dim prologue = ArrayBuilder(Of BoundExpression).GetInstance
451Dim prologue = ArrayBuilder(Of BoundExpression).GetInstance
458prologue As ArrayBuilder(Of BoundExpression),
479Dim replacement = DirectCast(Me.Visit(s), BoundExpression)
486Dim newValue = DirectCast(Me.Visit(node.ValueOpt), BoundExpression)
Lowering\SyntheticBoundNodeFactory.vb (103)
163Public Function ReferenceOrByrefMe() As BoundExpression
169DirectCast(Me.Me, BoundExpression),
189Public Function Field(receiver As BoundExpression, f As FieldSymbol, isLValue As Boolean) As BoundFieldAccess
195Public Function [Property](member As WellKnownMember) As BoundExpression
202Public Function [Property](receiver As BoundExpression, member As WellKnownMember) As BoundExpression
210Public Function [Property](receiver As BoundExpression, name As String) As BoundExpression
219Public Function [Property](receiver As NamedTypeSymbol, name As String) As BoundExpression
286Public Function Assignment(left As BoundExpression, right As BoundExpression) As BoundExpressionStatement
290Public Function ExpressionStatement(expr As BoundExpression) As BoundExpressionStatement
299Public Function AssignmentExpression(left As BoundExpression, right As BoundExpression) As BoundAssignmentOperator
306Public Function ReferenceAssignment(byRefLocal As LocalSymbol, lValue As BoundExpression) As BoundReferenceAssignment
353Public Function [Return](Optional expression As BoundExpression = Nothing) As BoundReturnStatement
426Public Function LogicalAndAlso(left As BoundExpression, right As BoundExpression) As BoundBinaryOperator
430Public Function LogicalOrElse(left As BoundExpression, right As BoundExpression) As BoundBinaryOperator
434Public Function IntEqual(left As BoundExpression, right As BoundExpression) As BoundBinaryOperator
438Public Function IntLessThan(left As BoundExpression, right As BoundExpression) As BoundBinaryOperator
458Public Function BadExpression(ParamArray subExpressions As BoundExpression()) As BoundExpression
470Public Function [New](ctor As MethodSymbol, ParamArray args As BoundExpression()) As BoundObjectCreationExpression
479ImmutableArray(Of BoundExpression).Empty,
585Public Function [Call](receiver As BoundExpression, method As MethodSymbol) As BoundCall
586Return [Call](receiver, method, ImmutableArray(Of BoundExpression).Empty)
589Public Function [Call](receiver As BoundExpression, method As MethodSymbol, ParamArray args As BoundExpression()) As BoundCall
590Return [Call](receiver, method, ImmutableArray.Create(Of BoundExpression)(args))
593Public Function [Call](receiver As BoundExpression, method As MethodSymbol, args As ImmutableArray(Of BoundExpression)) As BoundCall
608Public Function [If](condition As BoundExpression, thenClause As BoundStatement, elseClause As BoundStatement) As BoundStatement
617Public Function TernaryConditionalExpression(condition As BoundExpression, ifTrue As BoundExpression, ifFalse As BoundExpression) As BoundTernaryConditionalExpression
623Public Function [TryCast](expression As BoundExpression, type As TypeSymbol) As BoundTryCast
634Public Function [DirectCast](expression As BoundExpression, type As TypeSymbol) As BoundDirectCast
649Public Function [If](condition As BoundExpression, thenClause As BoundStatement) As BoundStatement
653Public Function [Throw](Optional e As BoundExpression = Nothing) As BoundThrowStatement
665Public Function Sequence(temps As ImmutableArray(Of LocalSymbol), ParamArray parts As BoundExpression()) As BoundExpression
668Dim statements(parts.Length - 1 - 1) As BoundExpression
677Public Function Sequence(temp As LocalSymbol, ParamArray parts As BoundExpression()) As BoundExpression
681Public Function Sequence(ParamArray parts As BoundExpression()) As BoundExpression
685Public Function Sequence(locals As ImmutableArray(Of LocalSymbol), sideEffects As ImmutableArray(Of BoundExpression), result As BoundExpression) As BoundExpression
691Public Function [Select](ex As BoundExpression, sections As IEnumerable(Of BoundCaseBlock)) As BoundStatement
788Public Function ArrayAccess(array As BoundExpression, isLValue As Boolean, ParamArray indices As BoundExpression()) As BoundArrayAccess
792Public Function ArrayAccess(array As BoundExpression, isLValue As Boolean, indices As ImmutableArray(Of BoundExpression)) As BoundArrayAccess
805Public Function BaseInitialization(ParamArray args As BoundExpression()) As BoundStatement
817Public Function Null() As BoundExpression
818Dim nullLiteral As BoundExpression = New BoundLiteral(_syntax, ConstantValue.Null, Nothing)
823Public Function Null(type As TypeSymbol) As BoundExpression
825Dim nullLiteral As BoundExpression = New BoundLiteral(_syntax, ConstantValue.Null, type)
830Dim nullLiteral As BoundExpression = New BoundLiteral(_syntax, ConstantValue.Null, Nothing)
842Public Function [Typeof](type As WellKnownType, systemTypeSymbol As TypeSymbol) As BoundExpression
846Public Function [Typeof](typeSym As TypeSymbol, systemTypeSymbol As TypeSymbol) As BoundExpression
871Public Function MethodInfo(meth As WellKnownMember, systemReflectionMethodInfo As TypeSymbol) As BoundExpression
880Public Function MethodInfo(meth As SpecialMember, systemReflectionMethodInfo As TypeSymbol) As BoundExpression
889Public Function MethodInfo(method As MethodSymbol, systemReflectionMethodInfo As TypeSymbol) As BoundExpression
926Public Function ConstructorInfo(meth As WellKnownMember) As BoundExpression
935Public Function ConstructorInfo(meth As SpecialMember) As BoundExpression
944Public Function ConstructorInfo(meth As MethodSymbol) As BoundExpression
948Public Function FieldInfo(field As FieldSymbol) As BoundExpression
961Public Function MethodDefIndex(method As MethodSymbol) As BoundExpression
970Public Function MaximumMethodDefIndex() As BoundExpression
979Public Function ModuleVersionId(isLValue As Boolean) As BoundExpression
988Public Function ModuleVersionIdString() As BoundExpression
999Public Function InstrumentationPayloadRoot(analysisKind As Integer, payloadType As TypeSymbol, isLValue As Boolean) As BoundExpression
1008Public Function SourceDocumentIndex(document As Cci.DebugSourceDocument) As BoundExpression
1014Public Function Convert(type As TypeSymbol, arg As BoundExpression, Optional isChecked As Boolean = False) As BoundConversion
1024Public Function Convert(type As TypeSymbol, arg As BoundExpression, convKind As ConversionKind, Optional isChecked As Boolean = False) As BoundConversion
1031Public Function Array(elementType As TypeSymbol, ParamArray elements As BoundExpression()) As BoundExpression
1035Public Function Array(elementType As TypeSymbol, elements As ImmutableArray(Of BoundExpression)) As BoundExpression
1039Return New BoundArrayCreation(_syntax, ImmutableArray.Create(Of BoundExpression)(Literal(elements.Length)), boundArrayInit, arrayType)
1042Public Function Array(elementType As TypeSymbol, bounds As ImmutableArray(Of BoundExpression), elements As ImmutableArray(Of BoundExpression)) As BoundExpression
1051Public Function Conditional(condition As BoundExpression, consequence As BoundExpression, alternative As BoundExpression, type As TypeSymbol) As BoundTernaryConditionalExpression
1055Public Function BinaryConditional(left As BoundExpression, right As BoundExpression) As BoundBinaryConditionalExpression
1059Public Function Binary(kind As BinaryOperatorKind, type As TypeSymbol, left As BoundExpression, right As BoundExpression) As BoundBinaryOperator
1065Public Function ObjectReferenceEqual(left As BoundExpression, right As BoundExpression) As BoundBinaryOperator
1071Public Function ReferenceIsNothing(operand As BoundExpression) As BoundBinaryOperator
1078Public Function ReferenceIsNotNothing(operand As BoundExpression) As BoundBinaryOperator
1085Public Function [Not](expression As BoundExpression) As BoundExpression
1134Public Function SpillSequence(locals As ImmutableArray(Of LocalSymbol), fields As ImmutableArray(Of FieldSymbol), statements As ImmutableArray(Of BoundStatement), valueOpt As BoundExpression) As BoundSpillSequence
Lowering\UseTwiceRewriter.vb (40)
20Public Sub New(first As BoundExpression, second As BoundExpression)
24Public ReadOnly First As BoundExpression
25Public ReadOnly Second As BoundExpression
41value As BoundExpression,
78receiverOpt As BoundExpression,
90receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type),
97receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type),
110value As BoundExpression,
139value As BoundExpression,
160value As BoundExpression,
167Private Shared Function UseTwiceRValue(containingMember As Symbol, value As BoundExpression, arg As ArrayBuilder(Of SynthesizedLocal)) As Result
231Dim indicesFirst(n - 1) As BoundExpression
232Dim indicesSecond(n - 1) As BoundExpression
253Private Shared Function UseTwiceLValue(containingMember As Symbol, lvalue As BoundExpression, temporaries As ArrayBuilder(Of SynthesizedLocal)) As Result
308Dim receiverOpt As BoundExpression = node.ReceiverOpt
323receiver = New Result(New BoundSequence(capture.Syntax, ImmutableArray(Of LocalSymbol).Empty, ImmutableArray.Create(Of BoundExpression)(capture), boundTemp, boundTemp.Type),
347ImmutableArray.Create(Of BoundExpression)(clone),
358ImmutableArray.Create(Of BoundExpression)(receiver.First.MakeRValue()),
366Dim firstArgs As ImmutableArray(Of BoundExpression)
367Dim secondArgs As ImmutableArray(Of BoundExpression)
369firstArgs = ImmutableArray(Of BoundExpression).Empty
370secondArgs = ImmutableArray(Of BoundExpression).Empty
373Dim firstArgsArray(nArgs - 1) As BoundExpression
374Dim secondArgsArray(nArgs - 1) As BoundExpression
377Dim boundArgument As BoundExpression = node.Arguments(i)
427Dim firstArgs As ImmutableArray(Of BoundExpression)
428Dim secondArgs As ImmutableArray(Of BoundExpression)
430firstArgs = ImmutableArray(Of BoundExpression).Empty
431secondArgs = ImmutableArray(Of BoundExpression).Empty
434Dim firstArgsArray(nArgs - 1) As BoundExpression
435Dim secondArgsArray(nArgs - 1) As BoundExpression
438Dim boundArgument As BoundExpression = node.ArgumentsOpt(i)
500Private Shared Sub UseTwiceRegularArgument(containingMember As Symbol, boundArgument As BoundExpression, arg As ArrayBuilder(Of SynthesizedLocal),
501ByRef first As BoundExpression, ByRef second As BoundExpression)
521ByRef first As BoundExpression, ByRef second As BoundExpression)
530Dim firstArgsArray(initializerSize - 1) As BoundExpression
531Dim secondArgsArray(initializerSize - 1) As BoundExpression
Lowering\WithExpressionRewriter.vb (31)
20Public Sub New(expression As BoundExpression, locals As ImmutableArray(Of LocalSymbol), initializers As ImmutableArray(Of BoundExpression), capturedLvalueByRefCallOrProperty As BoundExpression)
28Public ReadOnly Expression As BoundExpression
34Public ReadOnly Initializers As ImmutableArray(Of BoundExpression)
36Public ReadOnly CapturedLvalueByRefCallOrProperty As BoundExpression
53Private _initializers As ArrayBuilder(Of BoundExpression) = Nothing
54Public _capturedLvalueByRefCallOrProperty As BoundExpression = Nothing
64Public Sub AddLocal(local As LocalSymbol, initializer As BoundExpression)
72Me._initializers = ArrayBuilder(Of BoundExpression).GetInstance()
79Public Function CreateResult(expression As BoundExpression) As Result
82If(Me._initializers Is Nothing, ImmutableArray(Of BoundExpression).Empty, Me._initializers.ToImmutableAndFree()),
92Private Function CaptureInATemp(value As BoundExpression, state As State) As BoundLocal
115Private Function CaptureInAByRefTemp(value As BoundExpression, state As State) As BoundExpression
132Private Function CaptureArrayAccess(value As BoundArrayAccess, state As State) As BoundExpression
135Dim boundArrayTemp As BoundExpression = CaptureInATemp(value.Expression, state).MakeRValue()
138Dim indices(n - 1) As BoundExpression
146Private Function CaptureRValue(value As BoundExpression, state As State) As BoundExpression
178Private Function CaptureFieldAccess(value As BoundFieldAccess, state As State) As BoundExpression
189Dim receiver As BoundExpression = CaptureReceiver(value.ReceiverOpt, state)
195Private Function CaptureReceiver(value As BoundExpression, state As State) As BoundExpression
205Private Function CaptureExpression(value As BoundExpression, state As State) As BoundExpression
249Dim substitute As BoundExpression =
270value As BoundExpression,
280Private Function CaptureWithExpression(value As BoundExpression, state As State) As BoundExpression
329Dim expression As BoundExpression = Nothing
Semantics\Conversions.vb (13)
701source As BoundExpression,
869source As BoundExpression,
930Public Shared Function ClassifyPredefinedConversion(source As BoundExpression, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ConversionKind
935source As BoundExpression,
1016Public Shared Function ClassifyConversion(source As BoundExpression, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As KeyValuePair(Of ConversionKind, MethodSymbol)
1046Private Shared Function ClassifyExpressionReclassification(source As BoundExpression, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ConversionKind
1432operand As BoundExpression,
1585Private Shared Function ClassifyNumericConstantConversion(constantExpression As BoundExpression, destination As TypeSymbol, binder As Binder) As ConversionKind
1699Private Shared Function ClassifyNothingLiteralConversion(constantExpression As BoundExpression, destination As TypeSymbol) As ConversionKind
1787Public Shared Function ClassifyDirectCastConversion(source As BoundExpression, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ConversionKind
1843Public Shared Function ClassifyTryCastConversion(source As BoundExpression, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As ConversionKind
2108Private Shared Function ClassifyUserDefinedConversion(source As BoundExpression, destination As TypeSymbol, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As KeyValuePair(Of ConversionKind, MethodSymbol)
4232expressionOpt As BoundExpression,
Semantics\Operators.vb (14)
499operand As BoundExpression,
704operand As BoundExpression,
854left As BoundExpression,
855right As BoundExpression,
1021left As BoundExpression,
1022right As BoundExpression,
2952Public Shared Function ResolveIsTrueOperator(argument As BoundExpression, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As OverloadResolutionResult
2966Public Shared Function ResolveIsFalseOperator(argument As BoundExpression, binder As Binder, <[In], Out> ByRef useSiteInfo As CompoundUseSiteInfo(Of AssemblySymbol)) As OverloadResolutionResult
2981argument As BoundExpression,
3017left As BoundExpression,
3018right As BoundExpression,
3144argument1 As BoundExpression,
3145argument2 As BoundExpression,
3252ImmutableArray.Create(Of BoundExpression)(argument1, argument2)),
Semantics\OverloadResolution.vb (57)
565Public ReadOnly DefaultValue As BoundExpression
569Public Sub New(value As BoundExpression, conversion As KeyValuePair(Of ConversionKind, MethodSymbol), dependencies As ImmutableArray(Of AssemblySymbol))
780Public ReadOnly AsyncLambdaSubToFunctionMismatch As ImmutableArray(Of BoundExpression)
785asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression))
790ImmutableArray(Of BoundExpression).Empty,
855arguments As ImmutableArray(Of BoundExpression),
894arguments As ImmutableArray(Of BoundExpression),
918arguments As ImmutableArray(Of BoundExpression),
940arguments = ImmutableArray(Of BoundExpression).Empty
962Dim asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression) = Nothing
1057asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression)) As OverloadResolutionResult
1080arguments As ImmutableArray(Of BoundExpression),
1092arguments = ImmutableArray(Of BoundExpression).Empty
1102Dim asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression) = Nothing
1155arguments As ImmutableArray(Of BoundExpression),
1161<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
1588arguments As ImmutableArray(Of BoundExpression),
1680arguments As ImmutableArray(Of BoundExpression),
1716arguments As ImmutableArray(Of BoundExpression),
1793arguments As ImmutableArray(Of BoundExpression),
1845arguments As ImmutableArray(Of BoundExpression),
2068arguments As ImmutableArray(Of BoundExpression),
2277arguments As ImmutableArray(Of BoundExpression),
2375argument As BoundExpression,
2492Dim newArgument As BoundExpression = Nothing
2533arguments As ImmutableArray(Of BoundExpression),
2586arguments As ImmutableArray(Of BoundExpression),
2633argument As BoundExpression,
2653Dim newArgument As BoundExpression = Nothing
2689arguments As ImmutableArray(Of BoundExpression),
2948arguments As ImmutableArray(Of BoundExpression),
2952<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
3033arguments As ImmutableArray(Of BoundExpression),
3215arguments As ImmutableArray(Of BoundExpression),
3218<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
3424Dim defaultArgument As BoundExpression = Nothing
3435Dim receiverOpt As BoundExpression = Nothing
3562argument As BoundExpression,
3567<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
3641argument As BoundExpression,
3645<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
3670Dim underlying As BoundExpression = argument
3691asyncLambdaSubToFunctionMismatch = New HashSet(Of BoundExpression)(ReferenceEqualityComparer.Instance)
3759Dim passedExpression As BoundExpression = binder.PassArgumentByVal(argument, conv, targetType, BindingDiagnosticBag.Discarded)
3791expression As BoundExpression,
3851arguments As ImmutableArray(Of BoundExpression),
3859<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
4058arguments As ImmutableArray(Of BoundExpression),
4146arguments As ImmutableArray(Of BoundExpression),
4153<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
4244arguments As ImmutableArray(Of BoundExpression),
4250<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
4601arguments As ImmutableArray(Of BoundExpression),
4759argument As BoundExpression,
4800arguments As ImmutableArray(Of BoundExpression),
5254arguments As ImmutableArray(Of BoundExpression),
5258<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
Semantics\TypeInference\TypeArgumentInference.vb (16)
20arguments As ImmutableArray(Of BoundExpression),
32<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
414Public ReadOnly Expression As BoundExpression
417Public Sub New(graph As InferenceGraph, expression As BoundExpression, parameterType As TypeSymbol, parameter As ParameterSymbol)
606Public ReadOnly Arguments As ImmutableArray(Of BoundExpression)
617Private _asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression)
624arguments As ImmutableArray(Of BoundExpression),
629asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
698arguments As ImmutableArray(Of BoundExpression),
710<[In](), Out()> ByRef asyncLambdaSubToFunctionMismatch As HashSet(Of BoundExpression),
915Dim arguments As ImmutableArray(Of BoundExpression) = Me.Arguments
1020argument As BoundExpression,
1240Private Shared Function ArgumentTypePossiblyMatchesParamarrayShape(argument As BoundExpression, paramType As TypeSymbol) As Boolean
1909argument As BoundExpression,
1980argument As BoundExpression,
2209_asyncLambdaSubToFunctionMismatch = New HashSet(Of BoundExpression)(ReferenceEqualityComparer.Instance)
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),