150 references to Label
Microsoft.CodeAnalysis.CSharp.Features (150)
EditAndContinue\SyntaxComparer.cs (150)
45/// - If <see cref="TiedToAncestor(Label)"/> is true for a label then all its possible parent labels must precede the label. 167private static int TiedToAncestor(Label label) 172case Label.ExternAliasDirective: 173case Label.UsingDirective: 174case Label.FieldDeclaration: 175case Label.FieldVariableDeclaration: 176case Label.FieldVariableDeclarator: 177case Label.MethodDeclaration: 178case Label.OperatorDeclaration: 179case Label.ConversionOperatorDeclaration: 180case Label.ConstructorDeclaration: 181case Label.DestructorDeclaration: 182case Label.PropertyDeclaration: 183case Label.ArrowExpressionClause: 184case Label.IndexerDeclaration: 185case Label.EventDeclaration: 186case Label.EnumMemberDeclaration: 187case Label.BaseList: 188case Label.AccessorDeclaration: 189case Label.AccessorList: 190case Label.TypeParameterList: 191case Label.TypeParameter: 192case Label.TypeParameterConstraintClause: 193case Label.ParameterList: 194case Label.BracketedParameterList: 195case Label.Parameter: 196case Label.AttributeList: 197case Label.Attribute: 201case Label.LocalDeclarationStatement: 202case Label.LocalVariableDeclaration: 203case Label.LocalVariableDeclarator: 204case Label.GotoCaseStatement: 205case Label.BreakContinueStatement: 206case Label.ElseClause: 207case Label.CatchClause: 208case Label.CatchDeclaration: 209case Label.CatchFilterClause: 210case Label.FinallyClause: 211case Label.ForStatementPart: 212case Label.YieldReturnStatement: 213case Label.YieldBreakStatement: 214case Label.FromClauseLambda: 215case Label.LetClauseLambda: 216case Label.WhereClauseLambda: 217case Label.OrderByClause: 218case Label.OrderingLambda: 219case Label.SelectClauseLambda: 220case Label.JoinClauseLambda: 221case Label.JoinIntoClause: 222case Label.GroupClauseLambda: 223case Label.QueryContinuation: 224case Label.CasePatternSwitchLabel: 225case Label.WhenClause: 226case Label.SwitchExpressionArm: 237internal Label Classify(SyntaxKind kind, SyntaxNode? node, out bool isLeaf) 247return Label.ForStatementPart; 259return Label.CompilationUnit; 262return Label.TypeParameterList; 265return Label.TypeParameterConstraintClause; 269return Label.TypeParameter; 272return Label.BracketedParameterList; 275return Label.ParameterList; 278return Label.Parameter; 282return Label.ConstructorDeclaration; 293private static Label ClassifyStatementSyntax(SyntaxKind kind, SyntaxNode? node, out bool isLeaf) 330return Label.Ignored; 333return Label.LocalDeclarationStatement; 336return Label.SingleVariableDesignation; 339return Label.LabeledStatement; 343return Label.ExpressionStatement; 347return Label.GotoStatement; 352return Label.GotoCaseStatement; 357return Label.BreakContinueStatement; 361return Label.ReturnThrowStatement; 364return Label.ExpressionStatement; 368return Label.YieldBreakStatement; 371return Label.YieldReturnStatement; 374return Label.DoStatement; 377return Label.WhileStatement; 380return Label.ForStatement; 384return Label.ForEachStatement; 394return node is UsingStatementSyntax { Declaration: not null } ? Label.UsingStatementWithDeclarations : Label.UsingStatementWithExpression; 397return Label.FixedStatement; 401return Label.CheckedStatement; 404return Label.UnsafeStatement; 407return Label.LockStatement; 410return Label.IfStatement; 413return Label.ElseClause; 416return Label.SwitchStatement; 419return Label.SwitchSection; 426return Label.Ignored; 429return Label.WhenClause; 432return Label.CasePatternSwitchLabel; 435return Label.SwitchExpression; 438return Label.SwitchExpressionArm; 441return Label.TryStatement; 444return Label.CatchClause; 448return Label.CatchDeclaration; 451return Label.CatchFilterClause; 454return Label.FinallyClause; 469return Label.FromClause; 472return Label.FromClauseLambda; 475return Label.QueryBody; 478return Label.QueryContinuation; 481return Label.LetClauseLambda; 484return Label.WhereClauseLambda; 487return Label.OrderByClause; 491return Label.OrderingLambda; 494return Label.SelectClauseLambda; 497return Label.JoinClauseLambda; 500return Label.JoinIntoClause; 503return Label.GroupClauseLambda; 534return Label.Ignored; 537return Label.AwaitExpression; 543return Label.NestedFunction; 546return Label.LocalVariableDeclaration; 549return Label.LocalVariableDeclarator; 552return Label.Block; 557return Label.Ignored; 560private static Label ClassifyTopSyntax(SyntaxKind kind, SyntaxNode? node, out bool isLeaf) 574return Label.GlobalStatement; 578return Label.ExternAliasDirective; 582return Label.UsingDirective; 586return Label.NamespaceDeclaration; 593return Label.TypeDeclaration; 596return Label.BaseList; 601return Label.PrimaryConstructorBase; 604return Label.MethodDeclaration; 607return Label.EnumDeclaration; 610return Label.DelegateDeclaration; 614return Label.FieldDeclaration; 617return Label.ConversionOperatorDeclaration; 620return Label.OperatorDeclaration; 624return Label.DestructorDeclaration; 627return Label.PropertyDeclaration; 630return Label.IndexerDeclaration; 634return Label.ArrowExpressionClause; 639return Label.EventDeclaration; 643return Label.EnumMemberDeclaration; 646return Label.AccessorList; 654return Label.AccessorDeclaration; 659return Label.FieldVariableDeclaration; 664return Label.FieldVariableDeclarator; 670return Label.AttributeList; 680return Label.Attribute; 689return Label.Ignored; 694=> Classify(kind, node: null, out _) != Label.Ignored; 697=> (int)Label.Count; 700=> TiedToAncestor((Label)label);