我在Pharo进行实验,我想知道如何实现类,实例变量范围。
更重要的是,实例变量可以通过该类实例的所有方法访问,类实例变量也可以通过类的所有方法访问,等等。
此范围的深度在代码中定义在哪里?可以看出这发生在何处以及如何发生,Smalltalk是完全面向对象的吗?
答案 0 :(得分:2)
我认为你在Pharo> = 4.0,在这种情况下你有所谓的OpalCompiler
。
在OpalCompiler
中,变量范围被确定(参见OCAbstractScope
和子类),在抽象语法树的语义分析期间使用范围(参见OCASTSemanticAnalyzer
)。
您现在有一个入口点,应该从这个起点开始跟踪消息发送者,类引用,实例变量引用,....