class & type size (and some more exports)
Sat Jan 23 20:45:41 CET 2010 Tobias Rautenkranz <tobias@rautenkranz.ch>
* class & type size (and some more exports)
hunk ./src/objects/class.lisp 33
+(defun class-size (smoke-class)
+ (class-slot-value smoke-class 'size))
+
hunk ./src/objects/class.lisp 62
+(defun copy-constructor-p (class)
+ (/= 0 (get-class-flag class :copy-constructor)))
+
hunk ./src/objects/stack.lisp 114
- (error "Do not know how to convert the type ~A to Lisp." type)))
+ (prog1 (foreign-slot-value stack-item 'smoke-stack-item 'voidp)
+ (cerror "Return the pointer"
+ "Do not know how to convert the type ~A to Lisp." type))))
hunk ./src/objects/type.lisp 142
+;; Return the cffi keyword for the type
+(defun type-foreign-keyword (smoke-type)
+ (intern (nsubstitute #\- #\ (nstring-upcase (name smoke-type)))
+ :keyword))
+
+(defun type-size (smoke-type)
+ (if (class-p smoke-type)
+ (class-size (get-class smoke-type))
+ (foreign-type-size (type-foreign-keyword smoke-type))))
+
hunk ./src/package.lisp 16
- (:export #:init
- #:get-smoke-variable-for-pointer
+ (:export #:call
+ #:c-integer
hunk ./src/package.lisp 19
- #:make-smoke-classes
- #:eval-startup
- [_$_]
- #:delete-object
- #:smoke-call
- #:call
-
- #:name
+ #:class-p
+ #:class-size
+ #:const-p
hunk ./src/package.lisp 23
- #:smoke-type=
+ #:name
+ #:pointer
+ #:pointer-p
+ #:size
+ #:smoke
+ #:stack-p
+ #:type-foreign-keyword
+ #:type-id
+ #:type-size
+ #:virtual-destructor-p
hunk ./src/package.lisp 34
+ #:convert-argument
hunk ./src/package.lisp 39
+ #:*to-lisp-translations*
+
hunk ./src/package.lisp 42
- #:make-cleanup-pointer
+ #:define-smoke-module
+
+ #:define-takes-ownership
+ #:delete-object
+ #:remove-object
+
+ #:eval-startup
+
+ #:get-smoke-variable-for-pointer
+ #:init
+ #:object-to-lisp
+
hunk ./src/package.lisp 55
+ #:make-cleanup-pointer
hunk ./src/package.lisp 57
- #:const-p
- #:pointer
- #:define-smoke-module
- #:define-takes-ownership
+ #:make-smoke-classes
+ #:make-smoke-type
+ #:no-applicable-cxx-method
+ #:smoke-call
+ #:upcast
+
+ #:smoke-standard-object
+ #:smoke-type
+ #:smoke-type=
hunk ./src/smoke-to-clos.lisp 169
- ;; FIXME when loading the Lisp image we no longer need to
- ;; call #'ensure-class, but the class-map needs still
+ ;; FIXME when loading the Lisp image we no longer need
+ ;; to call #'ensure-class, but the class-map needs still