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)
102Friend Overridable Function GetBoundRoot() As BoundNode
155Friend Function GetUpperBoundNode(node As SyntaxNode) As BoundNode
170Friend Function GetLowerBoundNode(node As VisualBasicSyntaxNode) As BoundNode
241Private Shared Function UnwrapRaiseEvent(node As BoundNode) As BoundNode
660Dim bound As BoundNode = GetLowerBoundNode(rangeVariableSyntax)
681Dim bound As BoundNode = GetLowerBoundNode(rangeVariableSyntax)
698Dim bound As BoundNode = GetLowerBoundNode(rangeVariableSyntax)
851Dim rootNode As BoundNode = GetBoundRoot()
931Dim bound As BoundNode
977Dim bound As BoundNode = GetUpperBoundNode(node)
992Dim bound As BoundNode = GetLowerBoundNode(node)
1002Dim bound As BoundNode = GetLowerBoundNode(node)
1036Dim boundNodes As ImmutableArray(Of BoundNode) = GetBoundNodes(node)
1037Dim bound As BoundNode = Nothing
1124Friend Sub CacheBoundNodes(boundNode As BoundNode, Optional thisSyntaxNodeOnly As SyntaxNode = Nothing)
1138Private _found As BoundNode
1145Public Shared Function FindIn(context As BoundNode, targetSyntax As VisualBasicSyntaxNode, targetBoundKind As BoundKind) As BoundNode
1153Public Overrides Function Visit(node As BoundNode) As BoundNode
1208Private ReadOnly _guardedBoundNodeMap As New SmallDictionary(Of SyntaxNode, ImmutableArray(Of BoundNode))(ReferenceEqualityComparer.Instance)
1236Private Function GuardedGetBoundNodesFromMap(node As SyntaxNode) As ImmutableArray(Of BoundNode)
1238Dim result As ImmutableArray(Of BoundNode) = Nothing
1726Dim boundNode As BoundNode = GetUpperBoundNode(initialization.Parent.Parent)
1828Friend Function GetBoundNodes(node As SyntaxNode) As ImmutableArray(Of BoundNode)
1829Dim bound As ImmutableArray(Of BoundNode) = Nothing
1846Return ImmutableArray(Of BoundNode).Empty
1899Return ImmutableArray(Of BoundNode).Empty
1938Dim boundRoot As BoundNode = Me.Bind(binder, bindingRoot, BindingDiagnosticBag.Discarded)
1958_guardedBoundNodeMap.Add(bindingRoot, ImmutableArray.Create(Of BoundNode)(boundRoot))
2060Dim boundNodes As ImmutableArray(Of BoundNode) = _binding.GuardedGetBoundNodesFromMap(node)
2075Dim bound As BoundNode = GetLowerBoundNode(awaitExpression)
2106Private ReadOnly _nodeCache As OrderPreservingMultiDictionary(Of SyntaxNode, BoundNode)
2108Private Sub New(semanticModel As MemberSemanticModel, thisSyntaxNodeOnly As SyntaxNode, nodeCache As OrderPreservingMultiDictionary(Of SyntaxNode, BoundNode))
2115root As BoundNode,
2117nodeCache As SmallDictionary(Of SyntaxNode, ImmutableArray(Of BoundNode)),
2122Dim additionalNodes = OrderPreservingMultiDictionary(Of SyntaxNode, BoundNode).GetInstance()
2165Public Function RecordNode(node As BoundNode, Optional allowCompilerGenerated As Boolean = False) As Boolean
2201Public Overrides Function Visit(node As BoundNode) As BoundNode
2217Public Overrides Function VisitBinaryOperator(node As BoundBinaryOperator) As BoundNode
2257Public Overrides Function VisitUnboundLambda(node As UnboundLambda) As BoundNode
2261Public Overrides Function VisitCall(node As BoundCall) As BoundNode
2284Public Overrides Function VisitPropertyAccess(node As BoundPropertyAccess) As BoundNode
2307Public Overrides Function VisitTypeExpression(node As BoundTypeExpression) As BoundNode
2312Public Overrides Function VisitAttribute(node As BoundAttribute) As BoundNode
2320Public Overrides Function VisitQueryClause(node As BoundQueryClause) As BoundNode
2333Public Overrides Function VisitAggregateClause(node As BoundAggregateClause) As BoundNode
2345Public Overrides Function VisitAnonymousTypeFieldInitializer(node As BoundAnonymousTypeFieldInitializer) As BoundNode
2362Public Overrides Function VisitConversion(node As BoundConversion) As BoundNode
2367Public Overrides Function VisitDirectCast(node As BoundDirectCast) As BoundNode
2372Public Overrides Function VisitTryCast(node As BoundTryCast) As BoundNode
2377Public Overrides Function VisitDelegateCreationExpression(node As BoundDelegateCreationExpression) As BoundNode
2400Public Overrides Function VisitAssignmentOperator(node As BoundAssignmentOperator) As BoundNode
2419Public Overrides Function VisitCompoundAssignmentTargetPlaceholder(node As BoundCompoundAssignmentTargetPlaceholder) As BoundNode
2429Public Overrides Function VisitByRefArgumentPlaceholder(node As BoundByRefArgumentPlaceholder) As BoundNode
2439Public Overrides Function VisitByRefArgumentWithCopyBack(node As BoundByRefArgumentWithCopyBack) As BoundNode
2453Private Function VisitObjectInitializerExpressionBase(node As BoundObjectInitializerExpressionBase) As BoundNode
2459Public Overrides Function VisitCollectionInitializerExpression(node As BoundCollectionInitializerExpression) As BoundNode
2463Public Overrides Function VisitObjectInitializerExpression(node As BoundObjectInitializerExpression) As BoundNode
2467Public Overrides Function VisitLateInvocation(node As BoundLateInvocation) As BoundNode
Lowering\LambdaRewriter\LambdaRewriter.Analysis.vb (45)
28Private _currentBlock As BoundNode
50Friend blockParent As Dictionary(Of BoundNode, BoundNode) = New Dictionary(Of BoundNode, BoundNode)()
58Friend variableScope As Dictionary(Of Symbol, BoundNode) = New Dictionary(Of Symbol, BoundNode)(ReferenceEqualityComparer.Instance)
63Friend labelBlock As Dictionary(Of LabelSymbol, BoundNode) = New Dictionary(Of LabelSymbol, BoundNode)(ReferenceEqualityComparer.Instance)
68Friend gotoBlock As Dictionary(Of BoundGotoStatement, BoundNode) = New Dictionary(Of BoundGotoStatement, BoundNode)()
74Friend containsLiftingLambda As HashSet(Of BoundNode) = New HashSet(Of BoundNode)()
86Friend needsParentFrame As HashSet(Of BoundNode)
99Friend lambdaScopes As Dictionary(Of LambdaSymbol, BoundNode)
145Private Sub Analyze(node As BoundNode)
168lambdaScopes = New Dictionary(Of LambdaSymbol, BoundNode)(ReferenceEqualityComparer.Instance)
169needsParentFrame = New HashSet(Of BoundNode)
175Dim innermostScope As BoundNode = Nothing
178Dim outermostScope As BoundNode = Nothing
181Dim curBlock As BoundNode = Nothing
228Private Function BlockDepth(node As BoundNode) As Integer
242Public Function PushBlock(node As BoundNode, locals As ImmutableArray(Of LocalSymbol)) As BoundNode
267Public Sub PopBlock(previousBlock As BoundNode)
271Public Overrides Function VisitCatchBlock(node As BoundCatchBlock) As BoundNode
282Public Overrides Function VisitBlock(node As BoundBlock) As BoundNode
289Public Overrides Function VisitSequence(node As BoundSequence) As BoundNode
296Public Overrides Function VisitLambda(node As BoundLambda) As BoundNode
300Private Overloads Function VisitLambda(node As BoundLambda, convertToExpressionTree As Boolean) As BoundNode
337Public Overrides Function VisitTryCast(node As BoundTryCast) As BoundNode
348Public Overrides Function VisitDirectCast(node As BoundDirectCast) As BoundNode
359Public Overrides Function VisitConversion(conversion As BoundConversion) As BoundNode
381Dim curBlock As BoundNode = _currentBlock
383Dim declBlock As BoundNode = Nothing
465Public Overrides Function VisitMeReference(node As BoundMeReference) As BoundNode
470Public Overrides Function VisitMyClassReference(node As BoundMyClassReference) As BoundNode
475Public Overrides Function VisitMyBaseReference(node As BoundMyBaseReference) As BoundNode
480Public Overrides Function VisitParameter(node As BoundParameter) As BoundNode
485Public Overrides Function VisitLocal(node As BoundLocal) As BoundNode
490Public Overrides Function VisitRangeVariable(node As BoundRangeVariable) As BoundNode
494Public Overrides Function VisitLabelStatement(node As BoundLabelStatement) As BoundNode
500Public Overrides Function VisitConditionalGoto(node As BoundConditionalGoto) As BoundNode
525Public Overrides Function VisitGotoStatement(node As BoundGotoStatement) As BoundNode
539Public 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