func PackIndexExpr(x ast.Expr, lbrack token.Pos, exprs []ast.Expr, rbrack token.Pos) ast.Expr
IndexExpr wraps an ast.IndexExpr or ast.IndexListExpr.
Orig holds the original ast.Expr from which this IndexExpr was derived.
Note: IndexExpr (intentionally) does not wrap ast.Expr, as that leads to accidental misuse such as encountered in golang/go#63933.
TODO(rfindley): remove this helper, in favor of just having a helper function that returns indices.
type IndexExpr struct { Orig ast.Expr // the wrapped expr, which may be distinct from the IndexListExpr below. X ast.Expr // expression Lbrack token.Pos // position of "[" Indices []ast.Expr // index expressions Rbrack token.Pos // position of "]" }
func UnpackIndexExpr(n ast.Node) *IndexExpr
func (x *IndexExpr) Pos() token.Pos