Support the new smokegenerator (r1015073).
src/objects/stack.lisp
Thu Aug 27 13:43:13 CEST 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
* Support the new smokegenerator (r1015073).
* support const correctness
* remove workarounds for the old smoke
The old smoke is no longer supported.
Thanks to Arno Rehn for making the smokegenerator work with cl-smoke.
--- old-smoke/src/objects/stack.lisp 2014-10-30 08:11:30.000000000 +0100
+++ new-smoke/src/objects/stack.lisp 2014-10-30 08:11:30.000000000 +0100
@@ -33,13 +33,16 @@
(incf-pointer (call-stack-top ,stack)
,(foreign-type-size 'smoke-stack-item)))
form))
-
(defclass smoke-standard-object ()
((pointer :reader pointer
:type foreign-pointer
:initarg :pointer
:documentation "Pointer to the C++ object.")
+ (const-p :reader const-p
+ :initarg :const-p
+ :initform nil
+ :documentation "Returns true when the object is const and nil otherwise.")
#+clisp (finalizer :type list :initform (list nil))
;; We can not have a global table of objects owned by C++,
;; since then they would be always reachable from Lisp and thus
@@ -96,6 +99,8 @@
,types)
,@body))))
+(defvar *to-lisp-translations* (make-hash-table :test 'equal))
+
(defun enum-to-lisp (stack-item type)
"Returns the Lisp representation for STACK-ITEM of the basic C type TYPE."
(declare (optimize (speed 3)))
@@ -158,7 +163,6 @@
((class-p type) (class-to-lisp stack-item type))
(t (enum-to-lisp stack-item type))))
-(defvar *to-lisp-translations* (make-hash-table :test 'equal))
(defun error-no-free (object)
(error "Can not free object at ~A." object))