diff options
Diffstat (limited to 'src/cmd/compile/internal/noder/expr.go')
| -rw-r--r-- | src/cmd/compile/internal/noder/expr.go | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/cmd/compile/internal/noder/expr.go b/src/cmd/compile/internal/noder/expr.go index 54b07c39f4..f391339c36 100644 --- a/src/cmd/compile/internal/noder/expr.go +++ b/src/cmd/compile/internal/noder/expr.go @@ -27,10 +27,7 @@ func (g *irgen) expr(expr syntax.Expr) ir.Node { return ir.BlankNode } - tv, ok := g.info.Types[expr] - if !ok { - base.FatalfAt(g.pos(expr), "missing type for %v (%T)", expr, expr) - } + tv := g.typeAndValue(expr) switch { case tv.IsBuiltin(): // Qualified builtins, such as unsafe.Add and unsafe.Slice. @@ -105,8 +102,7 @@ func (g *irgen) expr0(typ types2.Type, expr syntax.Expr) ir.Node { case *syntax.IndexExpr: args := unpackListExpr(expr.Index) if len(args) == 1 { - tv, ok := g.info.Types[args[0]] - assert(ok) + tv := g.typeAndValue(args[0]) if tv.IsValue() { // This is just a normal index expression n := Index(pos, g.typ(typ), g.expr(expr.X), g.expr(args[0])) |
