aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/syntax/syntax.go
diff options
context:
space:
mode:
authorRobert Griesemer <gri@golang.org>2016-11-30 23:28:40 -0800
committerRobert Griesemer <gri@golang.org>2016-12-09 00:43:04 +0000
commit32bf2829a17a90bdbd472335707639ba35776da6 (patch)
treed40b974e80f953388fee9320a53fcde833e6e2fb /src/cmd/compile/internal/syntax/syntax.go
parent8d20b25779d4ce32e8eaeb52374fba1e74f7df57 (diff)
downloadgo-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.go12
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)
}