Corrected bug in detecting inner class allocation
svn: r6412
This commit is contained in:
parent
c1b3b4ab65
commit
9123e74cfe
|
@ -1504,7 +1504,7 @@
|
|||
|
||||
;process-inner def (list name) type-records symbol -> inner-record
|
||||
(define (process-inner def cname type-recs level)
|
||||
(make-inner-record (filename-extension (id-string (def-name def)))
|
||||
(make-inner-record (bytes->string/locale (filename-extension (id-string (def-name def))))
|
||||
(id-string (def-name def))
|
||||
(map modifier-kind (header-modifiers (def-header def)))
|
||||
(class-def? def)))
|
||||
|
|
|
@ -2294,8 +2294,9 @@
|
|||
(if inner-lookup?
|
||||
(inner-rec-record inner-lookup?)
|
||||
(get-record (send type-recs get-class-record type c-class) type-recs)))
|
||||
;(p (when (null? class-record) (print-struct #t) (printf "~a~n" type)))
|
||||
(methods (get-method-records (id-string (name-id name)) class-record type-recs)))
|
||||
(methods (get-method-records #;(id-string (name-id name))
|
||||
(car (class-record-name class-record))
|
||||
class-record type-recs)))
|
||||
(unless (or (equal? (car (class-record-name class-record)) (ref-type-class/iface type)))
|
||||
(set-id-string! (name-id name) (car (class-record-name class-record)))
|
||||
(set-class-alloc-class-inner?! exp #t))
|
||||
|
@ -2304,7 +2305,7 @@
|
|||
(set-class-alloc-local-inner?! exp #t))
|
||||
(unless (or (equal? (ref-type-class/iface type) (car c-class))
|
||||
(equal? (car (class-record-name class-record))
|
||||
(format "~a.~a" (car c-class) (ref-type-class/iface type)))
|
||||
(format "~a.~a" (car c-class) (id-string (name-id name))))
|
||||
(class-alloc-class-inner? exp)
|
||||
(class-alloc-local-inner? exp)
|
||||
(inner-alloc? exp))
|
||||
|
|
|
@ -396,6 +396,7 @@
|
|||
;; (U class-record scheme-record procedure)
|
||||
(define/public get-class-record
|
||||
(opt-lambda (ctype [container #f] [fail (lambda () null)])
|
||||
;(printf "get-class-record: ctype->~a container->~a ~n" ctype container)
|
||||
(let*-values (((key key-path) (normalize-key ctype))
|
||||
((key-inner) (when (cons? container) (string-append (car container) "." key)))
|
||||
((outer-record) (when (cons? container) (get-class-record container)))
|
||||
|
|
Loading…
Reference in New Issue
Block a user