我正在尝试#new
覆盖MyObject
. 问题是当文本被编译时,局部变量disp
和oldNew
分别更改为t1
和t2
(我使用的是 Squeak 4.3),然后它不能发送oldNew
到self
.
我可以更改他们的名字,但我不确定这是个好主意。这是我所拥有的基本概述:
MyObject class methodDict at: #new put:
(Object compilerClass new
compile: 'new
| disp oldNew |
oldNew := MyObject class methodDict at: #new.
disp := Dispatcher new.
^disp xxxViewedObject: self oldNew'
in: MyObject
notifying: nil
ifFail: []) generate
我不是 100% 确定我正在做的事情是否是正确的方法,所以欢迎其他想法。
编辑:好的,所以我现在意识到它正在寻找中oldNew
的消息MyObject
,但是我该如何运行编译的方法?