From ae4b284006a6a8acfea69536f97fb5763af0a981 Mon Sep 17 00:00:00 2001 From: Jeremy Hughes Date: Mon, 6 Jul 2009 11:26:17 +1200 Subject: [PATCH] Moved two words from alien.inline to alien.inline.types --- basis/alien/inline/inline.factor | 13 ------------- basis/alien/inline/types/types.factor | 12 ++++++++++++ 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/basis/alien/inline/inline.factor b/basis/alien/inline/inline.factor index 9cb9027e70..8337c44649 100644 --- a/basis/alien/inline/inline.factor +++ b/basis/alien/inline/inline.factor @@ -14,23 +14,10 @@ SYMBOL: library-is-c++ SYMBOL: compiler-args SYMBOL: c-strings -: annotate-effect ( types effect -- types effect' ) - [ in>> ] [ out>> ] bi [ - zip - [ over pointer-to-primitive? [ ">" prepend ] when ] - assoc-map unzip - ] dip ; - - : function-types-effect ( -- function types effect ) scan scan swap ")" parse-tokens [ "(" subseq? not ] filter swap parse-arglist ; -: types-effect>params-return ( types effect -- params return ) - [ in>> zip ] - [ nip out>> dup length 0 > [ first ] [ drop "void" ] if ] - 2bi ; - : arg-list ( types -- params ) CHAR: a swap length CHAR: a + [a,b] [ 1string ] map ; diff --git a/basis/alien/inline/types/types.factor b/basis/alien/inline/types/types.factor index 4eaade0875..37b58a0b59 100644 --- a/basis/alien/inline/types/types.factor +++ b/basis/alien/inline/types/types.factor @@ -32,3 +32,15 @@ MEMO: resolved-primitives ( -- seq ) : pointer-to-primitive? ( type -- ? ) { [ pointer? ] [ type-sans-pointer primitive-type? ] } 1&& ; + +: types-effect>params-return ( types effect -- params return ) + [ in>> zip ] + [ nip out>> dup length 0 > [ first ] [ drop "void" ] if ] + 2bi ; + +: annotate-effect ( types effect -- types effect' ) + [ in>> ] [ out>> ] bi [ + zip + [ over pointer-to-primitive? [ ">" prepend ] when ] + assoc-map unzip + ] dip ;