summaryrefslogtreecommitdiff
path: root/generateHeader.go
diff options
context:
space:
mode:
Diffstat (limited to 'generateHeader.go')
-rw-r--r--generateHeader.go34
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, "}")
+}