Remove ENUM: f and replace uses with CONSTANTs.

Fix bootstrap and load-all errors from enum classes.
db4
Erik Charlebois 2010-04-18 13:34:18 -07:00
parent 52903ee597
commit baab8c060d
18 changed files with 173 additions and 162 deletions

View File

@ -1,6 +1,6 @@
! (c)2010 Joe Groff bsd license
USING: accessors alien.c-types arrays combinators delegate fry
kernel quotations sequences words.symbol ;
kernel quotations sequences words.symbol words ;
IN: alien.enums
TUPLE: enum-c-type base-type members ;
@ -28,6 +28,12 @@ M: enum-c-type c-type-setter
C: <enum-c-type> enum-c-type
: enum>int ( enum enum-c-type -- int )
c-type-unboxer-quot call( x -- y ) ; inline
: int>enum ( int enum-c-type -- enum )
c-type-boxer-quot call( x -- y ) ; inline
<PRIVATE
: define-enum-members ( member-names -- )

View File

@ -79,9 +79,7 @@ M: pointer return-type-name to>> return-type-name CHAR: * suffix ;
[ 2array suffix! ] [ 1 + ] bi ;
: parse-enum-name ( -- name )
scan dup "f" =
[ drop f ]
[ (CREATE-C-TYPE) dup save-location ] if ;
scan (CREATE-C-TYPE) dup save-location ;
: parse-enum-base-type ( -- base-type token )
scan dup "<" =

View File

@ -8,10 +8,9 @@ IN: cocoa.application
: <NSString> ( str -- alien ) <CFString> -> autorelease ;
ENUM: f
NSApplicationDelegateReplySuccess
NSApplicationDelegateReplyCancel
NSApplicationDelegateReplyFailure ;
CONSTANT: NSApplicationDelegateReplySuccess 0
CONSTANT: NSApplicationDelegateReplyCancel 1
CONSTANT: NSApplicationDelegateReplyFailure 2
: with-autorelease-pool ( quot -- )
NSAutoreleasePool -> new [ call ] [ -> release ] bi* ; inline

View File

@ -1,7 +1,7 @@
! Copyright (C) 2008, 2010 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
USING: math kernel layouts system strings words quotations byte-arrays
alien alien.syntax arrays literals sequences ;
alien arrays literals sequences ;
IN: compiler.constants
! These constants must match vm/memory.h
@ -40,42 +40,40 @@ CONSTANT: deck-bits 18
: segment-end-offset ( -- n ) 2 bootstrap-cells ; inline
! Relocation classes
ENUM: f
rc-absolute-cell
rc-absolute
rc-relative
rc-absolute-ppc-2/2
rc-absolute-ppc-2
rc-relative-ppc-2
rc-relative-ppc-3
rc-relative-arm-3
rc-indirect-arm
rc-indirect-arm-pc
rc-absolute-2
rc-absolute-1 ;
CONSTANT: rc-absolute-cell 0
CONSTANT: rc-absolute 1
CONSTANT: rc-relative 2
CONSTANT: rc-absolute-ppc-2/2 3
CONSTANT: rc-absolute-ppc-2 4
CONSTANT: rc-relative-ppc-2 5
CONSTANT: rc-relative-ppc-3 6
CONSTANT: rc-relative-arm-3 7
CONSTANT: rc-indirect-arm 8
CONSTANT: rc-indirect-arm-pc 9
CONSTANT: rc-absolute-2 10
CONSTANT: rc-absolute-1 11
! Relocation types
ENUM: f
rt-dlsym
rt-entry-point
rt-entry-point-pic
rt-entry-point-pic-tail
rt-here
rt-this
rt-literal
rt-untagged
rt-megamorphic-cache-hits
rt-vm
rt-cards-offset
rt-decks-offset
rt-exception-handler
rt-float ;
CONSTANT: rt-dlsym 0
CONSTANT: rt-entry-point 1
CONSTANT: rt-entry-point-pic 2
CONSTANT: rt-entry-point-pic-tail 3
CONSTANT: rt-here 4
CONSTANT: rt-this 5
CONSTANT: rt-literal 6
CONSTANT: rt-untagged 7
CONSTANT: rt-megamorphic-cache-hits 8
CONSTANT: rt-vm 9
CONSTANT: rt-cards-offset 10
CONSTANT: rt-decks-offset 11
CONSTANT: rt-exception-handler 12
CONSTANT: rt-float 13
: rc-absolute? ( n -- ? )
${
rc-absolute-ppc-2/2
rc-absolute-cell
rc-absolute
rc-absolute-2
rc-absolute-1
$ rc-absolute-ppc-2/2
$ rc-absolute-cell
$ rc-absolute
$ rc-absolute-2
$ rc-absolute-1
} member? ;

