code: func (g *Generator) printHeader() {
  	if g.buildTags != "" {
  		fmt.Println("// +build ", g.buildTags)
  		fmt.Println()
  	}
  	fmt.Println("// Code generated by easyjson for marshaling/unmarshaling. DO NOT EDIT.")
  	fmt.Println()
  	fmt.Println("package ", g.pkgName)
  	fmt.Println()
  
  	byAlias := map[string]string{}
  	var aliases []string
  	for path, alias := range g.imports {
  		aliases = append(aliases, alias)
  		byAlias[alias] = path
  	}
  
  	sort.Strings(aliases)
  	fmt.Println("import (")
  	for _, alias := range aliases {
  		fmt.Printf("  %s %q\n", alias, byAlias[alias])
  	}
  
  	fmt.Println(")")
  	fmt.Println("")
  	fmt.Println("// suppress unused package warning")
  	fmt.Println("var (")
  	fmt.Println("   _ *json.RawMessage")
  	fmt.Println("   _ *jlexer.Lexer")
  	fmt.Println("   _ *jwriter.Writer")
  	fmt.Println("   _ easyjson.Marshaler")
  	fmt.Println(")")
  
  	fmt.Println()
  }
docs: // printHeader prints package declaration and imports.