stdScope.go 705 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package scope
  2. import (
  3. "cp/node"
  4. "fmt"
  5. "rt2/context"
  6. rt_mod "rt2/module"
  7. "ypk/assert"
  8. )
  9. func This(i interface{}) Manager {
  10. assert.For(i != nil, 20)
  11. return i.(Manager)
  12. }
  13. func New() Manager {
  14. return new(manager).init()
  15. }
  16. type manager struct {
  17. d context.Domain
  18. }
  19. func (m *manager) init() *manager {
  20. return m
  21. }
  22. func (m *manager) Allocate(n node.Node) {
  23. mod := rt_mod.DomainModule(m.Domain())
  24. fmt.Println("allocate", len(mod.Objects[n]), "obj")
  25. }
  26. func (m *manager) Dispose(n node.Node) {
  27. fmt.Println("dispose")
  28. }
  29. func (m *manager) Calculate(n node.Node) Area {
  30. return nil
  31. }
  32. func (m *manager) Init(d context.Domain) {
  33. m.d = d
  34. }
  35. func (m *manager) Domain() context.Domain {
  36. return m.d
  37. }