184 references to StackFrameKind
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (43)
EmbeddedLanguages\StackFrame\StackFrameParserTests.cs (4)
487leadingTrivia: CreateTrivia(StackFrameKind.AtTrivia, $"{at} "))), 492line: CreateToken(StackFrameKind.NumberToken, "16", leadingTrivia: ImmutableArray.Create(CreateTrivia(StackFrameKind.LineTrivia, $"{line} "))), 493inTrivia: CreateTrivia(StackFrameKind.InTrivia, $" {@in} "))
EmbeddedLanguages\StackFrame\StackFrameParserTests.Utilities.cs (2)
19using StackFrameToken = EmbeddedSyntaxToken<StackFrameKind>; 62: CreateToken(StackFrameKind.EndOfFrame, "");
EmbeddedLanguages\StackFrame\StackFrameSyntaxFactory.cs (33)
15using StackFrameToken = EmbeddedSyntaxToken<StackFrameKind>; 16using StackFrameTrivia = EmbeddedSyntaxTrivia<StackFrameKind>; 17using StackFrameNodeOrToken = EmbeddedSyntaxNodeOrToken<StackFrameKind, StackFrameNode>; 21public static StackFrameToken CreateToken(StackFrameKind kind, string s, ImmutableArray<StackFrameTrivia> leadingTrivia = default, ImmutableArray<StackFrameTrivia> trailingTrivia = default) 30public static StackFrameTrivia CreateTrivia(StackFrameKind kind, string text) 34=> strings.Select(s => CreateTrivia(StackFrameKind.SkippedTextTrivia, s)).ToImmutableArray(); 36public static readonly StackFrameToken DotToken = CreateToken(StackFrameKind.DotToken, "."); 37public static readonly StackFrameToken CommaToken = CreateToken(StackFrameKind.CommaToken, ","); 38public static readonly StackFrameToken OpenParenToken = CreateToken(StackFrameKind.OpenParenToken, "("); 39public static readonly StackFrameToken CloseParenToken = CreateToken(StackFrameKind.CloseParenToken, ")"); 40public static readonly StackFrameToken OpenBracketToken = CreateToken(StackFrameKind.OpenBracketToken, "["); 41public static readonly StackFrameToken CloseBracketToken = CreateToken(StackFrameKind.CloseBracketToken, "]"); 42public static readonly StackFrameToken LessThanToken = CreateToken(StackFrameKind.LessThanToken, "<"); 43public static readonly StackFrameToken GreaterThanToken = CreateToken(StackFrameKind.GreaterThanToken, ">"); 44public static readonly StackFrameToken GraveAccentToken = CreateToken(StackFrameKind.GraveAccentToken, "`"); 45public static readonly StackFrameToken EOLToken = CreateToken(StackFrameKind.EndOfFrame, ""); 46public static readonly StackFrameToken ColonToken = CreateToken(StackFrameKind.ColonToken, ":"); 47public static readonly StackFrameToken DollarToken = CreateToken(StackFrameKind.DollarToken, "$"); 48public static readonly StackFrameToken PipeToken = CreateToken(StackFrameKind.PipeToken, "|"); 50public static readonly StackFrameTrivia AtTrivia = CreateTrivia(StackFrameKind.AtTrivia, "at "); 51public static readonly StackFrameTrivia LineTrivia = CreateTrivia(StackFrameKind.LineTrivia, "line "); 52public static readonly StackFrameTrivia InTrivia = CreateTrivia(StackFrameKind.InTrivia, " in "); 65? EmbeddedSeparatedSyntaxNodeList<StackFrameKind, StackFrameNode, StackFrameParameterDeclarationNode>.Empty 129=> CreateTrivia(StackFrameKind.WhitespaceTrivia, new string(' ', count)); 141=> CreateToken(StackFrameKind.IdentifierToken, identifierName, leadingTrivia: leadingTrivia, trailingTrivia: trailingTrivia); 162=> new(CreateToken(StackFrameKind.IdentifierToken, identifierName), GraveAccentToken, CreateToken(StackFrameKind.NumberToken, arity.ToString())); 188var typeArgumentsList = new EmbeddedSeparatedSyntaxNodeList<StackFrameKind, StackFrameNode, StackFrameIdentifierNameNode>(builder.ToImmutable()); 194=> new(CreateToken(StackFrameKind.IdentifierToken, identifier)); 203=> CreateToken(StackFrameKind.PathToken, path); 206=> CreateToken(StackFrameKind.NumberToken, lineNumber.ToString(), leadingTrivia: ImmutableArray.Create(LineTrivia)); 211CreateToken(StackFrameKind.GeneratedNameSeparatorToken, "g__"), 214CreateToken(StackFrameKind.GeneratedNameSuffixToken, suffix));
Utilities\StackFrameUtils.cs (4)
15using StackFrameNodeOrToken = CodeAnalysis.EmbeddedLanguages.Common.EmbeddedSyntaxNodeOrToken<StackFrameKind, StackFrameNode>; 16using StackFrameToken = CodeAnalysis.EmbeddedLanguages.Common.EmbeddedSyntaxToken<StackFrameKind>; 17using StackFrameTrivia = CodeAnalysis.EmbeddedLanguages.Common.EmbeddedSyntaxTrivia<StackFrameKind>; 211else if (nodeOrToken.Token.Kind != StackFrameKind.None)
Microsoft.CodeAnalysis.Features (138)
EmbeddedLanguages\StackFrame\StackFrameCompilationUnit.cs (4)
10using StackFrameNodeOrToken = EmbeddedSyntaxNodeOrToken<StackFrameKind, StackFrameNode>; 11using StackFrameToken = EmbeddedSyntaxToken<StackFrameKind>; 12using StackFrameTrivia = EmbeddedSyntaxTrivia<StackFrameKind>; 40: base(StackFrameKind.CompilationUnit)
EmbeddedLanguages\StackFrame\StackFrameExtensions.cs (1)
10using StackFrameTrivia = EmbeddedSyntaxTrivia<StackFrameKind>;
EmbeddedLanguages\StackFrame\StackFrameLexer.cs (48)
18using StackFrameToken = EmbeddedSyntaxToken<StackFrameKind>; 19using StackFrameTrivia = EmbeddedSyntaxTrivia<StackFrameKind>; 78return CreateTrivia(StackFrameKind.SkippedTextTrivia, GetSubSequenceToCurrentPos(start)); 111StackFrameKind.IdentifierToken, 121return CreateToken(StackFrameKind.EndOfFrame, VirtualCharSequence.Empty); 135public bool ScanCurrentCharAsTokenIfMatch(StackFrameKind kind, out StackFrameToken token) 145public bool ScanCurrentCharAsTokenIfMatch(StackFrameKind kind, bool scanTrailingWhitespace, out StackFrameToken token) 171public bool ScanCurrentCharAsTokenIfMatch(Func<StackFrameKind, bool> isMatch, out StackFrameToken token) 188var result = TryScanStringTrivia(language.At, StackFrameKind.AtTrivia); 202var result = TryScanStringTrivia(language.In, StackFrameKind.InTrivia); 216var result = TryScanStringTrivia(language.Line, StackFrameKind.LineTrivia); 227/// Attempts to parse <see cref="StackFrameKind.InTrivia"/> and a path following https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file#file-and-directory-names 276return CreateToken(StackFrameKind.PathToken, inTrivia.ToImmutableArray(), GetSubSequenceToCurrentPos(startPosition)); 280/// Returns a number token with the <see cref="StackFrameKind.LineTrivia"/> and remaining <see cref="StackFrameKind.SkippedTextTrivia"/> 318return CreateToken(StackFrameKind.NumberToken, GetSubSequenceToCurrentPos(start)); 346return CreateToken(StackFrameKind.GeneratedNameSeparatorToken, GetSubSequenceToCurrentPos(start)); 377return CreateToken(StackFrameKind.GeneratedNameSuffixToken, GetSubSequenceToCurrentPos(start)); 399public static StackFrameToken CreateToken(StackFrameKind kind, VirtualCharSequence virtualChars) 402public static StackFrameToken CreateToken(StackFrameKind kind, ImmutableArray<StackFrameTrivia> leadingTrivia, VirtualCharSequence virtualChars) 405public static StackFrameToken CreateToken(StackFrameKind kind, ImmutableArray<StackFrameTrivia> leadingTrivia, VirtualCharSequence virtualChars, ImmutableArray<StackFrameTrivia> trailingTrivia) 408private static StackFrameTrivia CreateTrivia(StackFrameKind kind, VirtualCharSequence virtualChars) 411private static StackFrameTrivia CreateTrivia(StackFrameKind kind, VirtualCharSequence virtualChars, ImmutableArray<EmbeddedDiagnostic> diagnostics) 449private StackFrameTrivia? TryScanStringTrivia(string valueToLookFor, StackFrameKind triviaKind) 476return CreateTrivia(StackFrameKind.WhitespaceTrivia, GetSubSequenceToCurrentPos(startPosition)); 479private static StackFrameKind GetKind(VirtualChar ch) 484'&' => StackFrameKind.AmpersandToken, 485'[' => StackFrameKind.OpenBracketToken, 486']' => StackFrameKind.CloseBracketToken, 487'(' => StackFrameKind.OpenParenToken, 488')' => StackFrameKind.CloseParenToken, 489'.' => StackFrameKind.DotToken, 490'+' => StackFrameKind.PlusToken, 491',' => StackFrameKind.CommaToken, 492':' => StackFrameKind.ColonToken, 493'=' => StackFrameKind.EqualsToken, 494'>' => StackFrameKind.GreaterThanToken, 495'<' => StackFrameKind.LessThanToken, 496'-' => StackFrameKind.MinusToken, 497'\'' => StackFrameKind.SingleQuoteToken, 498'`' => StackFrameKind.GraveAccentToken, 499'\\' => StackFrameKind.BackslashToken, 500'/' => StackFrameKind.ForwardSlashToken, 501'$' => StackFrameKind.DollarToken, 502'|' => StackFrameKind.PipeToken, 504? StackFrameKind.WhitespaceTrivia 506? StackFrameKind.NumberToken 507: StackFrameKind.SkippedTextTrivia
EmbeddedLanguages\StackFrame\StackFrameNodeDefinitions.cs (52)
14using StackFrameNodeOrToken = EmbeddedSyntaxNodeOrToken<StackFrameKind, StackFrameNode>; 15using StackFrameToken = EmbeddedSyntaxToken<StackFrameKind>; 17internal abstract class StackFrameNode : EmbeddedSyntaxNode<StackFrameKind, StackFrameNode> 19protected StackFrameNode(StackFrameKind kind) : base(kind) 28protected StackFrameDeclarationNode(StackFrameKind kind) : base(kind) 43: base(StackFrameKind.MethodDeclaration) 70protected StackFrameTypeNode(StackFrameKind kind) : base(kind) 80/// is not a type then it should use <see cref="StackFrameToken"/> with <see cref="StackFrameKind.IdentifierToken"/> 85protected StackFrameNameNode(StackFrameKind kind) : base(kind) 97protected StackFrameSimpleNameNode(StackFrameToken identifier, StackFrameKind kind) : base(kind) 99Debug.Assert(identifier.Kind == StackFrameKind.IdentifierToken); 113public StackFrameQualifiedNameNode(StackFrameNameNode left, StackFrameToken dotToken, StackFrameSimpleNameNode right) : base(StackFrameKind.MemberAccess) 115Debug.Assert(dotToken.Kind == StackFrameKind.DotToken); 138/// The simplest identifier node, which wraps a <see cref="StackFrameKind.IdentifierToken" /> 145: base(identifier, StackFrameKind.TypeIdentifier) 166/// The "`" token in arity identifiers. Must be <see cref="StackFrameKind.GraveAccentToken"/> 175: base(identifier, StackFrameKind.GenericTypeIdentifier) 177Debug.Assert(graveAccentToken.Kind == StackFrameKind.GraveAccentToken); 178Debug.Assert(numberToken.Kind == StackFrameKind.NumberToken); 199protected StackFrameGeneratedNameNode(StackFrameToken identifier, StackFrameKind kind) : base(identifier, kind) 217: base(identifier, StackFrameKind.GeneratedIdentifier) 219Debug.Assert(lessThanToken.Kind == StackFrameKind.LessThanToken); 220Debug.Assert(greaterThanToken.Kind == StackFrameKind.GreaterThanToken); 221Debug.Assert(!dollarToken.HasValue || dollarToken.Value.Kind == StackFrameKind.DollarToken); 268: base(identifier, StackFrameKind.LocalMethodIdentifier) 270Debug.Assert(generatedNameSeparator.Kind == StackFrameKind.GeneratedNameSeparatorToken); 271Debug.Assert(identifier.Kind == StackFrameKind.IdentifierToken); 272Debug.Assert(pipeToken.Kind == StackFrameKind.PipeToken); 273Debug.Assert(suffix.Kind == StackFrameKind.GeneratedNameSuffixToken); 320public StackFrameArrayTypeNode(StackFrameNameNode typeIdentifier, ImmutableArray<StackFrameArrayRankSpecifier> arrayRankSpecifiers) : base(StackFrameKind.ArrayTypeExpression) 347: base(StackFrameKind.ArrayExpression) 350Debug.Assert(openBracket.Kind == StackFrameKind.OpenBracketToken); 351Debug.Assert(closeBracket.Kind == StackFrameKind.CloseBracketToken); 352Debug.Assert(commaTokens.All(static t => t.Kind == StackFrameKind.CommaToken)); 394public readonly EmbeddedSeparatedSyntaxNodeList<StackFrameKind, StackFrameNode, StackFrameIdentifierNameNode> TypeArguments; 399EmbeddedSeparatedSyntaxNodeList<StackFrameKind, StackFrameNode, StackFrameIdentifierNameNode> typeArguments, 401: base(StackFrameKind.TypeArgument) 403Debug.Assert(openToken.Kind is StackFrameKind.OpenBracketToken or StackFrameKind.LessThanToken); 405Debug.Assert(openToken.Kind == StackFrameKind.OpenBracketToken ? closeToken.Kind == StackFrameKind.CloseBracketToken : closeToken.Kind == StackFrameKind.GreaterThanToken); 447: base(StackFrameKind.Parameter) 449Debug.Assert(identifier.Kind == StackFrameKind.IdentifierToken); 469public readonly EmbeddedSeparatedSyntaxNodeList<StackFrameKind, StackFrameNode, StackFrameParameterDeclarationNode> Parameters; 474EmbeddedSeparatedSyntaxNodeList<StackFrameKind, StackFrameNode, StackFrameParameterDeclarationNode> parameters, 476: base(StackFrameKind.ParameterList) 478Debug.Assert(openToken.Kind == StackFrameKind.OpenParenToken); 479Debug.Assert(closeToken.Kind == StackFrameKind.CloseParenToken); 516public StackFrameFileInformationNode(StackFrameToken path, StackFrameToken? colon, StackFrameToken? line) : base(StackFrameKind.FileInformation) 518Debug.Assert(path.Kind == StackFrameKind.PathToken); 520Debug.Assert(!line.HasValue || line.Value.Kind == StackFrameKind.NumberToken);
EmbeddedLanguages\StackFrame\StackFrameParser.cs (32)
15using StackFrameNodeOrToken = EmbeddedSyntaxNodeOrToken<StackFrameKind, StackFrameNode>; 16using StackFrameToken = EmbeddedSyntaxToken<StackFrameKind>; 17using StackFrameTrivia = EmbeddedSyntaxTrivia<StackFrameKind>; 91Contract.ThrowIfFalse(eolToken.Kind == StackFrameKind.EndOfFrame); 189if (!_lexer.ScanCurrentCharAsTokenIfMatch(StackFrameKind.DotToken, out var dotToken)) 249if (!_lexer.ScanCurrentCharAsTokenIfMatch(StackFrameKind.LessThanToken, out var lessThanToken)) 254if (_lexer.CurrentCharAsToken().Kind == StackFrameKind.LessThanToken) 267if (!_lexer.ScanCurrentCharAsTokenIfMatch(StackFrameKind.GreaterThanToken, out var greaterThanToken)) 272if (_lexer.ScanCurrentCharAsTokenIfMatch(StackFrameKind.DollarToken, out var dollarToken)) 297if (!_lexer.ScanCurrentCharAsTokenIfMatch(StackFrameKind.PipeToken, out var suffixSeparator)) 328if (!_lexer.ScanCurrentCharAsTokenIfMatch(StackFrameKind.GraveAccentToken, out var graveAccentToken)) 354kind => kind is StackFrameKind.OpenBracketToken or StackFrameKind.LessThanToken, 360var closeBracketKind = openToken.Kind is StackFrameKind.OpenBracketToken 361? StackFrameKind.CloseBracketToken 362: StackFrameKind.GreaterThanToken; 368while (currentIdentifier.HasValue && currentIdentifier.Value.Kind == StackFrameKind.IdentifierToken) 377if (!_lexer.ScanCurrentCharAsTokenIfMatch(StackFrameKind.CommaToken, out var commaToken)) 396var separatedList = new EmbeddedSeparatedSyntaxNodeList<StackFrameKind, StackFrameNode, StackFrameIdentifierNameNode>(builder.ToImmutable()); 410if (!_lexer.ScanCurrentCharAsTokenIfMatch(StackFrameKind.OpenParenToken, scanTrailingWhitespace: true, out var openParen)) 415if (_lexer.ScanCurrentCharAsTokenIfMatch(StackFrameKind.CloseParenToken, out var closeParen)) 417return new(openParen, EmbeddedSeparatedSyntaxNodeList<StackFrameKind, StackFrameNode, StackFrameParameterDeclarationNode>.Empty, closeParen); 433if (!_lexer.ScanCurrentCharAsTokenIfMatch(StackFrameKind.CommaToken, out var commaToken)) 441if (!_lexer.ScanCurrentCharAsTokenIfMatch(StackFrameKind.CloseParenToken, out closeParen)) 446var parameters = new EmbeddedSeparatedSyntaxNodeList<StackFrameKind, StackFrameNode, StackFrameParameterDeclarationNode>(builder.ToImmutable()); 465if (CurrentCharAsToken().Kind == StackFrameKind.OpenBracketToken) 499if (!_lexer.ScanCurrentCharAsTokenIfMatch(StackFrameKind.OpenBracketToken, scanTrailingWhitespace: true, out var openBracket)) 504while (_lexer.ScanCurrentCharAsTokenIfMatch(StackFrameKind.CommaToken, scanTrailingWhitespace: true, out var commaToken)) 509if (!_lexer.ScanCurrentCharAsTokenIfMatch(StackFrameKind.CloseBracketToken, scanTrailingWhitespace: true, out var closeBracket)) 533if (path.Kind == StackFrameKind.None) 538if (!_lexer.ScanCurrentCharAsTokenIfMatch(StackFrameKind.ColonToken, out var colonToken))
EmbeddedLanguages\StackFrame\StackFrameTree.cs (1)
11internal class StackFrameTree : EmbeddedSyntaxTree<StackFrameKind, StackFrameNode, StackFrameCompilationUnit>
Microsoft.VisualStudio.LanguageServices (3)
StackTraceExplorer\StackFrameViewModel.cs (2)
28using StackFrameToken = EmbeddedSyntaxToken<StackFrameKind>; 29using StackFrameTrivia = EmbeddedSyntaxTrivia<StackFrameKind>;
StackTraceExplorer\StackTraceExplorerToolWindow.cs (1)
114return firstNodeOrToken.Token.LeadingTrivia.Any(static t => t.Kind == StackFrameKind.AtTrivia);