From: Erik Charlebois Date: Sun, 18 Apr 2010 20:34:18 +0000 (-0700) Subject: Remove ENUM: f and replace uses with CONSTANTs. X-Git-Tag: 0.97~4670^2~97 X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=commitdiff_plain;h=baab8c060d1eeff8e7683e6132c604d2c0bda15f Remove ENUM: f and replace uses with CONSTANTs. Fix bootstrap and load-all errors from enum classes. --- diff --git a/basis/alien/enums/enums.factor b/basis/alien/enums/enums.factor index bd508df075..97b694f890 100644 --- a/basis/alien/enums/enums.factor +++ b/basis/alien/enums/enums.factor @@ -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>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 + > 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 "<" = diff --git a/basis/cocoa/application/application.factor b/basis/cocoa/application/application.factor index fc5d2baccc..db1eefca14 100644 --- a/basis/cocoa/application/application.factor +++ b/basis/cocoa/application/application.factor @@ -8,10 +8,9 @@ IN: cocoa.application : ( str -- alien ) -> 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 diff --git a/basis/compiler/constants/constants.factor b/basis/compiler/constants/constants.factor index 7d8ef4791b..2fdf814521 100644 --- a/basis/compiler/constants/constants.factor +++ b/basis/compiler/constants/constants.factor @@ -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? ; diff --git a/basis/core-graphics/core-graphics.factor b/basis/core-graphics/core-graphics.factor index 1e797a3329..d921789cb0 100644 --- a/basis/core-graphics/core-graphics.factor +++ b/basis/core-graphics/core-graphics.factor @@ -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 diff --git a/basis/unicode/breaks/breaks.factor b/basis/unicode/breaks/breaks.factor index f330cdb85c..13c7d1ac79 100644 --- a/basis/unicode/breaks/breaks.factor +++ b/basis/unicode/breaks/breaks.factor @@ -12,8 +12,19 @@ IN: unicode.breaks >" "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")) ("\\_b")) - ("\\_\\)" (1 "\\)" diff --git a/unmaintained/cryptlib/libcl/libcl.factor b/unmaintained/cryptlib/libcl/libcl.factor index 02bd38d045..e2b13e8cb1 100644 --- a/unmaintained/cryptlib/libcl/libcl.factor +++ b/unmaintained/cryptlib/libcl/libcl.factor @@ -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 diff --git a/unmaintained/pdf/libhpdf/libhpdf.factor b/unmaintained/pdf/libhpdf/libhpdf.factor index f01feb494d..49e02d4f8f 100644 --- a/unmaintained/pdf/libhpdf/libhpdf.factor +++ b/unmaintained/pdf/libhpdf/libhpdf.factor @@ -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." }