From e10bb20f930d90dd611e7e9e653a70e547826732 Mon Sep 17 00:00:00 2001 From: Francois-Rene Rideau <tunes@google.com> Date: Tue, 7 Jan 2014 23:07:59 -0500 Subject: [PATCH] :allocation :class isn't inherited by new slot definitions, so specify it explicitly. (I suppose the reason it isn't is because that would make for complex decision rules in case of conflicted multiple inheritance) --- bundle.lisp | 10 +++++----- concatenate-source.lisp | 12 ++++++------ lisp-action.lisp | 14 +++++++------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/bundle.lisp b/bundle.lisp index b5a7cb4c..8aa29392 100644 --- a/bundle.lisp +++ b/bundle.lisp @@ -38,11 +38,11 @@ (defclass basic-fasl-op (bundle-compile-op) ((bundle-type :initform :fasl))) (defclass prepare-fasl-op (sideway-operation) - ((sideway-operation :initform 'load-fasl-op))) + ((sideway-operation :initform 'load-fasl-op :allocation :class))) (defclass fasl-op (basic-fasl-op selfward-operation) - ((selfward-operation :initform '(prepare-fasl-op #+ecl lib-op)))) + ((selfward-operation :initform '(prepare-fasl-op #+ecl lib-op) :allocation :class))) (defclass load-fasl-op (basic-load-op selfward-operation) - ((selfward-operation :initform '(prepare-op fasl-op)))) + ((selfward-operation :initform '(prepare-op fasl-op) :allocation :class))) ;; NB: since the monolithic-op's can't be sideway-operation's, ;; if we wanted lib-op, dll-op, binary-op to be sideway-operation's, @@ -61,7 +61,7 @@ (:documentation "compile the system and produce dynamic (.so/.dll) library for it.")) (defclass binary-op (basic-compile-op selfward-operation) - ((selfward-operation :initform '(fasl-op lib-op))) + ((selfward-operation :initform '(fasl-op lib-op) :allocation :class)) (:documentation "produce fasl and asd files for the system")) (defclass monolithic-op (operation) ()) ;; operation on a system and its dependencies @@ -75,7 +75,7 @@ (:documentation "Abstract operation for ways to bundle the outputs of compiling *Lisp* files over all systems")) (defclass monolithic-binary-op (monolithic-op binary-op) - ((selfward-operation :initform '(monolithic-fasl-op monolithic-lib-op))) + ((selfward-operation :initform '(monolithic-fasl-op monolithic-lib-op) :allocation :class)) (:documentation "produce fasl and asd files for combined system and dependencies.")) (defclass monolithic-fasl-op (monolithic-bundle-compile-op basic-fasl-op) () diff --git a/concatenate-source.lisp b/concatenate-source.lisp index d21cc45e..7be26fa7 100644 --- a/concatenate-source.lisp +++ b/concatenate-source.lisp @@ -30,19 +30,19 @@ (defclass concatenate-source-op (basic-concatenate-source-op) ()) (defclass load-concatenated-source-op (basic-load-concatenated-source-op) - ((selfward-operation :initform '(prepare-op concatenate-source-op)))) + ((selfward-operation :initform '(prepare-op concatenate-source-op) :allocation :class))) (defclass compile-concatenated-source-op (basic-compile-concatenated-source-op) - ((selfward-operation :initform '(prepare-op concatenate-source-op)))) + ((selfward-operation :initform '(prepare-op concatenate-source-op) :allocation :class))) (defclass load-compiled-concatenated-source-op (basic-load-compiled-concatenated-source-op) - ((selfward-operation :initform '(prepare-op compile-concatenated-source-op)))) + ((selfward-operation :initform '(prepare-op compile-concatenated-source-op) :allocation :class))) (defclass monolithic-concatenate-source-op (basic-concatenate-source-op monolithic-bundle-op) ()) (defclass monolithic-load-concatenated-source-op (basic-load-concatenated-source-op) - ((selfward-operation :initform 'monolithic-concatenate-source-op))) + ((selfward-operation :initform 'monolithic-concatenate-source-op :allocation :class))) (defclass monolithic-compile-concatenated-source-op (basic-compile-concatenated-source-op) - ((selfward-operation :initform 'monolithic-concatenate-source-op))) + ((selfward-operation :initform 'monolithic-concatenate-source-op :allocation :class))) (defclass monolithic-load-compiled-concatenated-source-op (basic-load-compiled-concatenated-source-op) - ((selfward-operation :initform 'monolithic-compile-concatenated-source-op))) + ((selfward-operation :initform 'monolithic-compile-concatenated-source-op :allocation :class))) (defmethod input-files ((operation basic-concatenate-source-op) (s system)) (loop :with encoding = (or (component-encoding s) *default-encoding*) diff --git a/lisp-action.lisp b/lisp-action.lisp index 7e49826a..6adc154f 100644 --- a/lisp-action.lisp +++ b/lisp-action.lisp @@ -38,22 +38,22 @@ ;;; Our default operations: loading into the current lisp image (with-upgradability () (defclass prepare-op (upward-operation sideway-operation) - ((sideway-operation :initform 'load-op))) + ((sideway-operation :initform 'load-op :allocation :class))) (defclass load-op (basic-load-op downward-operation sideway-operation selfward-operation) ;; NB: even though compile-op depends on prepare-op it is not needed-in-image-p, ;; so we need to directly depend on prepare-op for its side-effects in the current image. - ((selfward-operation :initform '(prepare-op compile-op)))) + ((selfward-operation :initform '(prepare-op compile-op) :allocation :class))) (defclass compile-op (basic-compile-op downward-operation selfward-operation) - ((selfward-operation :initform 'prepare-op) - (downward-operation :initform 'load-op))) + ((selfward-operation :initform 'prepare-op :allocation :class) + (downward-operation :initform 'load-op :allocation :class))) (defclass prepare-source-op (upward-operation sideway-operation) - ((sideway-operation :initform 'load-source-op))) + ((sideway-operation :initform 'load-source-op :allocation :class))) (defclass load-source-op (basic-load-op downward-operation selfward-operation) - ((selfward-operation :initform 'prepare-source-op))) + ((selfward-operation :initform 'prepare-source-op :allocation :class))) (defclass test-op (selfward-operation) - ((selfward-operation :initform 'load-op)))) + ((selfward-operation :initform 'load-op :allocation :class)))) ;;;; prepare-op, compile-op and load-op -- GitLab