Skip to content

Commit 0406d3a

Browse files
committed
go/ast: rename MultiIndexExpr to IndexListExpr
As discussed in #47781, IndexListExpr is one character shorter and has the advantage of being next to IndexExpr in documentation. Updates #47781 Change-Id: I709d5c1a79b4f9aebcd6445e4ab0cd6dae45bab7 Reviewed-on: https://go-review.googlesource.com/c/go/+/348609 Trust: Robert Findley <[email protected]> Run-TryBot: Robert Findley <[email protected]> Reviewed-by: Robert Griesemer <[email protected]> TryBot-Result: Go Bot <[email protected]>
1 parent 65f0d24 commit 0406d3a

File tree

12 files changed

+22
-23
lines changed

12 files changed

+22
-23
lines changed

src/go/ast/ast.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -344,9 +344,9 @@ type (
344344
Rbrack token.Pos // position of "]"
345345
}
346346

347-
// A MultiIndexExpr node represents an expression followed by multiple
347+
// An IndexListExpr node represents an expression followed by multiple
348348
// indices.
349-
MultiIndexExpr struct {
349+
IndexListExpr struct {
350350
X Expr // expression
351351
Lbrack token.Pos // position of "["
352352
Indices []Expr // index expressions
@@ -496,7 +496,7 @@ func (x *CompositeLit) Pos() token.Pos {
496496
func (x *ParenExpr) Pos() token.Pos { return x.Lparen }
497497
func (x *SelectorExpr) Pos() token.Pos { return x.X.Pos() }
498498
func (x *IndexExpr) Pos() token.Pos { return x.X.Pos() }
499-
func (x *MultiIndexExpr) Pos() token.Pos { return x.X.Pos() }
499+
func (x *IndexListExpr) Pos() token.Pos { return x.X.Pos() }
500500
func (x *SliceExpr) Pos() token.Pos { return x.X.Pos() }
501501
func (x *TypeAssertExpr) Pos() token.Pos { return x.X.Pos() }
502502
func (x *CallExpr) Pos() token.Pos { return x.Fun.Pos() }
@@ -530,7 +530,7 @@ func (x *CompositeLit) End() token.Pos { return x.Rbrace + 1 }
530530
func (x *ParenExpr) End() token.Pos { return x.Rparen + 1 }
531531
func (x *SelectorExpr) End() token.Pos { return x.Sel.End() }
532532
func (x *IndexExpr) End() token.Pos { return x.Rbrack + 1 }
533-
func (x *MultiIndexExpr) End() token.Pos { return x.Rbrack + 1 }
533+
func (x *IndexListExpr) End() token.Pos { return x.Rbrack + 1 }
534534
func (x *SliceExpr) End() token.Pos { return x.Rbrack + 1 }
535535
func (x *TypeAssertExpr) End() token.Pos { return x.Rparen + 1 }
536536
func (x *CallExpr) End() token.Pos { return x.Rparen + 1 }
@@ -562,7 +562,7 @@ func (*CompositeLit) exprNode() {}
562562
func (*ParenExpr) exprNode() {}
563563
func (*SelectorExpr) exprNode() {}
564564
func (*IndexExpr) exprNode() {}
565-
func (*MultiIndexExpr) exprNode() {}
565+
func (*IndexListExpr) exprNode() {}
566566
func (*SliceExpr) exprNode() {}
567567
func (*TypeAssertExpr) exprNode() {}
568568
func (*CallExpr) exprNode() {}

src/go/ast/walk.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ func Walk(v Visitor, node Node) {
116116
Walk(v, n.X)
117117
Walk(v, n.Index)
118118

119-
case *MultiIndexExpr:
119+
case *IndexListExpr:
120120
Walk(v, n.X)
121121
for _, index := range n.Indices {
122122
Walk(v, index)

src/go/internal/typeparams/typeparams.go

+6-7
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ func PackIndexExpr(x ast.Expr, lbrack token.Pos, exprs []ast.Expr, rbrack token.
2121
Rbrack: rbrack,
2222
}
2323
default:
24-
return &ast.MultiIndexExpr{
24+
return &ast.IndexListExpr{
2525
X: x,
2626
Lbrack: lbrack,
2727
Indices: exprs,
@@ -30,25 +30,24 @@ func PackIndexExpr(x ast.Expr, lbrack token.Pos, exprs []ast.Expr, rbrack token.
3030
}
3131
}
3232

33-
// IndexExpr wraps an ast.IndexExpr or ast.MultiIndexExpr into the
34-
// MultiIndexExpr interface.
33+
// IndexExpr wraps an ast.IndexExpr or ast.IndexListExpr.
3534
//
3635
// Orig holds the original ast.Expr from which this IndexExpr was derived.
3736
type IndexExpr struct {
38-
Orig ast.Expr // the wrapped expr, which may be distinct from MultiIndexExpr below.
39-
*ast.MultiIndexExpr
37+
Orig ast.Expr // the wrapped expr, which may be distinct from the IndexListExpr below.
38+
*ast.IndexListExpr
4039
}
4140

4241
func UnpackIndexExpr(n ast.Node) *IndexExpr {
4342
switch e := n.(type) {
4443
case *ast.IndexExpr:
45-
return &IndexExpr{e, &ast.MultiIndexExpr{
44+
return &IndexExpr{e, &ast.IndexListExpr{
4645
X: e.X,
4746
Lbrack: e.Lbrack,
4847
Indices: []ast.Expr{e.Index},
4948
Rbrack: e.Rbrack,
5049
}}
51-
case *ast.MultiIndexExpr:
50+
case *ast.IndexListExpr:
5251
return &IndexExpr{e, e}
5352
}
5453
return nil

src/go/parser/parser.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1570,7 +1570,7 @@ func (p *parser) checkExpr(x ast.Expr) ast.Expr {
15701570
panic("unreachable")
15711571
case *ast.SelectorExpr:
15721572
case *ast.IndexExpr:
1573-
case *ast.MultiIndexExpr:
1573+
case *ast.IndexListExpr:
15741574
case *ast.SliceExpr:
15751575
case *ast.TypeAssertExpr:
15761576
// If t.Type == nil we have a type assertion of the form
@@ -1660,7 +1660,7 @@ func (p *parser) parsePrimaryExpr() (x ast.Expr) {
16601660
return
16611661
}
16621662
// x is possibly a composite literal type
1663-
case *ast.IndexExpr, *ast.MultiIndexExpr:
1663+
case *ast.IndexExpr, *ast.IndexListExpr:
16641664
if p.exprLev < 0 {
16651665
return
16661666
}

src/go/printer/nodes.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -873,7 +873,7 @@ func (p *printer) expr1(expr ast.Expr, prec1, depth int) {
873873
p.expr0(x.Index, depth+1)
874874
p.print(x.Rbrack, token.RBRACK)
875875

876-
case *ast.MultiIndexExpr:
876+
case *ast.IndexListExpr:
877877
// TODO(gri): as for IndexExpr, should treat [] like parentheses and undo
878878
// one level of depth
879879
p.expr1(x.X, token.HighestPrec, 1)

src/go/types/call.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ func (check *Checker) arguments(call *ast.CallExpr, sig *Signature, targs []Type
337337
if sig.TypeParams().Len() > 0 {
338338
if !check.allowVersion(check.pkg, 1, 18) {
339339
switch call.Fun.(type) {
340-
case *ast.IndexExpr, *ast.MultiIndexExpr:
340+
case *ast.IndexExpr, *ast.IndexListExpr:
341341
ix := typeparams.UnpackIndexExpr(call.Fun)
342342
check.softErrorf(inNode(call.Fun, ix.Lbrack), _Todo, "function instantiation requires go1.18 or later")
343343
default:

src/go/types/expr.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1392,7 +1392,7 @@ func (check *Checker) exprInternal(x *operand, e ast.Expr, hint Type) exprKind {
13921392
case *ast.SelectorExpr:
13931393
check.selector(x, e)
13941394

1395-
case *ast.IndexExpr, *ast.MultiIndexExpr:
1395+
case *ast.IndexExpr, *ast.IndexListExpr:
13961396
ix := typeparams.UnpackIndexExpr(e)
13971397
if check.indexExpr(x, ix) {
13981398
check.funcInst(x, ix)

src/go/types/exprstring.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ func WriteExpr(buf *bytes.Buffer, x ast.Expr) {
6767
buf.WriteByte('.')
6868
buf.WriteString(x.Sel.Name)
6969

70-
case *ast.IndexExpr, *ast.MultiIndexExpr:
70+
case *ast.IndexExpr, *ast.IndexListExpr:
7171
ix := typeparams.UnpackIndexExpr(x)
7272
WriteExpr(buf, ix.X)
7373
buf.WriteByte('[')

src/go/types/resolver.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -513,7 +513,7 @@ L: // unpack receiver type
513513

514514
// unpack type parameters, if any
515515
switch rtyp.(type) {
516-
case *ast.IndexExpr, *ast.MultiIndexExpr:
516+
case *ast.IndexExpr, *ast.IndexListExpr:
517517
ix := typeparams.UnpackIndexExpr(rtyp)
518518
rtyp = ix.X
519519
if unpackParams {

src/go/types/signature.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ func isubst(x ast.Expr, smap map[*ast.Ident]*ast.Ident) ast.Expr {
326326
new.X = X
327327
return &new
328328
}
329-
case *ast.IndexExpr, *ast.MultiIndexExpr:
329+
case *ast.IndexExpr, *ast.IndexListExpr:
330330
ix := typeparams.UnpackIndexExpr(x)
331331
var newIndexes []ast.Expr
332332
for i, index := range ix.Indices {

src/go/types/struct.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ func embeddedFieldIdent(e ast.Expr) *ast.Ident {
176176
return e.Sel
177177
case *ast.IndexExpr:
178178
return embeddedFieldIdent(e.X)
179-
case *ast.MultiIndexExpr:
179+
case *ast.IndexListExpr:
180180
return embeddedFieldIdent(e.X)
181181
}
182182
return nil // invalid embedded field

src/go/types/typexpr.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ func (check *Checker) typInternal(e0 ast.Expr, def *Named) (T Type) {
258258
check.errorf(&x, _NotAType, "%s is not a type", &x)
259259
}
260260

261-
case *ast.IndexExpr, *ast.MultiIndexExpr:
261+
case *ast.IndexExpr, *ast.IndexListExpr:
262262
ix := typeparams.UnpackIndexExpr(e)
263263
if !check.allowVersion(check.pkg, 1, 18) {
264264
check.softErrorf(inNode(e, ix.Lbrack), _Todo, "type instantiation requires go1.18 or later")

0 commit comments

Comments
 (0)