Add -no-obj and -no-filter abbreviations.

original commit: fe8500437bc854769083feb76bea33f38297694e
This commit is contained in:
Eric Dobson 2014-02-27 21:50:49 -08:00
parent cf9a3d5008
commit 4b876e7221
5 changed files with 14 additions and 12 deletions

View File

@ -744,9 +744,9 @@
(syntax-parse stx
[(:values^ t ...)
(ret (parse-types #'(t ...))
(stx-map (lambda (x) (make-NoFilter)) #'(t ...))
(stx-map (lambda (x) (make-NoObject)) #'(t ...)))]
[t (ret (parse-type #'t) (make-NoFilter) (make-NoObject))]))
(stx-map (lambda (x) -no-filter) #'(t ...))
(stx-map (lambda (x) -no-obj) #'(t ...)))]
[t (ret (parse-type #'t) -no-filter -no-obj)]))
(define parse-tc-results/id (parse/id parse-tc-results))

View File

@ -17,7 +17,7 @@
[(Values: (list (Result: ts _ _) ...)) (ret ts)]
[(ValuesDots: (list (Result: ts _ _) ...) dty dbound)
(ret ts
(for/list ([t (in-list ts)]) (make-NoFilter))
(for/list ([t (in-list ts)]) -no-obj)
(for/list ([t (in-list ts)]) -empty-obj)
dty dbound)]
[_ (int-err "do-ret fails: ~a" t)]))

View File

@ -108,7 +108,9 @@
;; Filters
(define/decl -top (make-Top))
(define/decl -bot (make-Bot))
(define/decl -no-filter (make-NoFilter))
(define/decl -top-filter (make-FilterSet -top -top))
(define/decl -no-obj (make-NoObject))
(define/decl -empty-obj (make-Empty))
(define/cond-contract (-FS + -)

View File

@ -208,5 +208,5 @@
[(tc-any-results:) tc]
[(tc-results: ts _ _)
(ret ts
(for/list ([f (in-list ts)]) (make-NoFilter))
(for/list ([f (in-list ts)]) (make-NoObject)))]))
(for/list ([f (in-list ts)]) -no-filter)
(for/list ([f (in-list ts)]) -no-obj))]))

View File

@ -838,7 +838,7 @@
(do: : Number ((x : (Listof Number) x (cdr x))
(sum : Number 0 (+ sum (car x))))
((null? x) sum)))
#:ret (ret -Number (-FS -top -top) (make-NoObject))]
#:ret (ret -Number (-FS -top -top) -no-obj)]
[tc-e/t (if #f 1 'foo) (-val 'foo)]
@ -1634,7 +1634,7 @@
[tc-e (let ([my-pred (λ () #f)])
(for/and: : Any ([i (in-range 4)])
(my-pred)))
#:ret (ret Univ (-FS -top -top) (make-NoObject))]
#:ret (ret Univ (-FS -top -top) -no-obj)]
[tc-e
(let ()
(define: long : (List 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Integer)
@ -2029,7 +2029,7 @@
(values x y))
#:ret (ret (-HT -Symbol -String)
(-FS -top -top)
(make-NoObject))]
-no-obj)]
[tc-e (for*/hash: : (HashTable Symbol String)
([k (in-list '(x y z))]
[v (in-list '("a" "b"))]
@ -2037,7 +2037,7 @@
(values k v))
#:ret (ret (-HT -Symbol -String)
(-FS -top -top)
(make-NoObject))]
-no-obj)]
;; PR 13937
[tc-e (let ()
@ -2275,9 +2275,9 @@
[tc-e (let/ec k : String (k "foo")) -String]
[tc-e (ann (do ([x : Integer 0 (add1 x)]) ((> x 10) x) (displayln x))
Integer)
#:ret (ret -Integer (make-NoFilter) (make-NoObject))]
#:ret (ret -Integer -no-filter -no-obj)]
[tc-e (do : Integer ([x : Integer 0 (add1 x)]) ((> x 10) x) (displayln x))
#:ret (ret -Integer (make-NoFilter) (make-NoObject))]
#:ret (ret -Integer -no-filter -no-obj)]
[tc-e (tr:case-lambda [(x [y : String]) x])
#:ret (ret (t:-> Univ -String Univ
: (-FS (-not-filter (-val #f) (list 0 0))