diff options
author | Robert Griesemer <gri@golang.org> | 2016-11-30 23:28:40 -0800 |
---|---|---|
committer | Robert Griesemer <gri@golang.org> | 2016-12-09 00:43:04 +0000 |
commit | 32bf2829a17a90bdbd472335707639ba35776da6 (patch) | |
tree | d40b974e80f953388fee9320a53fcde833e6e2fb /src/cmd/compile/internal/syntax/syntax.go | |
parent | 8d20b25779d4ce32e8eaeb52374fba1e74f7df57 (diff) | |
download | go-32bf2829a17a90bdbd472335707639ba35776da6.tar.gz go-32bf2829a17a90bdbd472335707639ba35776da6.zip |
[dev.inline] cmd/compile/internal/syntax: process //line pragmas in scanner
Reviewed in and cherry-picked from https://go-review.googlesource.com/#/c/33764/.
Minor adjustment in noder.go to make merge compile again.
Change-Id: Ib5029b52b59944f207b0f2438c8a5aa576eb25b8
Reviewed-on: https://go-review.googlesource.com/34233
Run-TryBot: Robert Griesemer <gri@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src/cmd/compile/internal/syntax/syntax.go')
-rw-r--r-- | src/cmd/compile/internal/syntax/syntax.go | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/cmd/compile/internal/syntax/syntax.go b/src/cmd/compile/internal/syntax/syntax.go index 5075861be8..fcaeb3d99d 100644 --- a/src/cmd/compile/internal/syntax/syntax.go +++ b/src/cmd/compile/internal/syntax/syntax.go @@ -41,7 +41,7 @@ type PragmaHandler func(line uint, text string) Pragma // Parse parses a single Go source file from src and returns the corresponding // syntax tree. If there are syntax errors, Parse will return the first error -// encountered. +// encountered. The filename is only used for position information. // // If errh != nil, it is called with each error encountered, and Parse will // process as much source as possible. If errh is nil, Parse will terminate @@ -50,7 +50,7 @@ type PragmaHandler func(line uint, text string) Pragma // If a PragmaHandler is provided, it is called with each pragma encountered. // // The Mode argument is currently ignored. -func Parse(src io.Reader, errh ErrorHandler, pragh PragmaHandler, mode Mode) (_ *File, err error) { +func Parse(filename string, src io.Reader, errh ErrorHandler, pragh PragmaHandler, mode Mode) (_ *File, err error) { defer func() { if p := recover(); p != nil { var ok bool @@ -62,14 +62,14 @@ func Parse(src io.Reader, errh ErrorHandler, pragh PragmaHandler, mode Mode) (_ }() var p parser - p.init(src, errh, pragh) + p.init(filename, src, errh, pragh) p.next() return p.file(), p.first } // ParseBytes behaves like Parse but it reads the source from the []byte slice provided. -func ParseBytes(src []byte, errh ErrorHandler, pragh PragmaHandler, mode Mode) (*File, error) { - return Parse(&bytesReader{src}, errh, pragh, mode) +func ParseBytes(filename string, src []byte, errh ErrorHandler, pragh PragmaHandler, mode Mode) (*File, error) { + return Parse(filename, &bytesReader{src}, errh, pragh, mode) } type bytesReader struct { @@ -95,5 +95,5 @@ func ParseFile(filename string, errh ErrorHandler, pragh PragmaHandler, mode Mod return nil, err } defer src.Close() - return Parse(src, errh, pragh, mode) + return Parse(filename, src, errh, pragh, mode) } |