View File

@ -6,14 +6,14 @@ images images.memory core-graphics.types core-foundation.utilities
opengl.gl literals ;
IN: core-graphics
ENUM: CGImageAlphaInfo
kCGImageAlphaNone
kCGImageAlphaPremultipliedLast
kCGImageAlphaPremultipliedFirst
kCGImageAlphaLast
kCGImageAlphaFirst
kCGImageAlphaNoneSkipLast
kCGImageAlphaNoneSkipFirst ;
TYPEDEF: int CGImageAlphaInfo
CONSTANT: kCGImageAlphaNone 0
CONSTANT: kCGImageAlphaPremultipliedLast 1
CONSTANT: kCGImageAlphaPremultipliedFirst 2
CONSTANT: kCGImageAlphaLast 3
CONSTANT: kCGImageAlphaFirst 4
CONSTANT: kCGImageAlphaNoneSkipLast 5
CONSTANT: kCGImageAlphaNoneSkipFirst 6
CONSTANT: kCGBitmapAlphaInfoMask HEX: 1f
CONSTANT: kCGBitmapFloatComponents 256

View File

@ -12,8 +12,19 @@ IN: unicode.breaks
<PRIVATE
! Grapheme breaks
ENUM: f Any L V T LV LVT Extend Control CR LF
SpacingMark Prepend graphemes ;
CONSTANT: Any 0
CONSTANT: L 1
CONSTANT: V 2
CONSTANT: T 3
CONSTANT: LV 4
CONSTANT: LVT 5
CONSTANT: Extend 6
CONSTANT: Control 7
CONSTANT: CR 8
CONSTANT: LF 9
CONSTANT: SpacingMark 10
CONSTANT: Prepend 11
CONSTANT: graphemes 12
: jamo-class ( ch -- class )
dup initial? [ drop L ]
@ -131,8 +142,20 @@ VALUE: word-break-table
"vocab:unicode/data/WordBreakProperty.txt" load-interval-file
to: word-break-table
ENUM: f wOther wCR wLF wNewline wExtend wFormat wKatakana wALetter wMidLetter
wMidNum wMidNumLet wNumeric wExtendNumLet words ;
CONSTANT: wOther 0
CONSTANT: wCR 1
CONSTANT: wLF 2
CONSTANT: wNewline 3
CONSTANT: wExtend 4
CONSTANT: wFormat 5
CONSTANT: wKatakana 6
CONSTANT: wALetter 7
CONSTANT: wMidLetter 8
CONSTANT: wMidNum 9
CONSTANT: wMidNumLet 10
CONSTANT: wNumeric 11
CONSTANT: wExtendNumLet 12
CONSTANT: words 13
: word-break-classes ( -- table ) ! Is there a way to avoid this?
H{

View File

@ -34,13 +34,12 @@ STRUCT: vm
: vm-field-offset ( field -- offset ) vm offset-of ; inline
ENUM: f
collect-nursery-op
collect-aging-op
collect-to-tenured-op
collect-full-op
collect-compact-op
collect-growing-heap-op ;
CONSTANT: collect-nursery-op 0
CONSTANT: collect-aging-op 1
CONSTANT: collect-to-tenured-op 2
CONSTANT: collect-full-op 3
CONSTANT: collect-compact-op 4
CONSTANT: collect-growing-heap-op 5
STRUCT: copying-sizes
{ size cell }

View File

@ -37,23 +37,22 @@ FUNCTION: HRESULT ScriptLayout (
int* piLogicalToVisual
) ;
ENUM: f
SCRIPT_JUSTIFY_NONE
SCRIPT_JUSTIFY_ARABIC_BLANK
SCRIPT_JUSTIFY_CHARACTER
SCRIPT_JUSTIFY_RESERVED1
SCRIPT_JUSTIFY_BLANK
SCRIPT_JUSTIFY_RESERVED2
SCRIPT_JUSTIFY_RESERVED3
SCRIPT_JUSTIFY_ARABIC_NORMAL
SCRIPT_JUSTIFY_ARABIC_KASHIDA
SCRIPT_JUSTIFY_ALEF
SCRIPT_JUSTIFY_HA
SCRIPT_JUSTIFY_RA
SCRIPT_JUSTIFY_BA
SCRIPT_JUSTIFY_BARA
SCRIPT_JUSTIFY_SEEN
SCRIPT_JUSTIFFY_RESERVED4 ;
CONSTANT: SCRIPT_JUSTIFY_NONE 0
CONSTANT: SCRIPT_JUSTIFY_ARABIC_BLANK 1
CONSTANT: SCRIPT_JUSTIFY_CHARACTER 2
CONSTANT: SCRIPT_JUSTIFY_RESERVED1 3
CONSTANT: SCRIPT_JUSTIFY_BLANK 4
CONSTANT: SCRIPT_JUSTIFY_RESERVED2 5
CONSTANT: SCRIPT_JUSTIFY_RESERVED3 6
CONSTANT: SCRIPT_JUSTIFY_ARABIC_NORMAL 7
CONSTANT: SCRIPT_JUSTIFY_ARABIC_KASHIDA 8
CONSTANT: SCRIPT_JUSTIFY_ALEF 9
CONSTANT: SCRIPT_JUSTIFY_HA 10
CONSTANT: SCRIPT_JUSTIFY_RA 11
CONSTANT: SCRIPT_JUSTIFY_BA 12
CONSTANT: SCRIPT_JUSTIFY_BARA 13
CONSTANT: SCRIPT_JUSTIFY_SEEN 14
CONSTANT: SCRIPT_JUSTIFFY_RESERVED4 15
STRUCT: SCRIPT_VISATTR
{ flags WORD } ;

View File

@ -406,4 +406,6 @@ CONSTANT: MSBFirst 1
! * EXTENDED WINDOW MANAGER HINTS
! *****************************************************************
ENUM: f _NET_WM_STATE_REMOVE _NET_WM_STATE_ADD _NET_WM_STATE_TOGGLE ;
CONSTANT: _NET_WM_STATE_REMOVE 0
CONSTANT: _NET_WM_STATE_ADD 1
CONSTANT: _NET_WM_STATE_TOGGLE 2

View File

@ -176,21 +176,19 @@ FUNCTION: FT_Error FT_Set_Char_Size ( face* face, FT_F26Dot6 char_width, FT_F26D
FUNCTION: FT_Error FT_Load_Char ( face* face, FT_ULong charcode, FT_Int32 load_flags ) ;
ENUM: f
FT_RENDER_MODE_NORMAL
FT_RENDER_MODE_LIGHT
FT_RENDER_MODE_MONO
FT_RENDER_MODE_LCD
FT_RENDER_MODE_LCD_V ;
CONSTANT: FT_RENDER_MODE_NORMAL 0
CONSTANT: FT_RENDER_MODE_LIGHT 1
CONSTANT: FT_RENDER_MODE_MONO 2
CONSTANT: FT_RENDER_MODE_LCD 3
CONSTANT: FT_RENDER_MODE_LCD_V 4
ENUM: f
FT_PIXEL_MODE_NONE
FT_PIXEL_MODE_MONO
FT_PIXEL_MODE_GRAY
FT_PIXEL_MODE_GRAY2
FT_PIXEL_MODE_GRAY4
FT_PIXEL_MODE_LCD
FT_PIXEL_MODE_LCD_V ;
CONSTANT: FT_PIXEL_MODE_NONE 0
CONSTANT: FT_PIXEL_MODE_MONO 1
CONSTANT: FT_PIXEL_MODE_GRAY 2
CONSTANT: FT_PIXEL_MODE_GRAY2 3
CONSTANT: FT_PIXEL_MODE_GRAY4 4
CONSTANT: FT_PIXEL_MODE_LCD 5
CONSTANT: FT_PIXEL_MODE_LCD_V 6
FUNCTION: int FT_Render_Glyph ( glyph* slot, int render_mode ) ;

View File

@ -9,15 +9,14 @@ LIBRARY: tokyocabinet
TYPEDEF: void* TCADB
ENUM: f
ADBOVOID
ADBOMDB
ADBONDB
ADBOHDB
ADBOBDB
ADBOFDB
ADBOTDB
ADBOSKEL ;
CONSTANT: ADBOVOID 0
CONSTANT: ADBOMDB 1
CONSTANT: ADBONDB 2
CONSTANT: ADBOHDB 3
CONSTANT: ADBOBDB 4
CONSTANT: ADBOFDB 5
CONSTANT: ADBOTDB 6
CONSTANT: ADBOSKEL 7
FUNCTION: TCADB* tcadbnew ( ) ;
FUNCTION: void tcadbdel ( TCADB* adb ) ;

View File

@ -27,10 +27,9 @@ CONSTANT: BDBOTSYNC 64
TYPEDEF: void* BDBCUR
ENUM: f
BDBCPCURRENT
BDBCPBEFORE
BDBCPAFTER ;
CONSTANT: BDBCPCURRENT 0
CONSTANT: BDBCPBEFORE 1
CONSTANT: BDBCPAFTER 2
FUNCTION: c-string tcbdberrmsg ( int ecode ) ;
FUNCTION: TCBDB* tcbdbnew ( ) ;

View File

@ -25,16 +25,15 @@ C-TYPE: TCRDB
! { timeout double }
! { opts int } ;
ENUM: f
TTESUCCESS
TTEINVALID
TTENOHOST
TTEREFUSED
TTESEND
TTERECV
TTEKEEP
TTENOREC ;
CONSTANT: TTEMISC 9999
CONSTANT: TTESUCCESS 0
CONSTANT: TTEINVALID 1
CONSTANT: TTENOHOST 2
CONSTANT: TTEREFUSED 3
CONSTANT: TTESEND 4
CONSTANT: TTERECV 5
CONSTANT: TTEKEEP 6
CONSTANT: TTENOREC 7
CONSTANT: TTEMISC 9999
CONSTANT: RDBTRECON 1
CONSTANT: RDBXOLCKREC 1

View File

@ -27,9 +27,8 @@ CONSTANT: TDBONOLCK 16
CONSTANT: TDBOLCKNB 32
CONSTANT: TDBOTSYNC 64
ENUM: f
TDBITLEXICAL
TDBITDECIMAL ;
CONSTANT: TDBITLEXICAL 0
CONSTANT: TDBITDECIMAL 1
CONSTANT: TDBITOPT 9998
CONSTANT: TDBITVOID 9999
@ -38,31 +37,29 @@ CONSTANT: TDBITKEEP 16777216
C-TYPE: TDBCOND
C-TYPE: TDBQRY
ENUM: f
TDBQCSTREQ
TDBQCSTRINC
TDBQCSTRBW
TDBQCSTREW
TDBQCSTRAND
TDBQCSTROR
TDBQCSTROREQ
TDBQCSTRRX
TDBQCNUMEQ
TDBQCNUMGT
TDBQCNUMGE
TDBQCNUMLT
TDBQCNUMLE
TDBQCNUMBT
TDBQCNUMOREQ ;
CONSTANT: TDBQCSTREQ 0
CONSTANT: TDBQCSTRINC 1
CONSTANT: TDBQCSTRBW 2
CONSTANT: TDBQCSTREW 3
CONSTANT: TDBQCSTRAND 4
CONSTANT: TDBQCSTROR 5
CONSTANT: TDBQCSTROREQ 6
CONSTANT: TDBQCSTRRX 7
CONSTANT: TDBQCNUMEQ 8
CONSTANT: TDBQCNUMGT 9
CONSTANT: TDBQCNUMGE 10
CONSTANT: TDBQCNUMLT 11
CONSTANT: TDBQCNUMLE 12
CONSTANT: TDBQCNUMBT 13
CONSTANT: TDBQCNUMOREQ 14
CONSTANT: TDBQCNEGATE 16777216
CONSTANT: TDBQCNOIDX 33554432
ENUM: f
TDBQOSTRASC
TDBQOSTRDESC
TDBQONUMASC
TDBQONUMDESC ;
CONSTANT: TDBQOSTRASC 0
CONSTANT: TDBQOSTRDESC 1
CONSTANT: TDBQONUMASC 2
CONSTANT: TDBQONUMDESC 3
CONSTANT: TDBQPPUT 1
CONSTANT: TDBQPOUT 2

View File

@ -12,11 +12,10 @@ IN: tokyo.alien.tcutil
LIBRARY: tokyocabinet
ENUM: f
TCDBTHASH
TCDBTBTREE
TCDBTFIXED
TCDBTTABLE ;
CONSTANT: TCDBTHASH 0
CONSTANT: TCDBTBTREE 1
CONSTANT: TCDBTFIXED 2
CONSTANT: TCDBTTABLE 3
! FIXME: on windows 64bits this isn't correct, because long is 32bits there, and time_t is int64
TYPEDEF: long tokyo_time_t

View File

@ -47,7 +47,7 @@
'(":" "::" ";" "&:" "<<" "<PRIVATE" ">>"
"ABOUT:" "AFTER:" "ALIAS:" "ALIEN:" "ARTICLE:"
"B" "BEFORE:" "BIN:"
"C:" "CALLBACK:" "C-ENUM:" "C-TYPE:" "CHAR:" "COM-INTERFACE:" "CONSTANT:" "CONSULT:" "call-next-method"
"C:" "CALLBACK:" "ENUM:" "C-TYPE:" "CHAR:" "COM-INTERFACE:" "CONSTANT:" "CONSULT:" "call-next-method"
"DEFER:"
"EBNF:" ";EBNF" "ERROR:" "EXCLUDE:"
"f" "FORGET:" "FROM:" "FUNCTION:"
@ -165,7 +165,7 @@
(defconst fuel-syntax--indent-def-starts '("" ":"
"AFTER" "BEFORE"
"C-ENUM" "COM-INTERFACE" "CONSULT"
"ENUM" "COM-INTERFACE" "CONSULT"
"FROM" "FUNCTION:"
"INTERSECTION:"
"M" "M:" "MACRO" "MACRO:"
@ -280,7 +280,7 @@
("\\_<\\(U\\)SING: \\(;\\)" (1 "<b") (2 ">b"))
("\\_<USING:\\( \\)" (1 "<b"))
("\\_<\\(C\\)-ENUM: \\(;\\)" (1 "<b") (2 ">b"))
("\\_<C-ENUM:\\( \\|\n\\)" (1 "<b"))
("\\_<ENUM:\\( \\|\n\\)" (1 "<b"))
("\\_<TUPLE: +\\w+? +< +\\w+? *\\( \\|\n\\)\\([^;]\\|$\\)" (1 "<b"))
("\\_<TUPLE: +\\w+? *\\( \\|\n\\)\\([^;<\n]\\|\\_>\\)" (1 "<b"))
("\\_<\\(SYMBOLS\\|SPECIALIZED-ARRAYS\\|SINGLETONS\\|VARIANT\\): *?\\( \\|\n\\)\\([^;\n]\\|\\_>\\)"

View File

@ -878,13 +878,11 @@ TYPEDEF: int CRYPT_KEYID_TYPE
! Internal keyset options
! (As _NONE but open for exclusive access, _CRYPT_DEFINED
! Last possible key option type, _CRYPT_DEFINED Last external keyset option)
C-ENUM: f
CRYPT_KEYOPT_NONE
CRYPT_KEYOPT_READONLY
CRYPT_KEYOPT_CREATE
CRYPT_IKEYOPT_EXCLUSIVEACCESS
CRYPT_KEYOPT_LAST
;
CONSTANT: CRYPT_KEYOPT_NONE 0
CONSTANT: CRYPT_KEYOPT_READONLY 1
CONSTANT: CRYPT_KEYOPT_CREATE 2
CONSTANT: CRYPT_IKEYOPT_EXCLUSIVEACCESS 3
CONSTANT: CRYPT_KEYOPT_LAST 4
: CRYPT_KEYOPT_LAST_EXTERNAL 3 ; inline ! = CRYPT_KEYOPT_CREATE + 1

View File

@ -24,13 +24,11 @@ IN: pdf.libhpdf
: HPDF_COMP_MASK HEX: FF ; inline
! page mode
C-ENUM: f
HPDF_PAGE_MODE_USE_NONE
HPDF_PAGE_MODE_USE_OUTLINE
HPDF_PAGE_MODE_USE_THUMBS
HPDF_PAGE_MODE_FULL_SCREEN
HPDF_PAGE_MODE_EOF
;
CONSTANT: HPDF_PAGE_MODE_USE_NONE 0
CONSTANT: HPDF_PAGE_MODE_USE_OUTLINE 1
CONSTANT: HPDF_PAGE_MODE_USE_THUMBS 2
CONSTANT: HPDF_PAGE_MODE_FULL_SCREEN 3
CONSTANT: HPDF_PAGE_MODE_EOF 4
: error-code ( -- seq ) {
{ HEX: 1001 "HPDF_ARRAY_COUNT_ERR\nInternal error. The consistency of the data was lost." }