holy toldeo... things might actually be working
This commit is contained in:
@@ -5,6 +5,7 @@ import (
|
||||
"encoding/xml"
|
||||
"fmt"
|
||||
"log"
|
||||
"time"
|
||||
)
|
||||
|
||||
type Context struct {
|
||||
@@ -47,6 +48,26 @@ func (c *Context) Morph(xmlBytes []byte) {
|
||||
// Translate XML types to nice types
|
||||
c.protocol = parsedXml.Translate()
|
||||
|
||||
// Start with Go header.
|
||||
c.Putln("package xgb")
|
||||
c.Putln("")
|
||||
c.Putln("/*")
|
||||
c.Putln("\tThis file was generated by %s.xml on %s.",
|
||||
c.protocol.Name, time.Now().Format("Jan 2 2006 3:04:05pm MST"))
|
||||
c.Putln("\tThis file is automatically generated. Edit at your peril!")
|
||||
c.Putln("*/")
|
||||
c.Putln("")
|
||||
|
||||
// Write imports in comments
|
||||
if len(c.protocol.Imports) > 0 {
|
||||
c.Putln("// Imports are not necessary for XGB because everything is ")
|
||||
c.Putln("// in one package. They are still listed here for reference.")
|
||||
for _, imp := range c.protocol.Imports {
|
||||
c.Putln("// import \"%s\"", imp.Name)
|
||||
}
|
||||
c.Putln("")
|
||||
}
|
||||
|
||||
// Now write Go source code
|
||||
for _, typ := range c.protocol.Types {
|
||||
typ.Define(c)
|
||||
|
||||
Reference in New Issue
Block a user