2015-09-06 1 views
4

Я экспериментирую в Pharo, и мне было интересно, как достигается класс переменной экземпляра.Pharo Smalltalk - Как переменная область в объекте достигнута?

К тому же переменные экземпляра могут быть доступны всеми методами этого экземпляра класса, а также переменные экземпляра класса могут быть доступны всеми методами класса и т. Д.

Где глубина этой области определяется в коде? Можно ли увидеть, где и как это происходит, Smalltalk полностью объектно ориентирован?

+0

Вы пытались посмотреть, как доступны переменные экземпляра? Это должно быть достаточно очевидным, как только вы узнаете «откуда происходят переменные экземпляра». ;-) –

+0

Я буквально понятия не имею, где искать, концептуально, так как это поведение, которое пронизывает классы и экземпляры, я думаю, что это может быть определено где-то в ProtoObject, но я был бы признателен за точные указания места (ов) – unmircea

ответ

2

Предполагаю, что вы находитесь в Pharo> = 4.0, и в этом случае у вас есть так называемый OpalCompiler.

В OpalCompiler, переменная область видимости овеществленные (см OCAbstractScope и подклассы), объем используемые в процессе семантического анализа абстрактного синтаксического дерева (см OCASTSemanticAnalyzer).

Теперь у вас есть точка входа и должна следовать сообщениям отправителей, класса refs, переменной экземпляра refs ... из этой начальной точки.

Смежные вопросы