workgroups/vendor/github.com/quasilyte/go-ruleguard/ruleguard/goutil/goutil.go
Marvin Preuss 1d4ae27878
All checks were successful
continuous-integration/drone/push Build is passing
ci: drone yaml with reusable anchors
2021-09-24 17:34:17 +02:00

22 lines
413 B
Go

package goutil
import (
"go/ast"
"go/printer"
"go/token"
"strings"
)
// SprintNode returns the textual representation of n.
// If fset is nil, freshly created file set will be used.
func SprintNode(fset *token.FileSet, n ast.Node) string {
if fset == nil {
fset = token.NewFileSet()
}
var buf strings.Builder
if err := printer.Fprint(&buf, fset, n); err != nil {
return ""
}
return buf.String()
}