From 1a7d921aa545bb888e06ec7af364c86e919e399f Mon Sep 17 00:00:00 2001 From: Dan Scales Date: Thu, 25 Mar 2021 12:23:44 -0700 Subject: cmd/compile: remove typechecker calls in varDecl() We can now use transformAssign. The only remaining typechecker calls in the noder2 pass are for CompLitExpr nodes (OCOMPLIT). Change-Id: I25671c79cc30749767bb16f84e9f151b943eccd1 Reviewed-on: https://go-review.googlesource.com/c/go/+/305509 Run-TryBot: Dan Scales TryBot-Result: Go Bot Reviewed-by: Robert Griesemer Trust: Dan Scales --- src/cmd/compile/internal/noder/decl.go | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'src/cmd/compile/internal/noder/decl.go') diff --git a/src/cmd/compile/internal/noder/decl.go b/src/cmd/compile/internal/noder/decl.go index f0cdcbfc2e..4ca2eb4740 100644 --- a/src/cmd/compile/internal/noder/decl.go +++ b/src/cmd/compile/internal/noder/decl.go @@ -211,11 +211,24 @@ func (g *irgen) varDecl(out *ir.Nodes, decl *syntax.VarDecl) { } else if ir.CurFunc == nil { name.Defn = as } - out.Append(typecheck.Stmt(as)) + lhs := []ir.Node{as.X} + rhs := []ir.Node{} + if as.Y != nil { + rhs = []ir.Node{as.Y} + } + transformAssign(as, lhs, rhs) + as.X = lhs[0] + if as.Y != nil { + as.Y = rhs[0] + } + as.SetTypecheck(1) + out.Append(as) } } if as2 != nil { - out.Append(typecheck.Stmt(as2)) + transformAssign(as2, as2.Lhs, as2.Rhs) + as2.SetTypecheck(1) + out.Append(as2) } } -- cgit v1.2.3-54-g00ecf