mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
[dev.regabi] cmd/compile: cleanup for concrete types - mop-up
An automated rewrite will add concrete type assertions after a test of n.Op(), when n can be safely type-asserted (meaning, n is not reassigned a different type, n is not reassigned and then used outside the scope of the type assertion, and so on). This sequence of CLs handles the code that the automated rewrite does not: adding specific types to function arguments, adjusting code not to call n.Left() etc when n may have multiple representations, and so on. This CL handles all the little files that are left. Passes buildall w/ toolstash -cmp. Change-Id: I6588c92dbbdd37342a77b365d70e02134a033d2a Reviewed-on: https://go-review.googlesource.com/c/go/+/277932 Trust: Russ Cox <rsc@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
This commit is contained in:
parent
be64c8bece
commit
9c384e881e
15 changed files with 77 additions and 53 deletions
|
|
@ -48,10 +48,10 @@ func fninit(n []ir.Node) {
|
|||
if n.Op() == ir.ONONAME {
|
||||
continue
|
||||
}
|
||||
if n.Op() != ir.ONAME || n.Class() != ir.PEXTERN {
|
||||
if n.Op() != ir.ONAME || n.(*ir.Name).Class() != ir.PEXTERN {
|
||||
base.Fatalf("bad inittask: %v", n)
|
||||
}
|
||||
deps = append(deps, n.Sym().Linksym())
|
||||
deps = append(deps, n.(*ir.Name).Sym().Linksym())
|
||||
}
|
||||
|
||||
// Make a function that contains all the initialization statements.
|
||||
|
|
@ -86,10 +86,10 @@ func fninit(n []ir.Node) {
|
|||
// Record user init functions.
|
||||
for i := 0; i < renameinitgen; i++ {
|
||||
s := lookupN("init.", i)
|
||||
fn := ir.AsNode(s.Def).Name().Defn
|
||||
fn := ir.AsNode(s.Def).Name().Defn.(*ir.Func)
|
||||
// Skip init functions with empty bodies.
|
||||
if fn.Body().Len() == 1 {
|
||||
if stmt := fn.Body().First(); stmt.Op() == ir.OBLOCK && stmt.List().Len() == 0 {
|
||||
if stmt := fn.Body().First(); stmt.Op() == ir.OBLOCK && stmt.(*ir.BlockStmt).List().Len() == 0 {
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue