Corrected a bug where name collision was possible in wrappers for dynamic
svn: r1384
This commit is contained in:
parent
5d8b64df09
commit
b8e937ac1f
|
@ -743,14 +743,14 @@
|
||||||
(lambda (name super-name from-dynamic? extra-methods)
|
(lambda (name super-name from-dynamic? extra-methods)
|
||||||
`(define ,name
|
`(define ,name
|
||||||
(class ,super-name
|
(class ,super-name
|
||||||
(init w p n s c)
|
(init w* p* n* s* c*)
|
||||||
(define-values (wrapped-obj pos-blame neg-blame src cc-marks) (values null null null null null))
|
(define-values (wrapped-obj pos-blame neg-blame src* cc-marks) (values null null null null null))
|
||||||
(set! wrapped-obj w)
|
(set! wrapped-obj w*)
|
||||||
(set! pos-blame p)
|
(set! pos-blame p*)
|
||||||
(set! neg-blame n)
|
(set! neg-blame n*)
|
||||||
(set! src s)
|
(set! src* s*)
|
||||||
(set! cc-marks c)
|
(set! cc-marks c*)
|
||||||
(super-instantiate (w p n s c))
|
(super-instantiate (w* p* n* s* c*))
|
||||||
|
|
||||||
,(generate-wrapper-fields fields from-dynamic?)
|
,(generate-wrapper-fields fields from-dynamic?)
|
||||||
|
|
||||||
|
@ -857,8 +857,8 @@
|
||||||
((dynamic-val? type) value)
|
((dynamic-val? type) value)
|
||||||
((array-type? type) value
|
((array-type? type) value
|
||||||
#;(if from-dynamic?
|
#;(if from-dynamic?
|
||||||
`(wrap-convert-assert-array ,value pos-blame neg-blame src cc-marks)
|
`(wrap-convert-assert-array ,value pos-blame neg-blame src* cc-marks)
|
||||||
`(make-object guard-convert-array ,value pos-blame neg-blame src cc-marks)))
|
`(make-object guard-convert-array ,value pos-blame neg-blame src* cc-marks)))
|
||||||
((ref-type? type)
|
((ref-type? type)
|
||||||
(cond
|
(cond
|
||||||
((and (equal? string-type type) from-dynamic?) `(make-java-string ,value))
|
((and (equal? string-type type) from-dynamic?) `(make-java-string ,value))
|
||||||
|
@ -868,9 +868,9 @@
|
||||||
(make-ref-type "PrintStream" '("java" "io"))
|
(make-ref-type "PrintStream" '("java" "io"))
|
||||||
(make-ref-type "PrintWriter" '("java" "io")))) value)
|
(make-ref-type "PrintWriter" '("java" "io")))) value)
|
||||||
(from-dynamic? `(,(build-identifier (string-append "wrap-convert-assert-" (ref-type-class/iface type)))
|
(from-dynamic? `(,(build-identifier (string-append "wrap-convert-assert-" (ref-type-class/iface type)))
|
||||||
,value pos-blame neg-blame src cc-marks))
|
,value pos-blame neg-blame src* cc-marks))
|
||||||
(else `(make-object ,(build-identifier (string-append "guard-convert-" (ref-type-class/iface type)))
|
(else `(make-object ,(build-identifier (string-append "guard-convert-" (ref-type-class/iface type)))
|
||||||
,value pos-blame neg-blame src cc-marks))))
|
,value pos-blame neg-blame src* cc-marks))))
|
||||||
(else value)))
|
(else value)))
|
||||||
|
|
||||||
;assert-value: sexp type boolean -> sexp
|
;assert-value: sexp type boolean -> sexp
|
||||||
|
|
Loading…
Reference in New Issue
Block a user