]> gitweb.factorcode.org Git - factor.git/blob - extra/tools/deploy/shaker/strip-cocoa.factor
Merge branch 'master' of git://factorcode.org/git/factor
[factor.git] / extra / tools / deploy / shaker / strip-cocoa.factor
1 USING: cocoa cocoa.messages cocoa.application cocoa.nibs
2 assocs namespaces kernel words compiler.units sequences
3 ui ui.cocoa ;
4
5 "stop-after-last-window?" get
6 global [
7     stop-after-last-window? set
8
9     [ "MiniFactor.nib" load-nib ] cocoa-init-hook set-global
10
11     ! Only keeps those methods that we actually call
12     sent-messages get super-sent-messages get assoc-union
13     objc-methods [ assoc-intersect ] change
14
15     sent-messages get
16     super-sent-messages get
17     [ keys [ objc-methods get at dup ] H{ } map>assoc ] bi@
18     super-message-senders [ assoc-intersect ] change
19     message-senders [ assoc-intersect ] change
20
21     sent-messages off
22     super-sent-messages off
23
24     alien>objc-types off
25     objc>alien-types off
26
27     ! We need this for strip-stack-traces to work fully
28     { message-senders super-message-senders }
29     [ get values compile ] each
30 ] bind