func (p *printer) file(src *ast.File) { p.setComment(src.Doc) p.print(src.Pos(), token.PACKAGE, blank) p.expr(src.Name, ignoreMultiLine) if len(src.Decls) > 0 { tok := token.ILLEGAL for _, d := range src.Decls { prev := tok tok = declToken(d) // if the declaration token changed (e.g., from CONST to TYPE) // print an empty line between top-level declarations min := 1 if prev != tok { min = 2 } p.linebreak(p.fset.Position(d.Pos()).Line, min, ignore, false) p.decl(d, ignoreMultiLine) } } p.print(newline) }