ffi/unsafe/objc
Avoid crash on duplicate Objective-C class declaration.
This commit is contained in:
parent
9e0e2b932d
commit
81a0451849
|
@ -604,14 +604,15 @@
|
|||
(begin
|
||||
(define superclass-id superclass)
|
||||
(define id (allocate-class-pair superclass-id id-str))
|
||||
(void (add-protocol id proto)) ...
|
||||
(add-ivar id 'ivar) ...
|
||||
(let-syntax ([ivar (make-ivar-form 'ivar)] ...)
|
||||
(add-method whole-stx id superclass-id method) ...
|
||||
(mixin id superclass-id '(ivar ...)) ...
|
||||
(add-method whole-stx id superclass-id dealloc-method) ...
|
||||
(void))
|
||||
(register-class-pair id))))))]
|
||||
(when id
|
||||
(void (add-protocol id proto)) ...
|
||||
(add-ivar id 'ivar) ...
|
||||
(let-syntax ([ivar (make-ivar-form 'ivar)] ...)
|
||||
(add-method whole-stx id superclass-id method) ...
|
||||
(mixin id superclass-id '(ivar ...)) ...
|
||||
(add-method whole-stx id superclass-id dealloc-method) ...
|
||||
(void))
|
||||
(register-class-pair id)))))))]
|
||||
[(_ id superclass (ivar ...) method ...)
|
||||
#'(define-objc-class id superclass #:mixins () #:protocols () (ivar ...) method ...)]
|
||||
[(_ id superclass #:mixins (mixin ...) (ivar ...) method ...)
|
||||
|
|
Loading…
Reference in New Issue
Block a user