func (p *printer) parameters(list []*ast.Field) {
p.print(token.LPAREN);
if len(list) > 0 {
+ p.level++; // adjust nesting level for parameters
for i, par := range list {
if i > 0 {
p.print(token.COMMA, blank);
};
p.expr(par.Type);
}
+ p.level--;
}
p.print(token.RPAREN);
}
}
case *ast.FuncLit:
- p.level++;
p.expr(x.Type);
p.print(blank);
+ p.level++; // adjust nesting level for function body
p.stmt(x.Body);
p.level--;
}
case *ast.FuncDecl:
- p.level++;
p.doc(d.Doc);
p.print(d.Pos(), token.FUNC, blank);
if recv := d.Recv; recv != nil {
p.signature(d.Type.Params, d.Type.Results);
if !p.exportsOnly() && d.Body != nil {
p.print(blank);
+ p.level++; // adjust nesting level for function body
p.stmt(d.Body);
+ p.level--;
}
- p.level--;
default:
panic("unreachable");