diff options
| author | Robert Griesemer <gri@golang.org> | 2018-03-01 14:23:46 -0800 |
|---|---|---|
| committer | Robert Griesemer <gri@golang.org> | 2018-03-09 23:11:59 +0000 |
| commit | 99c30211b1e0b3ac4e5d32f3ae5eaf759c23195f (patch) | |
| tree | 107dcc30bbfd8b803d896966dc7a8484f76eaebb /src/cmd/internal/test2json/testdata | |
| parent | 20046020c4f0b69e89411d9db35b78942392033e (diff) | |
| download | go-99c30211b1e0b3ac4e5d32f3ae5eaf759c23195f.tar.xz | |
go/scanner: recognize //line and /*line directives incl. columns
This change updates go/scanner to recognize the extended line
directives that are now also handled by cmd/compile:
//line filename:line
//line filename:line:column
/*line filename:line*/
/*line filename:line:column*/
As before, //-style line directives must start in column 1.
/*-style line directives may be placed anywhere in the code.
In both cases, the specified position applies to the character
immediately following the comment; for line comments that is
the first character on the next line (after the newline of the
comment).
The go/token API is extended by a new method
File.AddLineColumnInfo(offset int, filename string, line, column int)
which extends the existing
File.AddLineInfo(offset int, filename string, line int)
by adding a column parameter.
Adjusted token.Position computation is changed to take into account
column information if provided via a line directive: A (line-directive)
relative position will have a non-zero column iff the line directive
specified a column; if the position is on the same line as the line
directive, the column is relative to the specified column (otherwise
it is relative to the line beginning). See also #24183.
Finally, Position.String() has been adjusted to not print a column
value if the column is unknown (== 0).
Fixes #24143.
Change-Id: I5518c825ad94443365c049a95677407b46ba55a1
Reviewed-on: https://go-review.googlesource.com/97795
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Diffstat (limited to 'src/cmd/internal/test2json/testdata')
0 files changed, 0 insertions, 0 deletions
