]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/alien/enums/enums.factor
factor: add newlines to .factor files
[factor.git] / basis / alien / enums / enums.factor
index b797ac8f000e7ce0b1a0e149cb6cf66211783738..e9f9d44ec645648a0afa140db5090494874390b8 100644 (file)
@@ -33,11 +33,6 @@ M: enum-c-type c-type-setter
 : define-enum-value ( class value -- )
     enum>number "enum-value" set-word-prop ;
 
-PREDICATE: enum-value < word "enum-value" word-prop >boolean ;
-
-M: enum-value reset-word
-    [ call-next-method ] [ "enum-value" remove-word-prop ] bi ;
-
 <PRIVATE
 
 : define-enum-members ( members -- )
@@ -61,11 +56,12 @@ PRIVATE>
 PREDICATE: enum-c-type-word < c-type-word
     "c-type" word-prop enum-c-type? ;
 
-M: enum-c-type-word subwords
-    lookup-c-type members>> keys ;
-
 : enum>values ( enum -- seq )
-    lookup-c-type members>> values ;
+    "c-type" word-prop members>> values ;
 
 : enum>keys ( enum -- seq )
-    lookup-c-type members>> keys [ name>> ] map ;
+    "c-type" word-prop members>> keys [ name>> ] map ;
+
+: values>enum ( values enum -- seq )
+    '[ _ number>enum ] map ; inline
+