/samples/oop/linkedlist.ooc

http://github.com/nddrylliog/oc · Unknown · 37 lines · 28 code · 9 blank · 0 comment · 0 complexity · b993d916a85cfb47387a88cb9f388ad8 MD5 · raw file

  1. // : vs :=
  2. addConverter("ClassDecl", |comp, _class|
  3. _cover: comp createNode("CoverDecl")
  4. _metaclass: comp createNode("CoverDecl")
  5. _cover fields add("class", _metaclass)
  6. _cover fields each(|field|
  7. field static? ifTrue(
  8. _cover, _metaclass
  9. ) add(field)
  10. )
  11. _cover
  12. )
  13. // ------------------------------------------
  14. ServerSocket: class {
  15. accept: static func (port: Int) -> Socket { /* ... */ }
  16. }
  17. Socket: class {
  18. close: func { /* ... */ }
  19. }
  20. // ------------------------------------------
  21. ServerSocket: cover {
  22. accept: func (port: Int) -> Socket { /* ... */ }
  23. }
  24. Socket: cover {
  25. class: cover {
  26. close: func { /* ... */ }
  27. }
  28. }