File: versions.st

package info (click to toggle)
steptalk 0.10.0%2Bgit20200629-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,732 kB
  • sloc: objc: 12,182; yacc: 400; makefile: 40; sh: 34; csh: 4; awk: 3; lisp: 3
file content (34 lines) | stat: -rw-r--r-- 932 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
" Print versions of all (public) GNUstep classes 

    Use: 
        > stexec versions.st
    
    To include AppKit classes:
        > stexec -environment AppKit versions.st

"

| classes versions names |

    classes := Environment objectDictionary allValues.

    classes := classes select: [ :class | class isClass].
    classes := classes select: [ :class | class respondsToSelector:#className].
    classes := classes select: [ :class | class respondsToSelector:#version].

    versions := NSMutableDictionary dictionary.
    
    classes do: 
    [ :class | 
        versions setObject: (class version) 
                    forKey: (class className).
    ].
                                       

    names := versions allKeys sortedArrayUsingSelector: #compare:.
    
    names do: 
    [ :key | 
        Transcript showLine: ( key, ' ', 
                                ((versions objectForKey:key) stringValue)) 
    ].