Soichiro Kashima 7f48cc88b8
Fix lint errors on files with //line directive (#1065)
If the target files contains `//line` directive and it indicates
a non-go file, the linter is going to handle it as a go file,
which results in failure.
The cause of this issue is that the linters (`Analyzer`s) are using
`pass.Fset.Position()`. This func returns the adjusted position using
`//line` directive.
The example project reported in #998 has `//line` directive that
indicates other non-go file.
According to the description of "Compiler Directives”
(https://golang.org/cmd/compile/#hdr-Compiler_Directives),
line directives is mainly used for reporting original positions to
the generators or something.
On linters of golangci-lint, `pass.Fset.Position()` is used just to
aggregate file names; we don't have to adjust positions.
This changes `Analyzer`s that use `pass.Fset.Position()` to aggregate
file names to use `pass.Fset.PositionFor()` with `adjusted == false`.

Relates: #998
2020-05-05 18:49:34 +03:00
..
2020-05-05 18:45:19 +03:00
2020-02-02 16:29:57 -05:00
2019-09-14 18:48:18 +03:00
2020-05-05 18:45:19 +03:00
2019-10-13 17:40:51 +03:00
2020-04-11 00:41:24 +03:00
2019-09-23 09:52:54 +03:00
2020-05-05 18:45:19 +03:00