github.com/rzurga/go-swagger@v0.28.1-0.20211109195225-5d1f453ffa3a/hack/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  var fileName string
    12  
    13  func init() {
    14  	flag.StringVar(&fileName, "f", "", "input file")
    15  }
    16  func main() {
    17  	flag.Parse()
    18  
    19  	fset := token.NewFileSet()
    20  	f, err := parser.ParseFile(fset, fileName, nil, parser.ParseComments)
    21  	if err != nil {
    22  		log.Fatalf("Failed to parse file %s: %s", fileName, err)
    23  	}
    24  	if err = ast.Print(fset, f); err != nil {
    25  		log.Fatal(err)
    26  	}
    27  }