| 1570 | } |
| 1571 | |
| 1572 | func (e *encoder) astAPI(n *ast.API) (outID uint64) { |
| 1573 | e.build(&e.instances.AstApi, e.maps.ASTAPI, n, &outID, func() *ASTAPI { |
| 1574 | p := &ASTAPI{} |
| 1575 | foreach(n.Imports, e.astImport, &p.Imports) |
| 1576 | foreach(n.Externs, e.astFunction, &p.Externs) |
| 1577 | foreach(n.Commands, e.astFunction, &p.Commands) |
| 1578 | foreach(n.Subroutines, e.astFunction, &p.Subroutines) |
| 1579 | foreach(n.Pseudonyms, e.astPseudonym, &p.Pseudonyms) |
| 1580 | foreach(n.Enums, e.astEnum, &p.Enums) |
| 1581 | foreach(n.Classes, e.astClass, &p.Classes) |
| 1582 | foreach(n.Fields, e.astField, &p.Fields) |
| 1583 | foreach(n.Definitions, e.astDefinition, &p.Definitions) |
| 1584 | if n.Index != nil { |
| 1585 | p.Index = e.astNumber(n.Index) |
| 1586 | } |
| 1587 | return p |
| 1588 | }) |
| 1589 | return |
| 1590 | } |
| 1591 | |
| 1592 | func (e *encoder) astAssign(n *ast.Assign) (outID uint64) { |
| 1593 | e.build(&e.instances.AstAssign, e.maps.ASTAssign, n, &outID, func() *ASTAssign { |