| 479 | } |
| 480 | |
| 481 | func (d *decoder) class(classID uint64) (out *semantic.Class) { |
| 482 | d.build(d.content.Instances.Class, &d.inst.Class, classID, &out, |
| 483 | func(p *Class, s *semantic.Class) { |
| 484 | s.AST = d.astClass(p.Ast) |
| 485 | s.Annotations = d.annotations(p.Annotations) |
| 486 | s.Named = semantic.Named(d.str(p.Name)) |
| 487 | s.Docs = d.docs(p.Docs) |
| 488 | foreach(p.Fields, d.field, &s.Fields) |
| 489 | if owner := d.node(p.Owner); owner != nil { |
| 490 | semantic.Add(owner.(semantic.Owner), s) |
| 491 | } |
| 492 | d.toSort = append(d.toSort, s) |
| 493 | }) |
| 494 | return |
| 495 | } |
| 496 | |
| 497 | func (d *decoder) classInit(classInitID uint64) (out *semantic.ClassInitializer) { |
| 498 | d.build(d.content.Instances.ClassInit, &d.inst.ClassInit, classInitID, &out, |