aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/noder/decl.go
diff options
context:
space:
mode:
authorDan Scales <danscales@google.com>2021-03-25 12:23:44 -0700
committerDan Scales <danscales@google.com>2021-03-29 17:46:51 +0000
commit1a7d921aa545bb888e06ec7af364c86e919e399f (patch)
tree3eecc51e429f5f9e80f40f8fb2bf38e0652a6356 /src/cmd/compile/internal/noder/decl.go
parent2abf280a282a24486a819b0a916dd77c50b48d22 (diff)
downloadgo-1a7d921aa545bb888e06ec7af364c86e919e399f.tar.gz
go-1a7d921aa545bb888e06ec7af364c86e919e399f.zip
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 <danscales@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org> Trust: Dan Scales <danscales@google.com>
Diffstat (limited to 'src/cmd/compile/internal/noder/decl.go')
-rw-r--r--src/cmd/compile/internal/noder/decl.go17
1 files changed, 15 insertions, 2 deletions
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)
}
}