diff --git a/core/bootstrap/primitives.factor b/core/bootstrap/primitives.factor index b9191ac612..87ed5ea529 100755 --- a/core/bootstrap/primitives.factor +++ b/core/bootstrap/primitives.factor @@ -33,7 +33,6 @@ H{ } clone sub-primitives set ! Bring up a bare cross-compiling vocabulary. "syntax" vocab vocab-words bootstrap-syntax set H{ } clone dictionary set -H{ } clone new-classes set H{ } clone changed-definitions set H{ } clone forgotten-definitions set H{ } clone root-cache set diff --git a/core/classes/classes.factor b/core/classes/classes.factor index 64a8630f36..27205b487d 100755 --- a/core/classes/classes.factor +++ b/core/classes/classes.factor @@ -119,7 +119,7 @@ M: sequence implementors [ implementors ] gather ; : (define-class) ( word props -- ) >r - dup class? [ dup [ implementors-map+ ] [ new-class ] bi ] unless + dup class? [ implementors-map+ ] unless dup reset-class dup deferred? [ dup define-symbol ] when dup props>> diff --git a/core/classes/mixin/mixin.factor b/core/classes/mixin/mixin.factor index 56ab6d37f1..3b12a277d7 100755 --- a/core/classes/mixin/mixin.factor +++ b/core/classes/mixin/mixin.factor @@ -39,11 +39,6 @@ TUPLE: check-mixin-class mixin ; [ [ members swap bootstrap-word ] dip call ] [ drop ] 2bi swap redefine-mixin-class ; inline -: update-classes/new ( mixin -- ) - class-usages - [ [ update-class ] each ] - [ implementors [ make-generic ] each ] bi ; - : add-mixin-instance ( class mixin -- ) #! Note: we call update-classes on the new member, not the #! mixin. This ensures that we only have to update the @@ -53,12 +48,9 @@ TUPLE: check-mixin-class mixin ; #! updated by transitivity; the mixins usages appear in #! class-usages of the member, now that it's been added. [ 2drop ] [ - [ [ suffix ] change-mixin-class ] 2keep - tuck [ new-class? ] either? [ - update-classes/new - ] [ - update-classes - ] if + [ [ suffix ] change-mixin-class ] + [ drop update-classes ] + 2bi ] if-mixin-member? ; : remove-mixin-instance ( class mixin -- ) diff --git a/core/compiler/units/units.factor b/core/compiler/units/units.factor index 1c1eaebc03..616d8c957a 100755 --- a/core/compiler/units/units.factor +++ b/core/compiler/units/units.factor @@ -94,7 +94,6 @@ SYMBOL: update-tuples-hook [ H{ } clone changed-definitions set H{ } clone outdated-tuples set - H{ } clone new-classes set [ finish-compilation-unit ] [ ] cleanup ] with-scope ; inline @@ -103,7 +102,6 @@ SYMBOL: update-tuples-hook H{ } clone changed-definitions set H{ } clone forgotten-definitions set H{ } clone outdated-tuples set - H{ } clone new-classes set new-definitions set old-definitions set [ diff --git a/core/definitions/definitions.factor b/core/definitions/definitions.factor index 8b1cb6322d..affccd95fb 100755 --- a/core/definitions/definitions.factor +++ b/core/definitions/definitions.factor @@ -28,15 +28,6 @@ SYMBOL: +called+ swap changed-definitions get [ set-at ] [ no-compilation-unit ] if* ; -SYMBOL: new-classes - -: new-class ( word -- ) - dup new-classes get - [ set-at ] [ no-compilation-unit ] if* ; - -: new-class? ( word -- ? ) - new-classes get key? ; - GENERIC: where ( defspec -- loc ) M: object where drop f ;