Closed arakov closed 3 years ago
A code example:
Decorator2
{
target;
constructor(target)
{
this target := target
}
generic()
{
console.print("dynamically decorating ");
__received(target)
}
generic cast()
{
var type := __received.__getFirstSignatureMember();
var proxyType := type.__inheritProxy();
var proxy := proxyType.__newProxy(self);
var n := proxy.toPrintable();
^ __received(proxy);
}
}
done
To support dynamic interfaces we have to be able to handle all typecast messages