Posted to tcl by dgp at Wed Jul 06 15:36:37 GMT 2011view raw

  1. package require Itcl 3.4
  2. eval {
  3. itcl::class test_chain_a {
  4. constructor {args} {
  5. eval chain $args
  6. } {
  7. global ::test_chain_status
  8. lappend test_chain_status "a::constructor $args"
  9. }
  10. }
  11. itcl::class test_chain_b {
  12. constructor {args} {
  13. eval chain $args
  14. } {
  15. global ::test_chain_status
  16. lappend test_chain_status "b::constructor $args"
  17. }
  18. }
  19. itcl::class test_chain_c {
  20. inherit test_chain_a test_chain_b
  21. constructor {args} {
  22. eval chain $args
  23. } {
  24. global ::test_chain_status
  25. lappend test_chain_status "c::constructor $args"
  26. }
  27. }
  28. itcl::class test_chain_d {
  29. inherit test_chain_c
  30. constructor {args} {
  31. eval chain $args
  32. } {
  33. global ::test_chain_status
  34. lappend test_chain_status "d::constructor $args"
  35. }
  36. }
  37. }
  38. test_chain_d #auto 1 2 3
  39. test_chain_c #auto 4 5 6
  40.