mirror of
https://github.com/gnustep/libs-steptalk.git
synced 2025-02-23 11:31:01 +00:00
35 lines
932 B
Smalltalk
35 lines
932 B
Smalltalk
|
" 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))
|
||
|
].
|