Fix accessor struct field inlining
authorAndy Wingo <wingo@pobox.com>
Sat, 24 Jan 2015 18:22:47 +0000 (19:22 +0100)
committerAndy Wingo <wingo@pobox.com>
Sat, 24 Jan 2015 18:23:08 +0000 (19:23 +0100)
commit583a23bf104c84d9617222856e188f3f3af4934d
treed2bf181685cc72bf203b23348cd7b996f002d46f
parent1abe6ba5d8ab3fd84d55ea2494d3cea67d8b0474
Fix accessor struct field inlining

* module/oop/goops/compile.scm: Inline into goops.scm, leaving a
  compatible interface stub behind.

* module/oop/goops/dispatch.scm: Don't import (oop goops compile), to
  break circularities.

* module/oop/goops.scm: Move (oop goops util) include up to the top, and
  import (ice-9 match).
  (compute-cmethod): Move here from compile.scm.  Add a special case for
  accessor methods, so as to fix bug #17355.
  (compute-getter-method, compute-setter-method): #:procedure slot is
  now generic.

* test-suite/tests/goops.test ("accessor slots"): New test.
module/oop/goops.scm
module/oop/goops/compile.scm
module/oop/goops/dispatch.scm
test-suite/tests/goops.test