internal DiagnosticList(SyntaxTree syntaxTree, Syntax.InternalSyntax.SyntaxNode node, int position) { this.syntaxTree = syntaxTree; this.node = node; this.position = position; this.count = -1; this.list = null; }
private void Push(Syntax.InternalSyntax.SyntaxNode node) { if (this.count >= this.stack.Length) { var tmp = new NodeIteration[this.stack.Length * 2]; Array.Copy(this.stack, tmp, this.stack.Length); this.stack = tmp; } this.stack[this.count] = new NodeIteration(node); this.count++; }
internal void PushNodeOrToken(Syntax.InternalSyntax.SyntaxNode node) { var token = node as Syntax.InternalSyntax.SyntaxToken; if (token != null) { PushToken(token); } else { Push(node); } }
private static int CountDiagnostics(Syntax.InternalSyntax.SyntaxNode node) { int n = 0; if (node != null && node.ContainsDiagnostics) { n = node.GetDiagnostics().Length; var token = node as Syntax.InternalSyntax.SyntaxToken; if (token != null) { var leading = token.GetLeadingTrivia(); if (leading != null) { n += CountDiagnostics(leading); } var trailing = token.GetTrailingTrivia(); if (trailing != null) { n += CountDiagnostics(trailing); } } else { for (int i = 0, nc = node.SlotCount; i < nc; i++) { var child = node.GetSlot(i); if (child != null) { n += CountDiagnostics(child); } } } } return(n); }
internal NodeIteration(Syntax.InternalSyntax.SyntaxNode node) { this.Node = node; this.SlotIndex = -1; this.DiagnosticIndex = -1; }
internal NodeIteration(Syntax.InternalSyntax.SyntaxNode node) { this.Node = node; this.SlotIndex = -1; this.DiagnosticIndex = -1; }