1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
;; -*-theme-d-*-
;; Copyright (C) 2008-2013 Tommi Höynälänmaa
;; Distributed under GNU General Public License version 3,
;; see file doc/GPL-3.
;; Expected results: translation and running OK
(define-proper-program (tests test137)
(import (standard-library core)
(standard-library console-io))
(define-class <window>
(constructor-access module)
(fields
(name <string> module module)))
(define-class <dialog>
(superclass <window>)
(constructor-access module)
(fields
(choices <integer> module module)))
(define-class <display>
(constructor-access module)
(fields
(id <string> module module)))
(define-virtual-gen-proc draw)
(add-virtual-method draw
(lambda (((window <window>) (disp <display>)) <none> nonpure)
(console-display "window ")
(console-display (field-ref window 'name))
(console-newline)))
(add-virtual-method draw
(lambda (((dialog <dialog>) (disp <display>)) <none> nonpure)
(console-display "dialog ")
(console-display (field-ref dialog 'name))
(console-display " ")
(console-display (field-ref dialog 'choices))
(console-newline)))
(define main
(lambda (() <integer> nonpure)
(let ((my-display (create <display> ":0.0"))
(my-window (create <window> "Editor"))
(my-dialog (create <dialog> "Open" 2)))
((generic-proc-dispatch-without-result draw (<window> <display>))
my-window my-display)
((generic-proc-dispatch-without-result draw (<dialog> <display>))
my-dialog my-display)
0))))
|