Fix class-map image loading and use the new static smoke methods.
src/objects/method.lisp
Sun Jan 17 22:04:08 CET 2010 Tobias Rautenkranz <tobias@rautenkranz.ch>
* Fix class-map image loading and use the new static smoke methods.
indClass() and isDerivedFrom() are now static (r1076132 and also in KDE 4.4).
--- old-smoke/src/objects/method.lisp 2014-10-30 08:08:43.000000000 +0100
+++ new-smoke/src/objects/method.lisp 2014-10-30 08:08:43.000000000 +0100
@@ -17,7 +17,8 @@
(if (or (null-pointer-p (smoke-module-pointer
(smoke-method-smoke smoke-method)))
(null-pointer-p (smoke-method-pointer smoke-method)))
- (call-next-method)
+ (print-unreadable-object (smoke-method stream :type t)
+ (princ "no method" stream))
(print-unreadable-object (smoke-method stream :type t)
(princ (method-declaration smoke-method) stream))))
@@ -136,7 +137,8 @@
"public"))
(defun modifiers (method)
- (format nil "~A~:[~; static~]" (access method) (static-p method)))
+ (format nil "~:[~;virtual ~]~A~:[~; static~]"
+ (virtual-p method) (access method) (static-p method)))
(defun return-type (method)
"Returns the return type of METHOD."
@@ -209,6 +211,10 @@
"Returns T when METHOD is internal and NIL otherwise."
(/= 0 (get-method-flag method :internal)))
+(defun virtual-p (method)
+ "Returns T when METHOD is internal and NIL otherwise."
+ (/= 0 (get-method-flag method :virtual)))
+
(defmethod get-class ((method smoke-method))
(make-smoke-class-from-id
(smoke-method-smoke method)