class/c: fix interaction w/ absent and #:opaque
This commit is contained in:
parent
841b190ef7
commit
0ea558a463
|
@ -2574,9 +2574,10 @@
|
|||
(for ([m (class/c-methods ctc)])
|
||||
(unless (hash-ref method-ht m #f)
|
||||
(fail "no public method ~a" m)))
|
||||
(for ([m (class/c-absents ctc)])
|
||||
(when (hash-ref method-ht m #f)
|
||||
(fail "class already contains public method ~a" m)))
|
||||
(unless (class/c-opaque? ctc)
|
||||
(for ([m (class/c-absents ctc)])
|
||||
(when (hash-ref method-ht m #f)
|
||||
(fail "class already contains public method ~a" m))))
|
||||
(when (class/c-opaque? ctc)
|
||||
(for ([m (in-hash-keys method-ht)])
|
||||
(unless (memq m (class/c-methods ctc))
|
||||
|
@ -2637,9 +2638,10 @@
|
|||
(for ([f (class/c-fields ctc)])
|
||||
(unless (hash-ref field-ht f #f)
|
||||
(fail "no public field ~a" f)))
|
||||
(for ([f (class/c-absent-fields ctc)])
|
||||
(when (hash-ref field-ht f #f)
|
||||
(fail "class already contains public field ~a" f)))
|
||||
(unless (class/c-opaque? ctc)
|
||||
(for ([f (class/c-absent-fields ctc)])
|
||||
(when (hash-ref field-ht f #f)
|
||||
(fail "class already contains public field ~a" f))))
|
||||
(when (class/c-opaque? ctc)
|
||||
(for ([f (in-hash-keys field-ht)])
|
||||
(unless (memq f (class/c-fields ctc))
|
||||
|
|
Loading…
Reference in New Issue
Block a user