| 562 | } |
| 563 | |
| 564 | func (d *decoder) enum(enumID uint64) (out *semantic.Enum) { |
| 565 | d.build(d.content.Instances.Enum, &d.inst.Enum, enumID, &out, |
| 566 | func(p *Enum, s *semantic.Enum) { |
| 567 | s.AST = d.astEnum(p.Ast) |
| 568 | s.Annotations = d.annotations(p.Annotations) |
| 569 | s.Named = semantic.Named(d.str(p.Name)) |
| 570 | s.Docs = d.docs(p.Docs) |
| 571 | s.IsBitfield = p.IsBitfield |
| 572 | s.NumberType = d.ty(p.NumberType) |
| 573 | foreach(p.Entries, d.enumEntry, &s.Entries) |
| 574 | if owner := d.node(p.Owner); owner != nil { |
| 575 | semantic.Add(owner.(semantic.Owner), s) |
| 576 | } |
| 577 | d.toSort = append(d.toSort, s) |
| 578 | }) |
| 579 | return |
| 580 | } |
| 581 | |
| 582 | func (d *decoder) enumEntry(enumEntryID uint64) (out *semantic.EnumEntry) { |
| 583 | d.build(d.content.Instances.EnumEntry, &d.inst.EnumEntry, enumEntryID, &out, |