1
0
mirror of https://github.com/golang/go synced 2024-11-25 10:07:56 -07:00

go/ast: document invalid raw string literal end position containing carriage returns

Fixes #69861

Change-Id: Id1684ee7d0c04262119d9e61f914bb9ecc0ef438
GitHub-Last-Rev: 5ad182c51a
GitHub-Pull-Request: golang/go#69862
Reviewed-on: https://go-review.googlesource.com/c/go/+/619835
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Alan Donovan <adonovan@google.com>
This commit is contained in:
Mateusz Poliwczak 2024-10-12 17:34:52 +00:00 committed by Gopher Robot
parent 488e2d18d9
commit f2d118fd5f

View File

@ -305,6 +305,12 @@ type (
// first and the last rune in the Value field will be ". The // first and the last rune in the Value field will be ". The
// [strconv.Unquote] and [strconv.UnquoteChar] functions can be // [strconv.Unquote] and [strconv.UnquoteChar] functions can be
// used to unquote STRING and CHAR values, respectively. // used to unquote STRING and CHAR values, respectively.
//
// For raw string literals (Kind == token.STRING && Value[0] == '`'),
// the Value field contains the string text without carriage returns (\r) that
// may have been present in the source. Because the end position is
// computed using len(Value), the position reported by [BasicLit.End] does not match the
// true source end position for raw string literals containing carriage returns.
BasicLit struct { BasicLit struct {
ValuePos token.Pos // literal position ValuePos token.Pos // literal position
Kind token.Token // token.INT, token.FLOAT, token.IMAG, token.CHAR, or token.STRING Kind token.Token // token.INT, token.FLOAT, token.IMAG, token.CHAR, or token.STRING