[Pharo-dev] Old ClassBuilder remove!

Stéphane Ducasse stephane.ducasse at inria.fr
Sat Nov 23 11:44:41 EST 2013


sweet queries :)

>> Then we can now have more compact versions of 
> 
> FreeTypeSettings LabelMorph MorphTreeNodeMorph MorphTreeListManager ThemeSettings MultistateButtonMorph PharoUserPermissions SimpleHierarchicalListMorph Nautilus class SpecTreeColumn PluggableIconListMorph MorphTreeMorph Workspace CompositionScanner Paragraph MethodOveridesAction HandMorph TextComposer ScrollBar NECContext MultiByteFileStream NewValueHolder DynamicClassGroup SearchMorph NautilusHistoryEntry PluggableTextFieldMorph PluggableListMorph TableLayoutProperties DynamicGroup DropListMorph GradientFillStyle PackageTreeNautilus PluggableTextMorphWithLimits NECUntypedModel BalloonEngine MetacelloPharo30Platform SystemWindow NautilusWindow NECPreferences class EditorFindReplaceDialogWindow GoBackStringMorph NautilusHistoryEntryWithSourceCode MCCacheRepository PluggableButtonMorph AlphaImageMorph PluggableTextMorph RxMatcher MorphExtension TextMorphForFieldView MorphTreeColumn FindReplaceService CheckboxMorph TextMorphForEditView IndentingListItemMorph ControlButtonMorph CheckboxButtonMorph
> 
> with multiple booleans mapped to one instVar
> 
> 
> |set|
> set := IdentitySet new.
> Object allSubclasses do: [ :aClass |
> 	|varSize coll nr candidate |
> 	candidate := false.
> 	varSize := aClass instSize.
> 	coll := aClass allInstances.
> 	nr := 10 min: coll size.
> 	(coll first: nr) do: [ :anInstance |
> 		|value nrBoolean| 
> 		nrBoolean := 0.
> 		1 to: varSize do: [ :varIndex |
> 			value := anInstance instVarAt: varIndex.
> 			value class = True ifTrue: [ nrBoolean := nrBoolean + 1  ].
> 			value class = False ifTrue: [ nrBoolean := nrBoolean + 1  ]].
> 		nrBoolean >1 ifTrue: [ candidate := true ]   ].
> 	candidate ifTrue: [ set add: aClass ]].
> set.
> 
> 





More information about the Pharo-dev mailing list