• Robert Griesemer's avatar
    cmd/compile/internal/syntax: add BasicLit.Bad field for lexical errors · 117400ec
    Robert Griesemer authored
    The new (internal) field scanner.bad indicates whether a syntax error
    occurred while scanning a literal; the corresponding scanner.lit
    string may be syntactically incorrect in that case. Store the value
    of scanner.bad together with the scanner.lit in BasicLit.
    
    Clean up error handling so that all syntactic errors use one of the
    scanner's error reporting methods which also set scanner.bad. Make
    use of the new field in a few places where we used to track a prior
    error separately.
    
    Preliminary step towards fixing #32133 in a comprehensive manner.
    
    Change-Id: I4d79ad6e3b50632dd5fb3fc32ca3df0598ee77b4
    Reviewed-on: https://go-review.googlesource.com/c/go/+/192278Reviewed-by: default avatarMatthew Dempsky <mdempsky@google.com>
    117400ec
scanner.go 16.7 KB