Object subclass: B [
bar [ ^'B >> bar' ]
]
B class extend [
foo [ ^'B class >> foo' ]
bar [ ^'B class >> bar' ]
]
B subclass: C [
bar [ ^'C >> bar' ]
]
C class extend [
bar [ ^'C class >> bar' ]
]
C foo displayNl.
"((C class >> #foo) valueWithReceiver: C withArguments: #()) displayNl. => error: key not found "
C bar displayNl.
((B class >> #bar) valueWithReceiver: C withArguments: #()) displayNl.
"C new foo displayNl. => error: did not understand #foo "
C new bar displayNl.
((B >> #bar) valueWithReceiver: C new withArguments: #()) displayNl.
T2JqZWN0IHN1YmNsYXNzOiBCIFsKCWJhciBbIF4nQiA+PiBiYXInIF0KXQoKQiBjbGFzcyBleHRlbmQgWwoJZm9vIFsgXidCIGNsYXNzID4+IGZvbycgXQoJYmFyIFsgXidCIGNsYXNzID4+IGJhcicgXQpdCgpCIHN1YmNsYXNzOiBDIFsKCWJhciBbIF4nQyA+PiBiYXInIF0KXQoKQyBjbGFzcyBleHRlbmQgWwoJYmFyIFsgXidDIGNsYXNzID4+IGJhcicgXQpdCgpDIGZvbyBkaXNwbGF5TmwuCiIoKEMgY2xhc3MgPj4gI2ZvbykgdmFsdWVXaXRoUmVjZWl2ZXI6IEMgd2l0aEFyZ3VtZW50czogIygpKSBkaXNwbGF5TmwuID0+IGVycm9yOiBrZXkgbm90IGZvdW5kICIKQyBiYXIgZGlzcGxheU5sLgooKEIgY2xhc3MgPj4gI2JhcikgdmFsdWVXaXRoUmVjZWl2ZXI6IEMgd2l0aEFyZ3VtZW50czogIygpKSBkaXNwbGF5TmwuCiJDIG5ldyBmb28gZGlzcGxheU5sLiA9PiBlcnJvcjogZGlkIG5vdCB1bmRlcnN0YW5kICNmb28gIgpDIG5ldyBiYXIgZGlzcGxheU5sLgooKEIgPj4gI2JhcikgdmFsdWVXaXRoUmVjZWl2ZXI6IEMgbmV3IHdpdGhBcmd1bWVudHM6ICMoKSkgZGlzcGxheU5sLg==