aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/noder/transform.go
diff options
context:
space:
mode:
authorkorzhao <korzhao95@gmail.com>2021-09-25 01:13:27 +0800
committerDan Scales <danscales@google.com>2021-09-25 17:06:17 +0000
commitba7673069d9be4972a864023d74e9e0dd6a77b80 (patch)
treefb4ee910c0145e6d776350eb49e9a5af10885d6b /src/cmd/compile/internal/noder/transform.go
parent8854368cb076ea9a2b71c8b3c8f675a8e19b751c (diff)
downloadgo-ba7673069d9be4972a864023d74e9e0dd6a77b80.tar.xz
cmd/compile: add required CONVIFACE nodes when translating OFUNCINST node
In CL 349614. we removed the early transformation code that was needed to create the implicit CONVIFACE nodes. Because the transformCall function is not called when translating OFUNCINST. So we add in needed CONVIFACE nodes via typecheckaste(). Fixes #48598 Change-Id: If9dc7040cdc38ef2e52fdbb08c840095651426f2 Reviewed-on: https://go-review.googlesource.com/c/go/+/351856 Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com> Reviewed-by: Dan Scales <danscales@google.com> Trust: Cuong Manh Le <cuong.manhle.vn@gmail.com> Trust: Dan Scales <danscales@google.com> Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Go Bot <gobot@golang.org>
Diffstat (limited to 'src/cmd/compile/internal/noder/transform.go')
-rw-r--r--src/cmd/compile/internal/noder/transform.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/cmd/compile/internal/noder/transform.go b/src/cmd/compile/internal/noder/transform.go
index 953036eb42..f7115904fe 100644
--- a/src/cmd/compile/internal/noder/transform.go
+++ b/src/cmd/compile/internal/noder/transform.go
@@ -177,6 +177,12 @@ func transformCall(n *ir.CallExpr) {
}
}
+// transformEarlyCall transforms the arguments of a call with an OFUNCINST node.
+func transformEarlyCall(n *ir.CallExpr) {
+ transformArgs(n)
+ typecheckaste(ir.OCALL, n.X, n.IsDDD, n.X.Type().Params(), n.Args)
+}
+
// transformCompare transforms a compare operation (currently just equals/not
// equals). Corresponds to the "comparison operators" case in
// typecheck.typecheck1, including tcArith.