EditAndContinue\SyntaxComparer.vb (207)
214Private Overloads Shared Function TiedToAncestor(label As Label) As Integer
217Case Label.Option,
218Label.Import,
219Label.Attributes,
220Label.FieldDeclaration,
221Label.FieldVariableDeclarator,
222Label.PInvokeDeclaration,
223Label.MethodDeclaration,
224Label.OperatorDeclaration,
225Label.ConstructorDeclaration,
226Label.PropertyDeclaration,
227Label.CustomEventDeclaration,
228Label.EnumMemberDeclaration,
229Label.AccessorDeclaration,
230Label.DeclarationStatement,
231Label.EventStatement,
232Label.TypeParameterList,
233Label.TypeParameter,
234Label.ParameterList,
235Label.Parameter,
236Label.AttributeList,
237Label.Attribute
240Case Label.FieldOrParameterName
244Case Label.BodyBegin,
245Label.LambdaBodyBegin,
246Label.BodyEnd,
247Label.TryStatement,
248Label.CatchBlock,
249Label.CatchStatement,
250Label.FinallyBlock,
251Label.FinallyStatement,
252Label.CatchFilterClause,
253Label.EndTryStatement,
254Label.ForEachStatement,
255Label.ForStatement,
256Label.ForStepClause,
257Label.NextStatement,
258Label.UsingStatement,
259Label.EndUsingStatement,
260Label.SyncLockStatement,
261Label.EndSyncLockStatement,
262Label.WithStatement,
263Label.EndWithStatement,
264Label.DoWhileStatement,
265Label.WhileOrUntilClause,
266Label.EndLoop,
267Label.IfStatement,
268Label.ElseIfBlock,
269Label.ElseIfStatement,
270Label.ElseBlock,
271Label.ElseStatement,
272Label.EndIfStatement,
273Label.SelectStatement,
274Label.CaseBlock,
275Label.CaseStatement,
276Label.CaseClause,
277Label.EndSelectStatement,
278Label.ReDimClause,
279Label.AggregateClause,
280Label.JoinClause,
281Label.FromClause,
282Label.WhereClauseLambda,
283Label.LetClause,
284Label.SelectClauseLambda,
285Label.PartitionWhileLambda,
286Label.PartitionClause,
287Label.GroupByClause,
288Label.OrderByClause,
289Label.CollectionRangeVariable,
290Label.ExpressionRangeVariable,
291Label.ExpressionRangeVariableItems,
292Label.FunctionAggregationLambda,
293Label.OrderingLambda,
294Label.JoinConditionLambda,
295Label.LocalDeclarationStatement,
296Label.LocalVariableDeclarator,
297Label.LocalVariableName
312Friend Overloads Function Classify(kind As SyntaxKind, nodeOpt As SyntaxNode, ByRef isLeaf As Boolean, ignoreVariableDeclarations As Boolean) As Label
320Friend Shared Function ClassifyStatementSyntax(kind As SyntaxKind, nodeOpt As SyntaxNode, ByRef isLeaf As Boolean) As Label
333Return Label.BodyBlock
345Return Label.BodyBegin
349Return Label.LambdaBodyBegin
360Return Label.BodyEnd
368Return Label.DoWhileBlock
372Return Label.DoWhileStatement
376Return Label.WhileOrUntilClause
380Return Label.EndLoop
383Return Label.ForBlock
386Return Label.ForEachBlock
389Return Label.ForStatement
392Return Label.ForEachStatement
395Return Label.ForStepClause
399Return Label.NextStatement
410Return If(TryCast(nodeOpt, UsingBlockSyntax)?.UsingStatement.Variables IsNot Nothing, Label.UsingBlockWithDeclarations, Label.UsingBlockWithExpression)
413Return Label.UsingStatement
417Return Label.EndUsingStatement
420Return Label.SyncLockBlock
423Return Label.SyncLockStatement
427Return Label.EndSyncLockStatement
430Return Label.WithBlock
433Return Label.WithStatement
437Return Label.EndWithStatement
440Return Label.LocalDeclarationStatement
443Return Label.LocalVariableDeclarator
446Return Label.LocalVariableName
450Return Label.IfBlock
454Return Label.IfBlock
457Return Label.IfStatement
460Return Label.ElseIfBlock
463Return Label.ElseIfStatement
467Return Label.ElseBlock
471Return Label.ElseStatement
475Return Label.EndIfStatement
478Return Label.TryBlock
481Return Label.TryBlock
484Return Label.TryStatement
487Return Label.CatchBlock
490Return Label.CatchStatement
493Return Label.FinallyBlock
496Return Label.FinallyStatement
499Return Label.CatchFilterClause
503Return Label.EndTryStatement
507Return Label.ErrorStatement
510Return Label.ThrowStatement
516Return Label.OnErrorStatement
521Return Label.ResumeStatement
524Return Label.SelectBlock
527Return Label.SelectStatement
531Return Label.CaseBlock
535Return Label.CaseStatement
546Return Label.CaseClause
550Return Label.EndSelectStatement
562Return Label.ExitStatement
568Return Label.ContinueStatement
571Return Label.ReturnStatement
577Return Label.GoToStatement
581Return Label.LabelStatement
585Return Label.EraseStatement
589Return Label.ExpressionStatement
602Return Label.AssignmentStatement
607Return Label.EventHandlerStatement
611Return Label.ReDimStatement
614Return Label.ReDimClause
617Return Label.YieldStatement
623Return Label.Lambda
627Return Label.LambdaBodyBegin
630Return Label.ParameterList
633Return Label.Parameter
636Return Label.QueryExpression
639Return Label.WhereClauseLambda
642Return Label.LetClause
646Return Label.PartitionClause
650Return Label.PartitionWhileLambda
654Return Label.OrderingLambda
657Return Label.FunctionAggregationLambda
660Return Label.SelectClauseLambda
663Return Label.GroupByClause
666Return Label.OrderByClause
670Return Label.JoinClause
673Return Label.AggregateClause
676Return Label.FromClause
696Return Label.ExpressionRangeVariableItems
698Return Label.ExpressionRangeVariable
707Return Label.CollectionRangeVariable
711Return Label.JoinConditionLambda
714Return Label.AwaitExpression
719Return Label.Ignored
722Return Label.Ignored
726Private Shared Function ClassifyTopSyntax(kind As SyntaxKind, nodeOpt As SyntaxNode, ByRef isLeaf As Boolean, ignoreVariableDeclarations As Boolean) As Label
730Return Label.CompilationUnit
734Return Label.Option
738Return Label.Import
742Return Label.Attributes
746Return Label.NamespaceDeclaration
750Return Label.TypeDeclaration
754Return Label.EnumDeclaration
758Return Label.DelegateDeclaration
762Return Label.FieldDeclaration
766Return If(ignoreVariableDeclarations, Label.Ignored, Label.FieldVariableDeclarator)
770Return If(ignoreVariableDeclarations, Label.Ignored, Label.FieldOrParameterName)
774Return Label.MethodDeclaration
778Return Label.PInvokeDeclaration
782Return Label.ConstructorDeclaration
786Return Label.OperatorDeclaration
790Return Label.PropertyDeclaration
794Return Label.CustomEventDeclaration
798Return Label.EnumMemberDeclaration
806Return Label.AccessorDeclaration
825Return Label.DeclarationStatement
829Return Label.EventStatement
833Return Label.TypeParameterList
837Return Label.TypeParameter
841Return Label.ParameterList
845Return Label.Parameter
850Return Label.AttributeList
854Return Label.Ignored
859Return Label.Attribute
862Return Label.Ignored
866Return Label.Ignored
872Return Label.LambdaRoot
878Friend Function GetLabelImpl(node As SyntaxNode) As Label
886Return Classify(kind, Nothing, isLeaf, ignoreVariableDeclarations) <> Label.Ignored
891Return Label.Count
896Return TiedToAncestor(CType(label, Label))