Add handling of by-name inits to commented-out class/c use in typed-scheme.
Also, fix class/c section of reference slightly by mentioning the role of external contracts in class instantiation. svn: r18542 original commit: 5a488ae7cbf9f973cf89169f5557c12e355a3f39
This commit is contained in:
parent
78214ab410
commit
d22cdbcee1
|
@ -151,13 +151,15 @@
|
|||
[(names ...) name])
|
||||
#'(object/c (names fcn-cnts) ...))]
|
||||
;; init args not currently handled by class/c
|
||||
[(Class: _ _ (list (list name fcn) ...))
|
||||
[(Class: _ (list (list by-name-init by-name-init-ty _) ...) (list (list name fcn) ...))
|
||||
(when flat? (exit (fail)))
|
||||
(with-syntax ([(fcn-cnts ...) (for/list ([f fcn]) (t->c/fun f #:method #t))]
|
||||
[(names ...) name])
|
||||
(with-syntax ([(fcn-cnt ...) (for/list ([f fcn]) (t->c/fun f #:method #t))]
|
||||
[(name ...) name]
|
||||
[(by-name-cnt ...) (for/list ([t by-name-init-ty]) (t->c/neg t))]
|
||||
[(by-name-init ...) by-name-init])
|
||||
#'class?
|
||||
#;
|
||||
#'(class/c (names fcn-cnts) ...))]
|
||||
#'(class/c (name fcn-cnt) ... (init [by-name-init by-name-cnt] ...)))]
|
||||
[(Value: '()) #'null?]
|
||||
[(Struct: nm par flds proc poly? pred? cert acc-ids)
|
||||
(cond
|
||||
|
|
Loading…
Reference in New Issue
Block a user