152 references to Label
Microsoft.CodeAnalysis.CSharp.Features (152)
EditAndContinue\SyntaxComparer.cs (152)
45/// - If <see cref="TiedToAncestor(Label)"/> is true for a label then all its possible parent labels must precede the label. 168private static int TiedToAncestor(Label label) 173case Label.ExternAliasDirective: 174case Label.UsingDirective: 175case Label.FieldDeclaration: 176case Label.FieldVariableDeclaration: 177case Label.FieldVariableDeclarator: 178case Label.MethodDeclaration: 179case Label.OperatorDeclaration: 180case Label.ConversionOperatorDeclaration: 181case Label.ConstructorDeclaration: 182case Label.DestructorDeclaration: 183case Label.PropertyDeclaration: 184case Label.ArrowExpressionClause: 185case Label.IndexerDeclaration: 186case Label.EventDeclaration: 187case Label.EnumMemberDeclaration: 188case Label.BaseList: 189case Label.AccessorDeclaration: 190case Label.AccessorList: 191case Label.TypeParameterList: 192case Label.TypeParameter: 193case Label.TypeParameterConstraintClause: 194case Label.ParameterList: 195case Label.BracketedParameterList: 196case Label.Parameter: 197case Label.AttributeList: 198case Label.Attribute: 199case Label.ExtensionBlockDeclaration: 203case Label.LocalDeclarationStatement: 204case Label.LocalVariableDeclaration: 205case Label.LocalVariableDeclarator: 206case Label.GotoCaseStatement: 207case Label.BreakContinueStatement: 208case Label.ElseClause: 209case Label.CatchClause: 210case Label.CatchDeclaration: 211case Label.CatchFilterClause: 212case Label.FinallyClause: 213case Label.ForStatementPart: 214case Label.YieldReturnStatement: 215case Label.YieldBreakStatement: 216case Label.FromClauseLambda: 217case Label.LetClauseLambda: 218case Label.WhereClauseLambda: 219case Label.OrderByClause: 220case Label.OrderingLambda: 221case Label.SelectClauseLambda: 222case Label.JoinClauseLambda: 223case Label.JoinIntoClause: 224case Label.GroupClauseLambda: 225case Label.QueryContinuation: 226case Label.CasePatternSwitchLabel: 227case Label.WhenClause: 228case Label.SwitchExpressionArm: 239internal Label Classify(SyntaxKind kind, SyntaxNode? node, out bool isLeaf) 249return Label.ForStatementPart; 261return Label.CompilationUnit; 264return Label.TypeParameterList; 267return Label.TypeParameterConstraintClause; 271return Label.TypeParameter; 274return Label.BracketedParameterList; 277return Label.ParameterList; 280return Label.Parameter; 284return Label.ConstructorDeclaration; 295private static Label ClassifyStatementSyntax(SyntaxKind kind, SyntaxNode? node, out bool isLeaf) 332return Label.Ignored; 335return Label.LocalDeclarationStatement; 338return Label.SingleVariableDesignation; 341return Label.LabeledStatement; 345return Label.ExpressionStatement; 349return Label.GotoStatement; 354return Label.GotoCaseStatement; 359return Label.BreakContinueStatement; 363return Label.ReturnThrowStatement; 366return Label.ExpressionStatement; 370return Label.YieldBreakStatement; 373return Label.YieldReturnStatement; 376return Label.DoStatement; 379return Label.WhileStatement; 382return Label.ForStatement; 386return Label.ForEachStatement; 396return node is UsingStatementSyntax { Declaration: not null } ? Label.UsingStatementWithDeclarations : Label.UsingStatementWithExpression; 399return Label.FixedStatement; 403return Label.CheckedStatement; 406return Label.UnsafeStatement; 409return Label.LockStatement; 412return Label.IfStatement; 415return Label.ElseClause; 418return Label.SwitchStatement; 421return Label.SwitchSection; 428return Label.Ignored; 431return Label.WhenClause; 434return Label.CasePatternSwitchLabel; 437return Label.SwitchExpression; 440return Label.SwitchExpressionArm; 443return Label.TryStatement; 446return Label.CatchClause; 450return Label.CatchDeclaration; 453return Label.CatchFilterClause; 456return Label.FinallyClause; 471return Label.FromClause; 474return Label.FromClauseLambda; 477return Label.QueryBody; 480return Label.QueryContinuation; 483return Label.LetClauseLambda; 486return Label.WhereClauseLambda; 489return Label.OrderByClause; 493return Label.OrderingLambda; 496return Label.SelectClauseLambda; 499return Label.JoinClauseLambda; 502return Label.JoinIntoClause; 505return Label.GroupClauseLambda; 536return Label.Ignored; 539return Label.AwaitExpression; 545return Label.NestedFunction; 548return Label.LocalVariableDeclaration; 551return Label.LocalVariableDeclarator; 554return Label.Block; 559return Label.Ignored; 562private static Label ClassifyTopSyntax(SyntaxKind kind, SyntaxNode? node, out bool isLeaf) 576return Label.GlobalStatement; 580return Label.ExternAliasDirective; 584return Label.UsingDirective; 588return Label.NamespaceDeclaration; 595return Label.TypeDeclaration; 598return Label.BaseList; 603return Label.PrimaryConstructorBase; 606return Label.MethodDeclaration; 609return Label.EnumDeclaration; 612return Label.DelegateDeclaration; 616return Label.FieldDeclaration; 619return Label.ConversionOperatorDeclaration; 622return Label.OperatorDeclaration; 626return Label.DestructorDeclaration; 629return Label.PropertyDeclaration; 632return Label.IndexerDeclaration; 636return Label.ArrowExpressionClause; 641return Label.EventDeclaration; 645return Label.EnumMemberDeclaration; 648return Label.AccessorList; 656return Label.AccessorDeclaration; 661return Label.FieldVariableDeclaration; 666return Label.FieldVariableDeclarator; 672return Label.AttributeList; 682return Label.Attribute; 688return Label.ExtensionBlockDeclaration; 694return Label.Ignored; 699=> Classify(kind, node: null, out _) != Label.Ignored; 702=> (int)Label.Count; 705=> TiedToAncestor((Label)label);