Convert parse tests w/ classes to use abbreviations
This commit is contained in:
parent
92d5e4a8ae
commit
dff2fa6de7
|
@ -200,26 +200,25 @@
|
||||||
(->optkey -String [] #:rest -String #:a -String #f -String)]
|
(->optkey -String [] #:rest -String #:a -String #f -String)]
|
||||||
|
|
||||||
;;; Classes
|
;;; Classes
|
||||||
[(Class) (make-Class #f null null null null)]
|
[(Class) (-class)]
|
||||||
[(Class (init [x Number] [y Number]))
|
[(Class (init [x Number] [y Number]))
|
||||||
(make-Class #f `((x ,-Number #f) (y ,-Number #f)) null null null)]
|
(-class #:init ([x -Number #f] [y -Number #f]))]
|
||||||
[(Class (init [x Number] [y Number #:optional]))
|
[(Class (init [x Number] [y Number #:optional]))
|
||||||
(make-Class #f `((x ,-Number #f) (y ,-Number #t)) null null null)]
|
(-class #:init ([x -Number #f] [y -Number #t]))]
|
||||||
[(Class (init [x Number]) (init-field [y Number]))
|
[(Class (init [x Number]) (init-field [y Number]))
|
||||||
(make-Class #f `((x ,-Number #f) (y ,-Number #f)) `((y ,-Number))
|
(-class #:init ([x -Number #f]) #:init-field ([y -Number #f]))]
|
||||||
null null)]
|
|
||||||
[(Class [m (Number -> Number)])
|
[(Class [m (Number -> Number)])
|
||||||
(make-Class #f null null `((m ,(t:-> N N))) null)]
|
(-class #:method ([m (t:-> N N)]))]
|
||||||
[(Class [m (Number -> Number)] (init [x Number]))
|
[(Class [m (Number -> Number)] (init [x Number]))
|
||||||
(make-Class #f `((x ,-Number #f)) null `((m ,(t:-> N N))) null)]
|
(-class #:init ([x -Number #f]) #:method ([m (t:-> N N)]))]
|
||||||
[(Class [m (Number -> Number)] (field [x Number]))
|
[(Class [m (Number -> Number)] (field [x Number]))
|
||||||
(make-Class #f null `((x ,-Number)) `((m ,(t:-> N N))) null)]
|
(-class #:field ([x -Number]) #:method ([m (t:-> N N)]))]
|
||||||
[(Class (augment [m (Number -> Number)]))
|
[(Class (augment [m (Number -> Number)]))
|
||||||
(make-Class #f null null null `((m ,(t:-> N N))))]
|
(-class #:augment ([m (t:-> N N)]))]
|
||||||
[(Class (augment [m (Number -> Number)]) (field [x Number]))
|
[(Class (augment [m (Number -> Number)]) (field [x Number]))
|
||||||
(make-Class #f null `((x ,-Number)) null `((m ,(t:-> N N))))]
|
(-class #:augment ([m (t:-> N N)]) #:field ([x -Number]))]
|
||||||
[(Class (augment [m (-> Number)]) [m (-> Number)])
|
[(Class (augment [m (-> Number)]) [m (-> Number)])
|
||||||
(make-Class #f null null `((m ,(t:-> N))) `((m ,(t:-> N))))]
|
(-class #:method ([m (t:-> N)]) #:augment ([m (t:-> N)]))]
|
||||||
[FAIL (Class foobar)]
|
[FAIL (Class foobar)]
|
||||||
[FAIL (Class [x UNBOUND])]
|
[FAIL (Class [x UNBOUND])]
|
||||||
[FAIL (Class [x Number #:random-keyword])]
|
[FAIL (Class [x Number #:random-keyword])]
|
||||||
|
@ -238,7 +237,7 @@
|
||||||
[(All (r #:row) (Class #:row-var r))
|
[(All (r #:row) (Class #:row-var r))
|
||||||
(make-PolyRow (list 'r)
|
(make-PolyRow (list 'r)
|
||||||
(list null null null null)
|
(list null null null null)
|
||||||
(make-Class (make-F 'r) null null null null))]
|
(-class #:row (make-F 'r)))]
|
||||||
[FAIL (All (r #:row) (Class #:implements (Class #:row-var r)))]
|
[FAIL (All (r #:row) (Class #:implements (Class #:row-var r)))]
|
||||||
[FAIL (All (r #:row) (Class #:implements (Class) #:row-var r))]
|
[FAIL (All (r #:row) (Class #:implements (Class) #:row-var r))]
|
||||||
[FAIL (Class #:row-var 5)]
|
[FAIL (Class #:row-var 5)]
|
||||||
|
@ -272,12 +271,11 @@
|
||||||
[FAIL (Class #:implements (Class (augment [m (Number -> Number)]))
|
[FAIL (Class #:implements (Class (augment [m (Number -> Number)]))
|
||||||
(augment [m (-> Number)]))]
|
(augment [m (-> Number)]))]
|
||||||
;; Test Object types
|
;; Test Object types
|
||||||
[(Object) (make-Instance (make-Class #f null null null null))]
|
[(Object) (-object)]
|
||||||
[(Object [m (Number -> Number)])
|
[(Object [m (Number -> Number)])
|
||||||
(make-Instance (make-Class #f null null `((m ,(t:-> N N))) null))]
|
(-object #:method ([m (t:-> N N)]))]
|
||||||
[(Object [m (Number -> Number)] (field [f Number]))
|
[(Object [m (Number -> Number)] (field [f Number]))
|
||||||
(make-Instance (make-Class #f null `((f ,N))
|
(-object #:method ([m (t:-> N N)]) #:field ([f N]))]
|
||||||
`((m ,(t:-> N N))) null))]
|
|
||||||
[FAIL (Object foobar)]
|
[FAIL (Object foobar)]
|
||||||
[FAIL (Object [x UNBOUND])]
|
[FAIL (Object [x UNBOUND])]
|
||||||
[FAIL (Object [x Number #:random-keyword])]
|
[FAIL (Object [x Number #:random-keyword])]
|
||||||
|
@ -289,13 +287,11 @@
|
||||||
;; Test row polymorphic types
|
;; Test row polymorphic types
|
||||||
[(All (r #:row) ((Class #:row-var r) -> (Class #:row-var r)))
|
[(All (r #:row) ((Class #:row-var r) -> (Class #:row-var r)))
|
||||||
(-polyrow (r) (list null null null null)
|
(-polyrow (r) (list null null null null)
|
||||||
(t:-> (make-Class r null null null null)
|
(t:-> (-class #:row r) (-class #:row r)))]
|
||||||
(make-Class r null null null null)))]
|
|
||||||
[(All (r #:row (init x y z) (field f) m n)
|
[(All (r #:row (init x y z) (field f) m n)
|
||||||
((Class #:row-var r) -> (Class #:row-var r)))
|
((Class #:row-var r) -> (Class #:row-var r)))
|
||||||
(-polyrow (r) (list '(x y z) '(f) '(m n) '())
|
(-polyrow (r) (list '(x y z) '(f) '(m n) '())
|
||||||
(t:-> (make-Class r null null null null)
|
(t:-> (-class #:row r) (-class #:row r)))]
|
||||||
(make-Class r null null null null)))]
|
|
||||||
;; Class types cannot use a row variable that doesn't constrain
|
;; Class types cannot use a row variable that doesn't constrain
|
||||||
;; all of its members to be absent in the row
|
;; all of its members to be absent in the row
|
||||||
[FAIL (All (r #:row (init x))
|
[FAIL (All (r #:row (init x))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user