以编程方式获取方法内对象的执行顺序?

uno*_*nom 4 smalltalk squeak pharo

我有这段代码(取自ProfStef,但可以是任何类的任何方法).我如何以编程方式获取Squeak/Pharo执行对象的顺序.

知道从smalltalk文档执行的顺序,但如果我在我正在构建的应用程序中需要这些信息该怎么办.基本上使用它来构建执行映射,以显示代码的外观和执行方式之间的区别.

PS.我需要大规模地完成这项工作......我不能手工完成.

tutorial: aTutorialClass lesson: aSelector 
    | tutorial | 
    tutorial := aTutorialClass new. 
    self player tutorial: tutorial. 
    self tutorial: aTutorialClass lessonAt: (tutorial indexOfLesson: aSelector).
Run Code Online (Sandbox Code Playgroud)

输出将是一个类似于此的树

这个东西

另一个对象[有点像这个]

finalobject [另一个对象[做这件事]].//这就是原始代码的样子.

cam*_*uni 5

查看我们的AST解释器,它将为您提供对Smalltalk代码执行的细粒度控制.

使用底层AST作为执行格式,将当前执行的代码映射回源代码非常容易.