Binding\Binder_Statements.vb (33)
72Return New BoundBadStatement(node, ImmutableArray.Create(Of BoundNode)(condition), hasErrors:=True)
217Return New BoundBadStatement(node, ImmutableArray(Of BoundNode).Empty, hasErrors:=True)
228ImmutableArray(Of BoundNode).Empty,
229ImmutableArray.Create(Of BoundNode)(BindBooleanExpression(whileOrUntilClause.Condition, diagnostics)))
239ImmutableArray(Of BoundNode).Empty,
240ImmutableArray.Create(Of BoundNode)(BindBooleanExpression(whenClause.Filter, diagnostics)))
264Return New BoundBadStatement(node, ImmutableArray(Of BoundNode).Empty, hasErrors:=True)
273Dim children = ArrayBuilder(Of BoundNode).GetInstance(statement.CaseClauses.Length)
516Public Overrides Function Visit(node As BoundNode) As BoundNode
525Public Overrides Function VisitTryStatement(node As BoundTryStatement) As BoundNode
543Public Overrides Function VisitOnErrorStatement(node As BoundOnErrorStatement) As BoundNode
567Public Overrides Function VisitResumeStatement(node As BoundResumeStatement) As BoundNode
579Public Overrides Function VisitSyncLockStatement(node As BoundSyncLockStatement) As BoundNode
593Public Overrides Function VisitUsingStatement(node As BoundUsingStatement) As BoundNode
602Public Overrides Function VisitAwaitOperator(node As BoundAwaitOperator) As BoundNode
615Public Overrides Function VisitLambda(node As BoundLambda) As BoundNode
622Public Overrides Function VisitCatchBlock(node As BoundCatchBlock) As BoundNode
627Public Overrides Function VisitLabelStatement(node As BoundLabelStatement) As BoundNode
847Return New BoundBadStatement(node, ImmutableArray.Create(Of BoundNode)(boundLabelExpression), hasErrors:=True)
2469Return New BoundBadStatement(node, ImmutableArray.Create(Of BoundNode)(target), True)
2517Return New BoundBadStatement(node, StaticCast(Of BoundNode).From(boundArguments).Add(target), True)
2530Return New BoundBadStatement(node, StaticCast(Of BoundNode).From(boundArguments).Add(target), True)
2540Return New BoundBadStatement(node, StaticCast(Of BoundNode).From(boundArguments).Add(target), True)
2551Return New BoundBadStatement(node, StaticCast(Of BoundNode).From(boundArguments).Add(target), True)
2569Return New BoundBadStatement(node, StaticCast(Of BoundNode).From(boundArguments).Add(target), True)
3663Public Shared Function SeenAwaitIn(node As BoundNode, diagnostics As BindingDiagnosticBag) As Boolean
3674Public Overrides Function Visit(node As BoundNode) As BoundNode
3682Public Overrides Function VisitLambda(node As BoundLambda) As BoundNode
3687Public Overrides Function VisitAwaitOperator(node As BoundAwaitOperator) As BoundNode
4922Return New BoundBadStatement(node, ImmutableArray(Of BoundNode).Empty, hasErrors:=True)
4942Return New BoundBadStatement(node, ImmutableArray(Of BoundNode).Empty, hasErrors:=True)
Binding\MemberSemanticModel.vb (62)
103Friend Overridable Function GetBoundRoot() As BoundNode
156Friend Function GetUpperBoundNode(node As SyntaxNode) As BoundNode
171Friend Function GetLowerBoundNode(node As VisualBasicSyntaxNode) As BoundNode
242Private Shared Function UnwrapRaiseEvent(node As BoundNode) As BoundNode
661Dim bound As BoundNode = GetLowerBoundNode(rangeVariableSyntax)
682Dim bound As BoundNode = GetLowerBoundNode(rangeVariableSyntax)
699Dim bound As BoundNode = GetLowerBoundNode(rangeVariableSyntax)
852Dim rootNode As BoundNode = GetBoundRoot()
932Dim bound As BoundNode
978Dim bound As BoundNode = GetUpperBoundNode(node)
993Dim bound As BoundNode = GetLowerBoundNode(node)
1003Dim bound As BoundNode = GetLowerBoundNode(node)
1037Dim boundNodes As ImmutableArray(Of BoundNode) = GetBoundNodes(node)
1038Dim bound As BoundNode = Nothing
1125Friend Sub CacheBoundNodes(boundNode As BoundNode, Optional thisSyntaxNodeOnly As SyntaxNode = Nothing)
1139Private _found As BoundNode
1146Public Shared Function FindIn(context As BoundNode, targetSyntax As VisualBasicSyntaxNode, targetBoundKind As BoundKind) As BoundNode
1154Public Overrides Function Visit(node As BoundNode) As BoundNode
1209Private ReadOnly _guardedBoundNodeMap As New SmallDictionary(Of SyntaxNode, ImmutableArray(Of BoundNode))(ReferenceEqualityComparer.Instance)
1237Private Function GuardedGetBoundNodesFromMap(node As SyntaxNode) As ImmutableArray(Of BoundNode)
1239Dim result As ImmutableArray(Of BoundNode) = Nothing
1727Dim boundNode As BoundNode = GetUpperBoundNode(initialization.Parent.Parent)
1829Friend Function GetBoundNodes(node As SyntaxNode) As ImmutableArray(Of BoundNode)
1830Dim bound As ImmutableArray(Of BoundNode) = Nothing
1847Return ImmutableArray(Of BoundNode).Empty
1900Return ImmutableArray(Of BoundNode).Empty
1939Dim boundRoot As BoundNode = Me.Bind(binder, bindingRoot, BindingDiagnosticBag.Discarded)
1959_guardedBoundNodeMap.Add(bindingRoot, ImmutableArray.Create(Of BoundNode)(boundRoot))
2061Dim boundNodes As ImmutableArray(Of BoundNode) = _binding.GuardedGetBoundNodesFromMap(node)
2076Dim bound As BoundNode = GetLowerBoundNode(awaitExpression)
2107Private ReadOnly _nodeCache As OrderPreservingMultiDictionary(Of SyntaxNode, BoundNode)
2109Private Sub New(semanticModel As MemberSemanticModel, thisSyntaxNodeOnly As SyntaxNode, nodeCache As OrderPreservingMultiDictionary(Of SyntaxNode, BoundNode))
2116root As BoundNode,
2118nodeCache As SmallDictionary(Of SyntaxNode, ImmutableArray(Of BoundNode)),
2123Dim additionalNodes = OrderPreservingMultiDictionary(Of SyntaxNode, BoundNode).GetInstance()
2166Public Function RecordNode(node As BoundNode, Optional allowCompilerGenerated As Boolean = False) As Boolean
2202Public Overrides Function Visit(node As BoundNode) As BoundNode
2218Public Overrides Function VisitBinaryOperator(node As BoundBinaryOperator) As BoundNode
2258Public Overrides Function VisitUnboundLambda(node As UnboundLambda) As BoundNode
2262Public Overrides Function VisitCall(node As BoundCall) As BoundNode
2285Public Overrides Function VisitPropertyAccess(node As BoundPropertyAccess) As BoundNode
2308Public Overrides Function VisitTypeExpression(node As BoundTypeExpression) As BoundNode
2313Public Overrides Function VisitAttribute(node As BoundAttribute) As BoundNode
2321Public Overrides Function VisitQueryClause(node As BoundQueryClause) As BoundNode
2334Public Overrides Function VisitAggregateClause(node As BoundAggregateClause) As BoundNode
2346Public Overrides Function VisitAnonymousTypeFieldInitializer(node As BoundAnonymousTypeFieldInitializer) As BoundNode
2363Public Overrides Function VisitConversion(node As BoundConversion) As BoundNode
2368Public Overrides Function VisitDirectCast(node As BoundDirectCast) As BoundNode
2373Public Overrides Function VisitTryCast(node As BoundTryCast) As BoundNode
2378Public Overrides Function VisitDelegateCreationExpression(node As BoundDelegateCreationExpression) As BoundNode
2401Public Overrides Function VisitAssignmentOperator(node As BoundAssignmentOperator) As BoundNode
2420Public Overrides Function VisitCompoundAssignmentTargetPlaceholder(node As BoundCompoundAssignmentTargetPlaceholder) As BoundNode
2430Public Overrides Function VisitByRefArgumentPlaceholder(node As BoundByRefArgumentPlaceholder) As BoundNode
2440Public Overrides Function VisitByRefArgumentWithCopyBack(node As BoundByRefArgumentWithCopyBack) As BoundNode
2454Private Function VisitObjectInitializerExpressionBase(node As BoundObjectInitializerExpressionBase) As BoundNode
2460Public Overrides Function VisitCollectionInitializerExpression(node As BoundCollectionInitializerExpression) As BoundNode
2464Public Overrides Function VisitObjectInitializerExpression(node As BoundObjectInitializerExpression) As BoundNode
2468Public Overrides Function VisitLateInvocation(node As BoundLateInvocation) As BoundNode
Lowering\LambdaRewriter\LambdaRewriter.Analysis.vb (45)
29Private _currentBlock As BoundNode
51Friend blockParent As Dictionary(Of BoundNode, BoundNode) = New Dictionary(Of BoundNode, BoundNode)()
59Friend variableScope As Dictionary(Of Symbol, BoundNode) = New Dictionary(Of Symbol, BoundNode)(ReferenceEqualityComparer.Instance)
64Friend labelBlock As Dictionary(Of LabelSymbol, BoundNode) = New Dictionary(Of LabelSymbol, BoundNode)(ReferenceEqualityComparer.Instance)
69Friend gotoBlock As Dictionary(Of BoundGotoStatement, BoundNode) = New Dictionary(Of BoundGotoStatement, BoundNode)()
75Friend containsLiftingLambda As HashSet(Of BoundNode) = New HashSet(Of BoundNode)()
87Friend needsParentFrame As HashSet(Of BoundNode)
100Friend lambdaScopes As Dictionary(Of LambdaSymbol, BoundNode)
146Private Sub Analyze(node As BoundNode)
169lambdaScopes = New Dictionary(Of LambdaSymbol, BoundNode)(ReferenceEqualityComparer.Instance)
170needsParentFrame = New HashSet(Of BoundNode)
176Dim innermostScope As BoundNode = Nothing
179Dim outermostScope As BoundNode = Nothing
182Dim curBlock As BoundNode = Nothing
229Private Function BlockDepth(node As BoundNode) As Integer
243Public Function PushBlock(node As BoundNode, locals As ImmutableArray(Of LocalSymbol)) As BoundNode
268Public Sub PopBlock(previousBlock As BoundNode)
272Public Overrides Function VisitCatchBlock(node As BoundCatchBlock) As BoundNode
283Public Overrides Function VisitBlock(node As BoundBlock) As BoundNode
290Public Overrides Function VisitSequence(node As BoundSequence) As BoundNode
297Public Overrides Function VisitLambda(node As BoundLambda) As BoundNode
301Private Overloads Function VisitLambda(node As BoundLambda, convertToExpressionTree As Boolean) As BoundNode
338Public Overrides Function VisitTryCast(node As BoundTryCast) As BoundNode
349Public Overrides Function VisitDirectCast(node As BoundDirectCast) As BoundNode
360Public Overrides Function VisitConversion(conversion As BoundConversion) As BoundNode
382Dim curBlock As BoundNode = _currentBlock
384Dim declBlock As BoundNode = Nothing
466Public Overrides Function VisitMeReference(node As BoundMeReference) As BoundNode
471Public Overrides Function VisitMyClassReference(node As BoundMyClassReference) As BoundNode
476Public Overrides Function VisitMyBaseReference(node As BoundMyBaseReference) As BoundNode
481Public Overrides Function VisitParameter(node As BoundParameter) As BoundNode
486Public Overrides Function VisitLocal(node As BoundLocal) As BoundNode
491Public Overrides Function VisitRangeVariable(node As BoundRangeVariable) As BoundNode
495Public Overrides Function VisitLabelStatement(node As BoundLabelStatement) As BoundNode
501Public Overrides Function VisitConditionalGoto(node As BoundConditionalGoto) As BoundNode
526Public Overrides Function VisitGotoStatement(node As BoundGotoStatement) As BoundNode
540Public Overrides Function VisitMethodGroup(node As BoundMethodGroup) As BoundNode
Lowering\LambdaRewriter\LambdaRewriter.vb (39)
66Private ReadOnly _frames As Dictionary(Of BoundNode, LambdaFrame) = New Dictionary(Of BoundNode, LambdaFrame)()
112Private _rewrittenNodes As HashSet(Of BoundNode) = Nothing
171rewrittenNodes As HashSet(Of BoundNode)) As BoundBlock
243Dim node As BoundNode = Nothing
262scope As BoundNode,
312Private Function GetStaticFrame(lambda As BoundNode, diagnostics As BindingDiagnosticBag) As LambdaFrame
415Protected Overrides Function MaterializeProxy(origExpression As BoundExpression, proxy As FieldSymbol) As BoundNode
518Private Function IntroduceFrame(node As BoundNode,
520F As Func(Of ArrayBuilder(Of BoundExpression), ArrayBuilder(Of LocalSymbol), BoundNode),
521Optional origLambda As LambdaSymbol = Nothing) As BoundNode
600Dim variableNode As BoundNode = Nothing
687Public Overrides Function VisitMeReference(node As BoundMeReference) As BoundNode
701Public Overrides Function VisitMyClassReference(node As BoundMyClassReference) As BoundNode
708Public Overrides Function VisitMyBaseReference(node As BoundMyBaseReference) As BoundNode
715Public Overrides Function VisitRangeVariable(node As BoundRangeVariable) As BoundNode
750Public Overrides Function VisitBlock(node As BoundBlock) As BoundNode
764Public Overrides Function VisitSequence(node As BoundSequence) As BoundNode
778Public Overrides Function VisitCatchBlock(node As BoundCatchBlock) As BoundNode
873Public Overrides Function VisitStatementList(node As BoundStatementList) As BoundNode
927Public Overrides Function VisitTryCast(node As BoundTryCast) As BoundNode
942Public Overrides Function VisitDirectCast(node As BoundDirectCast) As BoundNode
957Public Overrides Function VisitConversion(conversion As BoundConversion) As BoundNode
982Private Function GetClosureId(scope As BoundNode, syntax As SyntaxNode, closureDebugInfo As ArrayBuilder(Of EncClosureInfo), <Out> ByRef rudeEdit As RuntimeRudeEdit?) As DebugId
985Dim parentScope As BoundNode = Nothing
1085Dim lambdaScope As BoundNode = Nothing
1303Public Overrides Function VisitLambda(node As BoundLambda) As BoundNode
1307Private Function LowestCommonAncestor(gotoBlock As BoundNode, labelBlock As BoundNode) As BoundNode
1308Dim gotoPath As New HashSet(Of BoundNode)
1338Private Function IsLegalBranch(gotoBlock As BoundNode, labelBlock As BoundNode) As Boolean
1370Public Overrides Function VisitGotoStatement(node As BoundGotoStatement) As BoundNode
1372Dim labelBlock As BoundNode = Nothing
1377Dim gotoBlock As BoundNode = Nothing
1408Public Overrides Function VisitCall(node As BoundCall) As BoundNode
1409Dim rewritten As BoundNode = MyBase.VisitCall(node)
1439Public Overrides Function VisitLoweredConditionalAccess(node As BoundLoweredConditionalAccess) As BoundNode
Lowering\LocalRewriter\LocalRewriter.vb (40)
49Private ReadOnly _leaveRestoreUnstructuredExceptionHandlingContextTracker As New Stack(Of BoundNode)()
56Private _rewrittenNodes As New HashSet(Of BoundNode)(ReferenceEqualityComparer.Instance)
150node As BoundNode,
156<[In], Out> ByRef rewrittenNodes As HashSet(Of BoundNode),
162) As BoundNode
178Dim result As BoundNode = rewriter.Visit(node)
189Private Shared Function InsertXmlLiteralsPreamble(node As BoundNode, fixups As ImmutableArray(Of XmlLiteralFixupData.LocalWithInitialization)) As BoundBlock
213<Out> ByRef rewrittenNodes As HashSet(Of BoundNode),
242rewrittenNodes As HashSet(Of BoundNode),
263Public Overrides Function Visit(node As BoundNode) As BoundNode
278result = result.MemberwiseClone(Of BoundNode)()
379Private ReadOnly Property Instrument(original As BoundNode, rewritten As BoundNode) As Boolean
385Private ReadOnly Property Instrument(original As BoundNode) As Boolean
452Public Overrides Function VisitSequencePointWithSpan(node As BoundSequencePointWithSpan) As BoundNode
463Public Overrides Function VisitSequencePoint(node As BoundSequencePoint) As BoundNode
474Public Overrides Function VisitBadExpression(node As BoundBadExpression) As BoundNode
534Public Overrides Function VisitRValuePlaceholder(node As BoundRValuePlaceholder) As BoundNode
538Public Overrides Function VisitLValuePlaceholder(node As BoundLValuePlaceholder) As BoundNode
542Public Overrides Function VisitCompoundAssignmentTargetPlaceholder(node As BoundCompoundAssignmentTargetPlaceholder) As BoundNode
546Public Overrides Function VisitByRefArgumentPlaceholder(node As BoundByRefArgumentPlaceholder) As BoundNode
550Public Overrides Function VisitLValueToRValueWrapper(node As BoundLValueToRValueWrapper) As BoundNode
586Private Function ReportMissingOrBadRuntimeHelper(node As BoundNode, specialMember As SpecialMember, memberSymbol As Symbol) As Boolean
594Friend Shared Function ReportMissingOrBadRuntimeHelper(node As BoundNode, specialMember As SpecialMember, memberSymbol As Symbol, diagnostics As BindingDiagnosticBag, Optional embedVBCoreRuntime As Boolean = False) As Boolean
603Private Shared Sub ReportMissingRuntimeHelper(node As BoundNode, specialMember As SpecialMember, diagnostics As BindingDiagnosticBag, Optional embedVBCoreRuntime As Boolean = False)
617Private Function ReportMissingOrBadRuntimeHelper(node As BoundNode, wellKnownMember As WellKnownMember, memberSymbol As Symbol) As Boolean
625Friend Shared Function ReportMissingOrBadRuntimeHelper(node As BoundNode, wellKnownMember As WellKnownMember, memberSymbol As Symbol, diagnostics As BindingDiagnosticBag, embedVBCoreRuntime As Boolean) As Boolean
634Private Shared Sub ReportMissingRuntimeHelper(node As BoundNode, wellKnownMember As WellKnownMember, diagnostics As BindingDiagnosticBag, embedVBCoreRuntime As Boolean)
644Private Shared Sub ReportMissingRuntimeHelper(node As BoundNode, typeName As String, memberName As String, diagnostics As BindingDiagnosticBag, embedVBCoreRuntime As Boolean)
654Private Shared Sub ReportDiagnostic(node As BoundNode, diagnostic As DiagnosticInfo, diagnostics As BindingDiagnosticBag)
658Private Shared Function ReportUseSite(node As BoundNode, useSiteInfo As UseSiteInfo(Of AssemblySymbol), diagnostics As BindingDiagnosticBag) As Boolean
662Private Sub ReportBadType(node As BoundNode, typeSymbol As TypeSymbol)
668Public Overrides Function VisitMethodGroup(node As BoundMethodGroup) As BoundNode
672Public Overrides Function VisitParenthesized(node As BoundParenthesized) As BoundNode
799Public Overrides Function VisitAwaitOperator(node As BoundAwaitOperator) As BoundNode
832Public Overrides Function VisitStopStatement(node As BoundStopStatement) As BoundNode
865Public Overrides Function VisitEndStatement(node As BoundEndStatement) As BoundNode
882Public Overrides Function VisitGetType(node As BoundGetType) As BoundNode
906Public Overrides Function VisitArrayCreation(node As BoundArrayCreation) As BoundNode