Skip to content

Commit

Permalink
Make mixins inherit from strongly intended base classes.
Browse files Browse the repository at this point in the history
  • Loading branch information
Hexstream committed Apr 22, 2020
1 parent 6fc0a9b commit bff43d4
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 8 deletions.
2 changes: 1 addition & 1 deletion checking.lisp
@@ -1,6 +1,6 @@
(in-package #:definitions-systems)

(defclass defsys:check-definition-mixin () ())
(defclass defsys:check-definition-mixin (defsys:system) ())

(defgeneric defsys:base-definition-class (system))

Expand Down
4 changes: 2 additions & 2 deletions definitions.lisp
Expand Up @@ -31,7 +31,7 @@
(error "Don't know how to ~S for definition ~S because it has no owner."
'make-load-form definition))))

(defclass defsys:primary-binding-mixin (defsys:owner-mixin defsys:name-mixin)
(defclass defsys:primary-binding-mixin (defsys:owner-mixin defsys:name-mixin defsys:definition)
())

(defmethod shared-initialize :after ((definition defsys:primary-binding-mixin) slot-names
Expand All @@ -52,7 +52,7 @@
(defmethod (setf defsys:name) (new-name (definition defsys:primary-binding-mixin))
(reinitialize-instance definition :name new-name))

(defclass defsys:alias-bindings-mixin ()
(defclass defsys:alias-bindings-mixin (defsys:definition)
((%aliasing-systems :reader %aliasing-systems
:type hash-table
:initform (make-hash-table :test 'eq))))
Expand Down
2 changes: 1 addition & 1 deletion expansion.lisp
@@ -1,6 +1,6 @@
(in-package #:definitions-systems)

(defclass defsys:default-definition-class-mixin ()
(defclass defsys:default-definition-class-mixin (defsys:system)
((%default-definition-class :initarg :default-definition-class
:type (or null class)
:initform nil)))
Expand Down
8 changes: 4 additions & 4 deletions systems.lisp
Expand Up @@ -2,13 +2,13 @@

(defclass defsys:system () ())

(defclass defsys:hash-table-mixin ()
(defclass defsys:hash-table-mixin (defsys:system)
((%hash :reader %hash
:type hash-table
:initform (make-hash-table :test 'eq))))

(defclass defsys:standard-system (defsys:system
defsys:base-definition-class-mixin
(defclass defsys:standard-system (defsys:base-definition-class-mixin
defsys:standard-definition
defsys:hash-table-mixin)
defsys:hash-table-mixin
defsys:system)
())

0 comments on commit bff43d4

Please sign in to comment.