51 lines
890 B
Go
51 lines
890 B
Go
|
|
// Morph cascades down all of the XML and calls each type's corresponding
|
|
// Morph function with itself as an argument (the context).
|
|
func (x *XML) Morph(c *Context) {
|
|
// Start the header...
|
|
c.Putln("package xgb")
|
|
c.Putln("/*")
|
|
c.Putln("\tX protocol API for '%s.xml'.", c.xml.Header)
|
|
c.Putln("\tThis file is automatically generated. Edit at your own peril!")
|
|
c.Putln("\tGenerated on %s",
|
|
time.Now().Format("Jan 2, 2006 at 3:04:05pm MST"))
|
|
c.Putln("*/")
|
|
c.Putln("")
|
|
|
|
x.Imports.Morph(c)
|
|
c.Putln("")
|
|
|
|
x.Enums.Morph(c)
|
|
c.Putln("")
|
|
|
|
x.Xids.Morph(c)
|
|
c.Putln("")
|
|
|
|
x.XidUnions.Morph(c)
|
|
c.Putln("")
|
|
|
|
x.TypeDefs.Morph(c)
|
|
c.Putln("")
|
|
|
|
x.Structs.Morph(c)
|
|
c.Putln("")
|
|
|
|
x.Unions.Morph(c)
|
|
c.Putln("")
|
|
|
|
x.Requests.Morph(c)
|
|
c.Putln("")
|
|
|
|
x.Errors.Morph(c)
|
|
c.Putln("")
|
|
|
|
x.ErrorCopies.Morph(c)
|
|
c.Putln("")
|
|
|
|
x.Events.Morph(c)
|
|
c.Putln("")
|
|
|
|
x.EventCopies.Morph(c)
|
|
c.Putln("")
|
|
}
|