module.go 412 B

12345678910111213141516171819202122232425
  1. package module
  2. import (
  3. "cp/node"
  4. "cp/object"
  5. )
  6. type Module struct {
  7. Enter node.Node
  8. Objects map[node.Node][]object.Object
  9. Nodes []node.Node
  10. }
  11. func (m *Module) NodeByObject(obj object.Object) (ret node.Node) {
  12. if obj == nil {
  13. panic("obj must not be nil")
  14. }
  15. for i := 0; (i < len(m.Nodes)) && (ret == nil); i++ {
  16. node := m.Nodes[i]
  17. if node.Object() == obj {
  18. ret = node
  19. }
  20. }
  21. return ret
  22. }