Skip to content

Lots of strangely packaged extensions #19378

@guillep

Description

@guillep

There a lots of extensions that override methods belonging to another package.

ms := Smalltalk allClassesAndTraits gather: #methods.
es := ms select: #isExtension.

senders := Dictionary new.

es := es select: [ :e | | esenders |
	esenders := senders at: e selector ifAbsentPut: [ e selector senders ].
	esenders anySatisfy: [ :s | s package ~= e package ]
].

es select: [ :e | e overriddenMethods anySatisfy: [ :overridden | overridden package ~= e package ] ]

This yields a set of 169 extension methods.

For example, see asInteger in Boolean and subclasses.

Image

Here, Boolean>>asInteger is in the kernel but redefined from FFI.
In this case, we should package all those three methods together in FFI.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions