EditAndContinue\SyntaxComparer.vb (205)
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
351Return Label.LambdaBodyBegin
362Return Label.BodyEnd
370Return Label.DoWhileBlock
374Return Label.DoWhileStatement
378Return Label.WhileOrUntilClause
382Return Label.EndLoop
385Return Label.ForBlock
388Return Label.ForEachBlock
391Return Label.ForStatement
394Return Label.ForEachStatement
397Return Label.ForStepClause
401Return Label.NextStatement
412Return If(TryCast(nodeOpt, UsingBlockSyntax)?.UsingStatement.Variables IsNot Nothing, Label.UsingBlockWithDeclarations, Label.UsingBlockWithExpression)
415Return Label.UsingStatement
419Return Label.EndUsingStatement
422Return Label.SyncLockBlock
425Return Label.SyncLockStatement
429Return Label.EndSyncLockStatement
432Return Label.WithBlock
435Return Label.WithStatement
439Return Label.EndWithStatement
442Return Label.LocalDeclarationStatement
445Return Label.LocalVariableDeclarator
448Return Label.LocalVariableName
452Return Label.IfBlock
456Return Label.IfBlock
459Return Label.IfStatement
462Return Label.ElseIfBlock
465Return Label.ElseIfStatement
469Return Label.ElseBlock
473Return Label.ElseStatement
477Return Label.EndIfStatement
480Return Label.TryBlock
483Return Label.TryBlock
486Return Label.TryStatement
489Return Label.CatchBlock
492Return Label.CatchStatement
495Return Label.FinallyBlock
498Return Label.FinallyStatement
501Return Label.CatchFilterClause
505Return Label.EndTryStatement
509Return Label.ErrorStatement
512Return Label.ThrowStatement
518Return Label.OnErrorStatement
523Return Label.ResumeStatement
526Return Label.SelectBlock
529Return Label.SelectStatement
533Return Label.CaseBlock
537Return Label.CaseStatement
548Return Label.CaseClause
552Return Label.EndSelectStatement
564Return Label.ExitStatement
570Return Label.ContinueStatement
573Return Label.ReturnStatement
579Return Label.GoToStatement
583Return Label.LabelStatement
587Return Label.EraseStatement
591Return Label.ExpressionStatement
604Return Label.AssignmentStatement
609Return Label.EventHandlerStatement
613Return Label.ReDimStatement
616Return Label.ReDimClause
619Return Label.YieldStatement
625Return Label.Lambda
631Return Label.Ignored
634Return Label.QueryExpression
637Return Label.WhereClauseLambda
640Return Label.LetClause
644Return Label.PartitionClause
648Return Label.PartitionWhileLambda
652Return Label.OrderingLambda
655Return Label.FunctionAggregationLambda
658Return Label.SelectClauseLambda
661Return Label.GroupByClause
664Return Label.OrderByClause
668Return Label.JoinClause
671Return Label.AggregateClause
674Return Label.FromClause
694Return Label.ExpressionRangeVariableItems
696Return Label.ExpressionRangeVariable
705Return Label.CollectionRangeVariable
709Return Label.JoinConditionLambda
712Return Label.AwaitExpression
717Return Label.Ignored
720Return Label.Ignored
724Private Shared Function ClassifyTopSytnax(kind As SyntaxKind, nodeOpt As SyntaxNode, ByRef isLeaf As Boolean, ignoreVariableDeclarations As Boolean) As Label
728Return Label.CompilationUnit
732Return Label.Option
736Return Label.Import
740Return Label.Attributes
744Return Label.NamespaceDeclaration
748Return Label.TypeDeclaration
752Return Label.EnumDeclaration
756Return Label.DelegateDeclaration
760Return Label.FieldDeclaration
764Return If(ignoreVariableDeclarations, Label.Ignored, Label.FieldVariableDeclarator)
768Return If(ignoreVariableDeclarations, Label.Ignored, Label.FieldOrParameterName)
772Return Label.MethodDeclaration
776Return Label.PInvokeDeclaration
780Return Label.ConstructorDeclaration
784Return Label.OperatorDeclaration
788Return Label.PropertyDeclaration
792Return Label.CustomEventDeclaration
796Return Label.EnumMemberDeclaration
804Return Label.AccessorDeclaration
823Return Label.DeclarationStatement
827Return Label.EventStatement
831Return Label.TypeParameterList
835Return Label.TypeParameter
839Return Label.ParameterList
843Return Label.Parameter
848Return Label.AttributeList
852Return Label.Ignored
857Return Label.Attribute
860Return Label.Ignored
864Return Label.Ignored
870Return Label.LambdaRoot
876Friend Function GetLabelImpl(node As SyntaxNode) As Label
884Return Classify(kind, Nothing, isLeaf, ignoreVariableDeclarations) <> Label.Ignored
889Return Label.Count
894Return TiedToAncestor(CType(label, Label))