diff options
Diffstat (limited to 'generateHeader.go')
| -rw-r--r-- | generateHeader.go | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/generateHeader.go b/generateHeader.go index 99040d2..1660689 100644 --- a/generateHeader.go +++ b/generateHeader.go @@ -3,6 +3,9 @@ package main import ( "fmt" "io" + "os" + + "go.wit.com/log" ) func pbHeaderComment(w io.Writer) { @@ -43,3 +46,34 @@ func header(w io.Writer, pf *File) { fmt.Fprintln(w, ")") fmt.Fprintln(w, "") } + +func (pf *File) addNewFunc(w io.Writer) { + var STRUCT string = pf.Bases.Name + var UUID string = pf.Uuid + var VERSION string = pf.Version + if UUID == "" { + log.Info("error: UUID == ''") + os.Exit(-1) + } + if VERSION == "" { + log.Info("error: Version == ''") + os.Exit(-1) + } + fmt.Fprintln(w, "func (x *"+STRUCT+") fixUuid() {") + fmt.Fprintln(w, " if x == nil {") + fmt.Fprintln(w, " return") + fmt.Fprintln(w, " }") + fmt.Fprintln(w, " if x.Uuid == \""+UUID+"\" {") + fmt.Fprintln(w, " return") + fmt.Fprintln(w, " }") + fmt.Fprintln(w, " x.Uuid = \""+UUID+"\"") + fmt.Fprintln(w, " x.Version = \""+VERSION+" "+pf.GoPath+"\"") + fmt.Fprintln(w, "}") + fmt.Fprintln(w, "") + fmt.Fprintln(w, "func New"+STRUCT+"() *"+STRUCT+"{") + fmt.Fprintln(w, " x := new("+STRUCT+")") + fmt.Fprintln(w, " x.Uuid = \""+UUID+"\"") + fmt.Fprintln(w, " x.Version = \""+VERSION+" "+pf.GoPath+"\"") + fmt.Fprintln(w, " return x") + fmt.Fprintln(w, "}") +} |
