| 414 | } |
| 415 | |
| 416 | func (e *encoder) api(n *semantic.API) (outID uint64) { |
| 417 | e.build(&e.instances.Api, e.maps.API, n, &outID, func() *API { |
| 418 | n.SortMembers() |
| 419 | p := &API{} |
| 420 | p.Name = e.str(n.Named.Name()) |
| 421 | foreach(n.Enums, e.enum, &p.Enums) |
| 422 | foreach(n.Definitions, e.definition, &p.Definitions) |
| 423 | foreach(n.Classes, e.class, &p.Classes) |
| 424 | foreach(n.Pseudonyms, e.pseudonym, &p.Pseudonyms) |
| 425 | foreach(n.Externs, e.function, &p.Externs) |
| 426 | foreach(n.Subroutines, e.function, &p.Subroutines) |
| 427 | foreach(n.Functions, e.function, &p.Functions) |
| 428 | foreach(n.Methods, e.function, &p.Methods) |
| 429 | foreach(n.Globals, e.global, &p.Globals) |
| 430 | foreach(n.StaticArrays, e.staticArray, &p.StaticArrays) |
| 431 | foreach(n.Maps, e.map_, &p.Maps) |
| 432 | foreach(n.Pointers, e.pointer, &p.Pointers) |
| 433 | foreach(n.Slices, e.slice, &p.Slices) |
| 434 | foreach(n.References, e.reference, &p.References) |
| 435 | foreach(n.Signatures, e.signature, &p.Signatures) |
| 436 | p.Index = uint32(n.Index) |
| 437 | return p |
| 438 | }) |
| 439 | |
| 440 | return |
| 441 | } |
| 442 | |
| 443 | func (e *encoder) arrayAssign(n *semantic.ArrayAssign) (outID uint64) { |
| 444 | e.build(&e.instances.ArrayAssign, e.maps.ArrayAssign, n, &outID, func() *ArrayAssign { |