TortureFnref.scala 550 B

123456789101112131415161718192021222324252627
  1. object Handlers {
  2. def handler(): Unit = ()
  3. def other(): Unit = ()
  4. def wire(): Unit = {
  5. register(handler)
  6. registerEta(other _)
  7. val stored = handler
  8. obj.cb = other
  9. this.cb = cb
  10. register(missing)
  11. }
  12. val topStored = handler
  13. var cb: () => Unit = other
  14. }
  15. object H2 {
  16. def alpha(): Unit = ()
  17. def beta(): Unit = ()
  18. def gamma(): Unit = ()
  19. def delta(): Unit = ()
  20. def wire(): Unit = {
  21. val stored = alpha
  22. obj.cb = beta
  23. val eta = gamma _
  24. sink.handler = sink.handler
  25. }
  26. val listStored = List(delta)
  27. }