Don't generate extra filters unless they're useful.
original commit: 814c02664ee7892af26f6c0d0b8d90cbf55bdc4a
This commit is contained in:
parent
15a844f9f3
commit
bf8b4e8080
|
@ -26,10 +26,15 @@
|
|||
(d/c (subst-filter-set fs k o polarity [t #f])
|
||||
(->* ((or/c FilterSet? NoFilter?) name-ref/c Object? boolean?) ((or/c #f Type/c)) FilterSet?)
|
||||
(define extra-filter (if t (make-TypeFilter t null k) -top))
|
||||
(define (add-extra-filter f)
|
||||
(define f* (-and extra-filter f))
|
||||
(match f*
|
||||
[(Bot:) f*]
|
||||
[_ f]))
|
||||
(match fs
|
||||
[(FilterSet: f+ f-)
|
||||
(combine (subst-filter (-and extra-filter f+) k o polarity)
|
||||
(subst-filter (-and extra-filter f-) k o polarity))]
|
||||
(combine (subst-filter (add-extra-filter f+) k o polarity)
|
||||
(subst-filter (add-extra-filter f-) k o polarity))]
|
||||
[_ (-FS -top -top)]))
|
||||
|
||||
(d/c (subst-type t k o polarity)
|
||||
|
|
Loading…
Reference in New Issue
Block a user