1
0
mirror of https://github.com/golang/go synced 2024-10-02 04:28:33 -06:00

cmd/compile: tweaks to unindent some code

Prioritized the chunks of code with 8 or more levels of indentation.
Basically early breaks/returns and joining nested ifs.

Change-Id: I6817df1303226acf2eb904a29f2db720e4f7427a
Reviewed-on: https://go-review.googlesource.com/55630
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
This commit is contained in:
Daniel Martí 2017-08-10 23:41:17 +09:00
parent 064ae118c1
commit 3366f51544
7 changed files with 96 additions and 99 deletions

View File

@ -463,9 +463,8 @@ func walkclosure(func_ *Node, init *Nodes) *Node {
Warnl(func_.Pos, "closure converted to global") Warnl(func_.Pos, "closure converted to global")
} }
return func_.Func.Closure.Func.Nname return func_.Func.Closure.Func.Nname
} else {
closuredebugruntimecheck(func_)
} }
closuredebugruntimecheck(func_)
// Create closure in the form of a composite literal. // Create closure in the form of a composite literal.
// supposing the closure captures an int i and a string s // supposing the closure captures an int i and a string s

View File

@ -1554,7 +1554,10 @@ func (e *EscState) esccall(call *Node, parent *Node) {
call.Right = arg call.Right = arg
} }
e.escassignWhyWhere(n, arg, "arg to recursive call", call) // TODO this message needs help. e.escassignWhyWhere(n, arg, "arg to recursive call", call) // TODO this message needs help.
if arg != args[0] { if arg == args[0] {
args = args[1:]
continue
}
// "..." arguments are untracked // "..." arguments are untracked
for _, a := range args { for _, a := range args {
if Debug['m'] > 3 { if Debug['m'] > 3 {
@ -1565,9 +1568,6 @@ func (e *EscState) esccall(call *Node, parent *Node) {
// No more PPARAM processing, but keep // No more PPARAM processing, but keep
// going for PPARAMOUT. // going for PPARAMOUT.
args = nil args = nil
continue
}
args = args[1:]
case PPARAMOUT: case PPARAMOUT:
cE.Retval.Append(n) cE.Retval.Append(n)

View File

@ -233,7 +233,9 @@ func (s *phiState) insertVarPhis(n int, var_ *Node, defs []*ssa.Block, typ *type
// a D-edge, or an edge whose target is in currentRoot's subtree. // a D-edge, or an edge whose target is in currentRoot's subtree.
continue continue
} }
if !hasPhi.contains(c.ID) { if hasPhi.contains(c.ID) {
continue
}
// Add a phi to block c for variable n. // Add a phi to block c for variable n.
hasPhi.add(c.ID) hasPhi.add(c.ID)
v := c.NewValue0I(currentRoot.Pos, ssa.OpPhi, typ, int64(n)) // TODO: line number right? v := c.NewValue0I(currentRoot.Pos, ssa.OpPhi, typ, int64(n)) // TODO: line number right?
@ -252,7 +254,6 @@ func (s *phiState) insertVarPhis(n int, var_ *Node, defs []*ssa.Block, typ *type
hasDef.add(c.ID) hasDef.add(c.ID)
} }
} }
}
// Visit children if they have not been visited yet. // Visit children if they have not been visited yet.
for c := s.tree[b.ID].firstChild; c != nil; c = s.tree[c.ID].sibling { for c := s.tree[b.ID].firstChild; c != nil; c = s.tree[c.ID].sibling {

View File

@ -497,14 +497,12 @@ func dgopkgpathOff(s *obj.LSym, ot int, pkg *types.Pkg) int {
func isExportedField(ft *types.Field) (bool, *types.Pkg) { func isExportedField(ft *types.Field) (bool, *types.Pkg) {
if ft.Sym != nil && ft.Embedded == 0 { if ft.Sym != nil && ft.Embedded == 0 {
return exportname(ft.Sym.Name), ft.Sym.Pkg return exportname(ft.Sym.Name), ft.Sym.Pkg
} else { }
if ft.Type.Sym != nil && if ft.Type.Sym != nil &&
(ft.Type.Sym.Pkg == builtinpkg || !exportname(ft.Type.Sym.Name)) { (ft.Type.Sym.Pkg == builtinpkg || !exportname(ft.Type.Sym.Name)) {
return false, ft.Type.Sym.Pkg return false, ft.Type.Sym.Pkg
} else { }
return true, nil return true, nil
}
}
} }
// dnameField dumps a reflect.name for a struct field. // dnameField dumps a reflect.name for a struct field.

View File

@ -480,9 +480,8 @@ func staticassign(l *Node, r *Node, out *[]*Node) bool {
n := *l n := *l
gdata(&n, r.Func.Closure.Func.Nname, Widthptr) gdata(&n, r.Func.Closure.Func.Nname, Widthptr)
return true return true
} else {
closuredebugruntimecheck(r)
} }
closuredebugruntimecheck(r)
case OCONVIFACE: case OCONVIFACE:
// This logic is mirrored in isStaticCompositeLiteral. // This logic is mirrored in isStaticCompositeLiteral.

View File

@ -661,24 +661,26 @@ func (s *state) stmt(n *Node) {
} }
rhs = nil rhs = nil
case OAPPEND: case OAPPEND:
// If we're writing the result of an append back to the same slice, // Check whether we're writing the result of an append back to the same slice.
// handle it specially to avoid write barriers on the fast (non-growth) path. // If so, we handle it specially to avoid write barriers on the fast
// (non-growth) path.
if !samesafeexpr(n.Left, rhs.List.First()) {
break
}
// If the slice can be SSA'd, it'll be on the stack, // If the slice can be SSA'd, it'll be on the stack,
// so there will be no write barriers, // so there will be no write barriers,
// so there's no need to attempt to prevent them. // so there's no need to attempt to prevent them.
if samesafeexpr(n.Left, rhs.List.First()) { if s.canSSA(n.Left) {
if !s.canSSA(n.Left) { if Debug_append > 0 { // replicating old diagnostic message
Warnl(n.Pos, "append: len-only update (in local slice)")
}
break
}
if Debug_append > 0 { if Debug_append > 0 {
Warnl(n.Pos, "append: len-only update") Warnl(n.Pos, "append: len-only update")
} }
s.append(rhs, true) s.append(rhs, true)
return return
} else {
if Debug_append > 0 { // replicating old diagnostic message
Warnl(n.Pos, "append: len-only update (in local slice)")
}
}
}
} }
} }

View File

@ -2636,8 +2636,7 @@ func typecheckaste(op Op, call *Node, isddd bool, tstruct *types.Type, nl Nodes,
n = nil n = nil
if nl.Len() == 1 { if nl.Len() == 1 {
n = nl.First() n = nl.First()
if n.Type != nil { if n.Type != nil && n.Type.IsFuncArgStruct() {
if n.Type.IsFuncArgStruct() {
if !hasddd(tstruct) { if !hasddd(tstruct) {
n1 := tstruct.NumFields() n1 := tstruct.NumFields()
n2 := n.Type.NumFields() n2 := n.Type.NumFields()
@ -2685,7 +2684,6 @@ func typecheckaste(op Op, call *Node, isddd bool, tstruct *types.Type, nl Nodes,
goto out goto out
} }
} }
}
n1 = tstruct.NumFields() n1 = tstruct.NumFields()
n2 = nl.Len() n2 = nl.Len()