Better error message for abstract classes.

This commit is contained in:
Asumu Takikawa 2012-02-13 10:33:22 -05:00
parent f4f6f8c52c
commit 150548dc78

View File

@ -3941,7 +3941,10 @@ An example
(raise-type-error 'instantiate "class" class)) (raise-type-error 'instantiate "class" class))
;; make sure the class isn't abstract ;; make sure the class isn't abstract
(unless (null? (class-abstract-ids class)) (unless (null? (class-abstract-ids class))
(obj-error 'instantiate "cannot instantiate abstract class ~a" class)) (obj-error 'instantiate
"cannot instantiate class ~a with abstract methods ~a"
class
(class-abstract-ids class)))
;; Generate correct class by concretizing methods w/interface ctcs ;; Generate correct class by concretizing methods w/interface ctcs
(let* ([class (fetch-concrete-class class blame)] (let* ([class (fetch-concrete-class class blame)]
[o ((class-make-object class))]) [o ((class-make-object class))])