ObjectsAsMethods

Summary: Allow any objects to act as a 'compiled method'
Author: Andreas Raab
Owner: Andreas Raab (ar)
Co-maintainers: <None>
Categories:
Homepage:
PackageInfo name: <Not entered>
RSS feed:

Description:

Nothing for the faint-hearted. This package is a VM modification which allows
arbitrary objects to 'act' like CompiledMethods. In other words, if you want
to have some object to act like a method you merely add it to the appropriate
method dictionary, like in:

Object addSelector: #foo:bar: withMethod: FooBarAlgorithm.

When you now say something like:

someObject foo: 42 bar: 'mumble'.

the special message #run:with:in: will be sent to FooBarAlgorithm so you could
handle it like this:

FooBarAlgorithm classrun: originalSelector with: argsArray in: aReceiver
"Run the FooBarAlgorithm when invoked via originalSelector from aReceiver.
argsArray contains the arguments passed along with the original invokation."

Pretty cool, eh? Needless to say, the package requires a new VM. Without it,
the supplied tests will horribly crash your system.


Releases


Back