Merge branch 'gtk' of git://github.com/Blei/factor

db4
Anton Gorenko 2010-07-17 14:17:47 +06:00
commit 9c4e1ceb97
1 changed files with 18 additions and 4 deletions

View File

@ -88,11 +88,25 @@ SYMBOL: namespace-PREFIX
[ load-parameter ]
} cleave ;
: load-parameters ( xml callable -- callable )
: throws-parameter ( -- parameter )
parameter new
"error" >>name
"in" >>direction
"none" >>transfer-ownership
"GError**" >>c-type
"GLib.Error" full-type-name>type >>type ;
: extract-parameters ( xml -- parameters )
"parameters" tag-named "parameter" tags-named
[ xml>parameter ] map ;
: load-parameters ( callable xml -- callable )
[
"parameters" tag-named "parameter" tags-named
[ xml>parameter ] map
dup { f } tail? [ but-last [ t >>varargs? ] dip ] when
[
extract-parameters
dup { f } tail? [ but-last [ t >>varargs? ] dip ] when
]
[ "throws" attr "1" = [ throws-parameter suffix ] when ] bi
>>parameters
]
[ "return-value" tag-named xml>return >>return ] bi ;