• Robert Griesemer's avatar
    go/scanner: the position of '\n's chars must be the last position of the current line · 9520a682
    Robert Griesemer authored
    Background: This didn't matter until recently, because '\n' don't appear as token starts
    in source code and thus the exact position was irrelevant (and set as was easiest in the
    code). With auto semicolon insertion, a virtual semicolon may be inserted when a '\n' is
    seen. The position of the semicolon is the position of the '\n'. Without this fix, these
    semicolons appeared on the next line instead of the line where they were inserted.  This
    affected the association of comments to declarations in the parser. As a result, some
    lead comments where considered line comments, not collected in the ast, and not shown in
    godoc pages. (This affected only godoc pages, not gofmt-formatted programs).
    
    Fixes #592.
    
    R=rsc
    CC=golang-dev
    https://golang.org/cl/224068
    9520a682
scanner_test.go 14.8 KB