From 3bd5ae4ac6762ffc81796f11fae53cfcdde0df17 Mon Sep 17 00:00:00 2001 From: Asumu Takikawa Date: Thu, 16 Jan 2014 15:35:20 -0500 Subject: [PATCH] Change #:extends to #:implements original commit: 884c898bfa04c2334317c5a4ee96e7354804865d --- .../typed-racket/private/parse-type.rkt | 10 ++++---- .../unit-tests/parse-type-tests.rkt | 24 +++++++++---------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/private/parse-type.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/private/parse-type.rkt index 7ae5ae70..e1bcb693 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/private/parse-type.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/private/parse-type.rkt @@ -568,7 +568,7 @@ field-names field-types method-names method-types) #:literals (init init-field field) - (pattern (~seq (~or (~seq #:extends extends-type:expr) + (pattern (~seq (~or (~seq #:implements extends-type:expr) (~optional (~seq #:self self:id)) (init init-clause:init-type ...) (init-field init-field-clause:init-type ...) @@ -614,7 +614,7 @@ (pattern (label:id type:expr))) ;; process-class-clauses : Syntax FieldDict MethodDict -> FieldDict MethodDict -;; Merges #:extends class type and the current class clauses appropriately +;; Merges #:implements class type and the current class clauses appropriately (define (merge-with-parent-type stx fields methods) ;; (Listof Symbol) Dict Dict String -> (Values Dict Dict) ;; check for duplicates in a class clause @@ -641,7 +641,7 @@ (values fields methods)] [(? Mu?) (match-parent-type (unfold parent-type))] - [_ (tc-error "expected a class type for #:extends clause")])) + [_ (tc-error "expected a class type for #:implements clause")])) (define-values (super-fields super-methods) (match-parent-type parent-type)) @@ -656,12 +656,12 @@ (check-duplicate-clause field-names super-field-names fields super-fields - "field or init-field name ~a conflicts with #:extends clause")) + "field or init-field name ~a conflicts with #:implements clause")) (define-values (checked-methods checked-super-methods) (check-duplicate-clause method-names super-method-names methods super-methods - "method name ~a conflicts with #:extends clause")) + "method name ~a conflicts with #:implements clause")) ;; then append the super types if there were no errors (define merged-fields (append checked-super-fields checked-fields)) diff --git a/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/parse-type-tests.rkt b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/parse-type-tests.rkt index 0c9ce181..905e2ea7 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/parse-type-tests.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/parse-type-tests.rkt @@ -227,25 +227,25 @@ (-mu This% (make-Class #f null null `((m ,(t:-> (make-Instance This%) N)))))] - ;; test #:extends - [(Class #:extends (Class [m (Number -> Number)]) (field [x Number])) + ;; test #:implements + [(Class #:implements (Class [m (Number -> Number)]) (field [x Number])) (make-Class #f null `((x ,-Number)) `((m ,(t:-> N N))))] - [(Class #:extends (Class [m (Number -> Number)]) - #:extends (Class [n (Number -> Number)]) + [(Class #:implements (Class [m (Number -> Number)]) + #:implements (Class [n (Number -> Number)]) (field [x Number])) (make-Class #f null `((x ,-Number)) `((n ,(t:-> N N)) (m ,(t:-> N N))))] - [(Class #:extends (Class [m (Number -> Number)]) - #:extends (Class [m (Number -> Number)]) + [(Class #:implements (Class [m (Number -> Number)]) + #:implements (Class [m (Number -> Number)]) (field [x Number])) (make-Class #f null `((x ,-Number)) `((m ,(t:-> N N))))] - [(Class #:extends (Class (init [x Integer]) [m (Number -> Number)]) + [(Class #:implements (Class (init [x Integer]) [m (Number -> Number)]) (field [x Number])) (make-Class #f null `((x ,-Number)) `((m ,(t:-> N N))))] - [FAIL (Class #:extends Number)] - [FAIL (Class #:extends Number [m (Number -> Number)])] - [FAIL (Class #:extends (Class [m (Number -> Number)]) [m String])] - [FAIL (Class #:extends (Class [m (Number -> Number)]) - #:extends (Class [m (String -> String)]) + [FAIL (Class #:implements Number)] + [FAIL (Class #:implements Number [m (Number -> Number)])] + [FAIL (Class #:implements (Class [m (Number -> Number)]) [m String])] + [FAIL (Class #:implements (Class [m (Number -> Number)]) + #:implements (Class [m (String -> String)]) (field [x Number]))] ;; Test Object types [(Object) (make-Instance (make-Class #f null null null))]