github.com/elek/golangci-lint@v1.42.2-0.20211208090441-c05b7fcb3a9a/scripts/print_ast/main.go (about)

     1  package main
     2  
     3  import (
     4  	"flag"
     5  	"go/ast"
     6  	"go/parser"
     7  	"go/token"
     8  	"log"
     9  )
    10  
    11  func main() {
    12  	var filename string
    13  	flag.StringVar(&filename, "f", "", "input file")
    14  	flag.Parse()
    15  
    16  	fset := token.NewFileSet()
    17  	f, err := parser.ParseFile(fset, filename, nil, parser.ParseComments)
    18  	if err != nil {
    19  		log.Fatalf("Failed to parse file %s: %s", filename, err)
    20  	}
    21  	ast.Print(fset, f)
    22  }