...
This commit is contained in:
@@ -16,8 +16,8 @@ public static class AstExtensions
|
||||
|
||||
return new Location
|
||||
{
|
||||
Uri = node.Tokens.First().Span.FilePath,
|
||||
Range = new Range(node.Tokens.First().Span.Start.Line - 1, node.Tokens.First().Span.Start.Column - 1, node.Tokens.Last().Span.End.Line - 1, node.Tokens.Last().Span.End.Column - 1)
|
||||
Uri = node.Tokens.First().Span.SourcePath,
|
||||
Range = new Range(node.Tokens.First().Span.StartLine - 1, node.Tokens.First().Span.StartColumn - 1, node.Tokens.Last().Span.EndLine - 1, node.Tokens.Last().Span.EndColumn - 1)
|
||||
};
|
||||
}
|
||||
|
||||
@@ -25,20 +25,17 @@ public static class AstExtensions
|
||||
{
|
||||
return new Location
|
||||
{
|
||||
Uri = token.Span.FilePath,
|
||||
Range = new Range(token.Span.Start.Line - 1, token.Span.Start.Column - 1, token.Span.End.Line - 1, token.Span.End.Column - 1)
|
||||
Uri = token.Span.SourcePath,
|
||||
Range = new Range(token.Span.StartLine - 1, token.Span.StartColumn - 1, token.Span.EndLine - 1, token.Span.EndColumn - 1)
|
||||
};
|
||||
}
|
||||
|
||||
public static bool ContainsPosition(this Token token, int line, int character)
|
||||
{
|
||||
var start = token.Span.Start;
|
||||
var end = token.Span.End;
|
||||
|
||||
var startLine = start.Line - 1;
|
||||
var startChar = start.Column - 1;
|
||||
var endLine = end.Line - 1;
|
||||
var endChar = end.Column - 1;
|
||||
var startLine = token.Span.StartLine - 1;
|
||||
var startChar = token.Span.StartColumn - 1;
|
||||
var endLine = token.Span.EndLine - 1;
|
||||
var endChar = token.Span.EndColumn - 1;
|
||||
|
||||
if (line < startLine || line > endLine) return false;
|
||||
|
||||
@@ -69,13 +66,12 @@ public static class AstExtensions
|
||||
return false;
|
||||
}
|
||||
|
||||
var start = node.Tokens.First().Span.Start;
|
||||
var end = node.Tokens.Last().Span.End;
|
||||
var span = node.Tokens.First().Span;
|
||||
|
||||
var startLine = start.Line - 1;
|
||||
var startChar = start.Column - 1;
|
||||
var endLine = end.Line - 1;
|
||||
var endChar = end.Column - 1;
|
||||
var startLine = span.StartLine - 1;
|
||||
var startChar = span.StartColumn - 1;
|
||||
var endLine = span.EndLine - 1;
|
||||
var endChar = span.EndColumn - 1;
|
||||
|
||||
if (line < startLine || line > endLine) return false;
|
||||
|
||||
@@ -111,8 +107,8 @@ public static class AstExtensions
|
||||
return compilationUnit
|
||||
.SelectMany(x => x.DescendantsAndSelf())
|
||||
.Where(n => n.ContainsPosition(line, character))
|
||||
.OrderBy(n => n.Tokens.First().Span.Start.Line)
|
||||
.ThenBy(n => n.Tokens.First().Span.Start.Column)
|
||||
.OrderBy(n => n.Tokens.First().Span.StartLine)
|
||||
.ThenBy(n => n.Tokens.First().Span.StartColumn)
|
||||
.LastOrDefault();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user