changeset 698: |
96958d3eb5b0 |
parent: |
8252ee515756
|
author: |
Richard Westhaver <ellis@rwest.io> |
date: |
Fri, 04 Oct 2024 22:04:59 -0400 |
permissions: |
-rw-r--r-- |
description: |
fixes |
1 ;;; lib/obj/id.lisp --- IDs 5 ((id :initarg :id :initform 0 :accessor id :type fixnum))) 7 (defgeneric reset-id (obj) 8 (:documentation "Reset the id slot of SELF to 0.") 9 (:method ((obj standard-object)) (setf (id obj) 0)) 10 (:method ((obj t)) 0)) 12 (defgeneric update-id (obj) 13 (:documentation "Update the id slot of SELF.") 14 (:method ((obj standard-object)) (setf (id obj) (hash-object obj))) 15 (:method ((obj t)) (hash-object obj))) 17 (defgeneric make-id (kind) 18 (:documentation "Allocate a new ID object of a specified KIND.") 19 (:method ((kind (eql nil))) 20 (declare (ignore kind)) 22 (:method ((kind (eql t))) 23 (declare (ignore kind)) 24 (make-instance 'id :id most-positive-fixnum))) 26 (defmethod print-object ((obj id) stream) 27 (print-unreadable-object (obj stream :type "ID") 28 (format stream "~A" (id obj)))) 30 (defclass id-factory () ()) 32 (defgeneric identify (self) 33 (:documentation "Return the identity of object SELF - usually meant for objects which don't 34 specialize on ID but should still sometimes return an ID."))