• Matthew Dempsky's avatar
    cmd/compile/internal/syntax: match old parser errors and line numbers · 70544c91
    Matthew Dempsky authored
    This makes a bunch of changes to package syntax to tweak line numbers
    for AST nodes. For example, short variable declaration statements are
    now associated with the location of the ":=" token, and function calls
    are associated with the location of the final ")" token. These help
    satisfy many unit tests that assume the old parser's behavior.
    
    Because many of these changes are questionable, they're guarded behind
    a new "gcCompat" const to make them easy to identify and revisit in
    the future.
    
    A handful of remaining tests are too difficult to make behave
    identically. These have been updated to execute with -newparser=0 and
    comments explaining why they need to be fixed.
    
    all.bash now passes with both the old and new parsers.
    
    Change-Id: Iab834b71ca8698d39269f261eb5c92a0d55a3bf4
    Reviewed-on: https://go-review.googlesource.com/27199
    Run-TryBot: Matthew Dempsky <mdempsky@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarRobert Griesemer <gri@golang.org>
    70544c91
scanner.go 11.1 KB