diff options
Diffstat (limited to 'nexgb/xgbgen/context.go')
| -rw-r--r-- | nexgb/xgbgen/context.go | 21 | 
1 files changed, 21 insertions, 0 deletions
diff --git a/nexgb/xgbgen/context.go b/nexgb/xgbgen/context.go index 33641b3..3e484f3 100644 --- a/nexgb/xgbgen/context.go +++ b/nexgb/xgbgen/context.go @@ -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)  | 
