Pharo Smalltalk – 如何实现Object中的变量范围?

我在Pharo进行实验,我想知道如何实现类,实例变量范围.

更重要的是,实例变量可以通过类的该实例的所有方法访问,类实例变量也可以通过类的所有方法访问,依此类推.

这个范围的深度在代码中定义在哪里?可以看出Smalltalk完全面向对象的位置和方式吗?

最佳答案 我认为你在Pharo> = 4.0,在这种情况下你有所谓的OpalCompiler.

在OpalCompiler中,变量范围是有效的(参见OCAbstractScope和子类),在抽象语法树的语义分析期间使用的范围(参见OCASTSemanticAnalyzer).

你现在有一个入口点,应该从这个起点开始跟踪消息发送者,类refs,实例变量refs …….

点赞