Make integer constants return an integer instead of an enum (e,g.: qt:graphics-item.+user-type+).
Sun Aug 30 15:51:40 CEST 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
* Make integer constants return an integer instead of an enum (e,g.: qt:graphics-item.+user-type+).
diff -rN -u old-smoke/src/smoke-to-clos.lisp new-smoke/src/smoke-to-clos.lisp
--- old-smoke/src/smoke-to-clos.lisp 2014-10-30 07:05:52.000000000 +0100
+++ new-smoke/src/smoke-to-clos.lisp 2014-10-30 07:05:52.000000000 +0100
@@ -8,20 +8,23 @@
"Qt")
(lispify (concatenate 'string "+" (name method)
"+")
- package)
+ package)
(lispify (concatenate 'string
(name (get-class method))
".+"
(name method) "+")
- package))))
+ package))))
(values
- `(define-constant ,symbol
- (make-instance 'enum
- :value ,(enum-call method)
- :type (make-instance 'smoke-type
- :id ,(id (return-type method))
- :smoke ,smoke))
- :test #'enum=)
+ (if (= 8 (type-id (return-type method)))
+ `(define-constant ,symbol ;; a long not really an enum.
+ ,(enum-call method))
+ `(define-constant ,symbol
+ (make-instance 'enum
+ :value ,(enum-call method)
+ :type (make-instance 'smoke-type
+ :id ,(id (return-type method))
+ :smoke ,smoke))
+ :test #'enum=))
symbol)))
(defun static-method-symbol (package method)