X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-introspect%2Fxref-test-data.lisp;h=ff44e10b2722cbfe8d3d3873f207eaf261ee7c60;hb=e5334bc7f2c88a5819e45e2d6e1cfe18af355169;hp=a839a440a214973c9a19b804f68acf2656e8d470;hpb=4363cb61eb8e2dc833070da398864a039210e1c8;p=sbcl.git diff --git a/contrib/sb-introspect/xref-test-data.lisp b/contrib/sb-introspect/xref-test-data.lisp index a839a44..ff44e10 100644 --- a/contrib/sb-introspect/xref-test-data.lisp +++ b/contrib/sb-introspect/xref-test-data.lisp @@ -195,3 +195,27 @@ (inline/4 :a :b :c)) ;;; Test references to / from compiler-macros + + +;;; Test specialization + +(defclass a-class () ()) +(defclass a-subclass (a-class) ()) + +(defstruct a-structure) +(defstruct (a-substructure (:include a-structure))) + +(defvar *an-instance-of-a-class* (make-instance 'a-class)) +(defvar *an-instance-of-a-subclass* (make-instance 'a-subclass)) + +(defvar *an-instance-of-a-structure* (make-a-structure)) +(defvar *an-instance-of-a-substructure* (make-a-substructure)) + +(defmethod a-gf-1 ((x a-class))) +(defmethod a-gf-1 ((x a-structure))) + +(defmethod a-gf-2 ((x (eql *an-instance-of-a-class*)))) +(defmethod a-gf-2 ((x (eql *an-instance-of-a-structure*)))) + +(defmethod a-gf-3 ((x (eql *an-instance-of-a-subclass*)))) +(defmethod a-gf-3 ((x (eql *an-instance-of-a-substructure*))))