Skip to content

Commit

Permalink
Use CFFI's built-in bitfield grovelling, rather than redefining it
Browse files Browse the repository at this point in the history
  • Loading branch information
Pixie committed Jul 5, 2013
1 parent a006b68 commit 5ee62e9
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 68 deletions.
1 change: 0 additions & 1 deletion burgled-batteries.asd
Expand Up @@ -44,7 +44,6 @@ in #p\"grovel-include-dir.lisp\".
:serial t
:components
((:file "packages")
#-burgled-batteries.guess-not-grovel (:file "grovel-bitfields")
#-burgled-batteries.guess-not-grovel (:file "grovel-include-dir")
#-burgled-batteries.guess-not-grovel (grovel-file "grovel")
#+burgled-batteries.guess-not-grovel (:file "grovel-guess")
Expand Down
26 changes: 0 additions & 26 deletions grovel-bitfields.lisp

This file was deleted.

82 changes: 41 additions & 41 deletions grovel.lisp
Expand Up @@ -36,53 +36,53 @@

;; Type Flags
(bitfield (type-flags :base-type :long)
(:have-get-char-buffer "Py_TPFLAGS_HAVE_GETCHARBUFFER")
(:have-sequence-in "Py_TPFLAGS_HAVE_SEQUENCE_IN")
(:gc "Py_TPFLAGS_GC")
(:have-in-place-ops "Py_TPFLAGS_HAVE_INPLACEOPS")
(:check-types "Py_TPFLAGS_CHECKTYPES")
(:have-rich-compare "Py_TPFLAGS_HAVE_RICHCOMPARE")
(:have-weak-refs "Py_TPFLAGS_HAVE_WEAKREFS")
(:have-iter "Py_TPFLAGS_HAVE_ITER")
(:have-class "Py_TPFLAGS_HAVE_CLASS")
(:heap-type "Py_TPFLAGS_HEAPTYPE")
(:base-type "Py_TPFLAGS_BASETYPE")
(:ready "Py_TPFLAGS_READY")
(:readying "Py_TPFLAGS_READYING")
(:have-gc "Py_TPFLAGS_HAVE_GC")
(:have-stackless-extension "Py_TPFLAGS_HAVE_STACKLESS_EXTENSION")
(:have-index "Py_TPFLAGS_HAVE_INDEX")
(:have-version-tag "Py_TPFLAGS_HAVE_VERSION_TAG")
(:valid-version-tag "Py_TPFLAGS_VALID_VERSION_TAG")
(:is-abstract "Py_TPFLAGS_IS_ABSTRACT")
(:have-new-buffer "Py_TPFLAGS_HAVE_NEWBUFFER")
(:int-subclass "Py_TPFLAGS_INT_SUBCLASS")
(:long-subclass "Py_TPFLAGS_LONG_SUBCLASS")
(:list-subclass "Py_TPFLAGS_LIST_SUBCLASS")
(:tuple-subclass "Py_TPFLAGS_TUPLE_SUBCLASS")
(:string-subclass "Py_TPFLAGS_STRING_SUBCLASS")
(:unicode-subclass "Py_TPFLAGS_UNICODE_SUBCLASS")
(:dict-subclass "Py_TPFLAGS_DICT_SUBCLASS")
(:base-exception-subclass "Py_TPFLAGS_BASE_EXC_SUBCLASS")
(:type-subclass "Py_TPFLAGS_TYPE_SUBCLASS")
(:default-external "Py_TPFLAGS_DEFAULT_EXTERNAL")
(:default-core "Py_TPFLAGS_DEFAULT_CORE")
(:default "Py_TPFLAGS_DEFAULT"))
((:have-get-char-buffer "Py_TPFLAGS_HAVE_GETCHARBUFFER"))
((:have-sequence-in "Py_TPFLAGS_HAVE_SEQUENCE_IN"))
((:gc "Py_TPFLAGS_GC"))
((:have-in-place-ops "Py_TPFLAGS_HAVE_INPLACEOPS"))
((:check-types "Py_TPFLAGS_CHECKTYPES"))
((:have-rich-compare "Py_TPFLAGS_HAVE_RICHCOMPARE"))
((:have-weak-refs "Py_TPFLAGS_HAVE_WEAKREFS"))
((:have-iter "Py_TPFLAGS_HAVE_ITER"))
((:have-class "Py_TPFLAGS_HAVE_CLASS"))
((:heap-type "Py_TPFLAGS_HEAPTYPE"))
((:base-type "Py_TPFLAGS_BASETYPE"))
((:ready "Py_TPFLAGS_READY"))
((:readying "Py_TPFLAGS_READYING"))
((:have-gc "Py_TPFLAGS_HAVE_GC"))
((:have-stackless-extension "Py_TPFLAGS_HAVE_STACKLESS_EXTENSION"))
((:have-index "Py_TPFLAGS_HAVE_INDEX"))
((:have-version-tag "Py_TPFLAGS_HAVE_VERSION_TAG"))
((:valid-version-tag "Py_TPFLAGS_VALID_VERSION_TAG"))
((:is-abstract "Py_TPFLAGS_IS_ABSTRACT"))
((:have-new-buffer "Py_TPFLAGS_HAVE_NEWBUFFER"))
((:int-subclass "Py_TPFLAGS_INT_SUBCLASS"))
((:long-subclass "Py_TPFLAGS_LONG_SUBCLASS"))
((:list-subclass "Py_TPFLAGS_LIST_SUBCLASS"))
((:tuple-subclass "Py_TPFLAGS_TUPLE_SUBCLASS"))
((:string-subclass "Py_TPFLAGS_STRING_SUBCLASS"))
((:unicode-subclass "Py_TPFLAGS_UNICODE_SUBCLASS"))
((:dict-subclass "Py_TPFLAGS_DICT_SUBCLASS"))
((:base-exception-subclass "Py_TPFLAGS_BASE_EXC_SUBCLASS"))
((:type-subclass "Py_TPFLAGS_TYPE_SUBCLASS"))
((:default-external "Py_TPFLAGS_DEFAULT_EXTERNAL"))
((:default-core "Py_TPFLAGS_DEFAULT_CORE"))
((:default "Py_TPFLAGS_DEFAULT")))

;; Method Call Flags
(bitfield method-convention-flags
;; calling convention
(:positional-arguments "METH_VARARGS")
(:keyword-arguments "METH_KEYWORDS")
(:mixed-arguments "METH_KEYWORDS | METH_VARARGS")
(:no-arguments "METH_NOARGS")
(:object-method "METH_O")
((:positional-arguments "METH_VARARGS"))
((:keyword-arguments "METH_KEYWORDS"))
((:mixed-arguments "METH_KEYWORDS | METH_VARARGS"))
((:no-arguments "METH_NOARGS"))
((:object-method "METH_O"))
;; binding convention
(:class-binding "METH_CLASS")
(:static-binding "METH_STATIC")
((:class-binding "METH_CLASS"))
((:static-binding "METH_STATIC"))
;; replace existing definition
(:coexist "METH_COEXIST")
(:replace-existing "METH_COEXIST"))
((:coexist "METH_COEXIST"))
((:replace-existing "METH_COEXIST")))

;; Member Type Flags
(constantenum member-type
Expand Down

0 comments on commit 5ee62e9

Please sign in to comment.