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