blob: e0180cca39a37e3d668ff4b0969916f8c0f48539 [file] [log] [blame]
// +build ignore
package main
import (
"os"
"text/template"
)
func main() {
const stub = "func ({{.Recv}}) {{.Name}}" +
"({{range .Params}}{{.Name}} {{.Type}}, {{end}})" +
"({{range .Res}}{{.Name}} {{.Type}}, {{end}})" +
"{\n}\n\n"
tmpl := template.Must(template.New("test").Parse(stub))
m := Method{
Recv: "f *File",
Func: Func{
Name: "Close",
Res: []Param{{Type: "error"}},
},
}
tmpl.Execute(os.Stdout, m)
}
// Method represents a method signature.
type Method struct {
Recv string
Func
}
// Func represents a function signature.
type Func struct {
Name string
Params []Param
Res []Param
}
// Param represents a parameter in a function or method signature.
type Param struct {
Name string
Type string
}