[squeak-dev] How to find a CompiledBlock's parse node in a CompiledMethod's parse tree?

Marcel Taeumel marcel.taeumel at hpi.de
Tue Dec 14 13:19:34 UTC 2021


Hi all --

Decompilation for instances of CompiledBlock is currently wrong. It just treats the CompiledMethod where the CompiledBlock is embedded.

Compare the following two examples:

[3+4] method "i.e., compiledCode" decompile decompileString.
[3+4] decompile decompileString.

Well, first, the message #method on FullBlockClosure  is misleading because we are looking for the compiled-code object, which is an instance of CompiledBlock here.

Anyway, I then tried to understand how to make Decompiler >> decompileBlock: work for CompiledBlock and not just FullBlockClosure. It turns out, that there is no #pc set in any decompiled parse node.

How to find a CompiledBlock's parse node in a CompiledMethod's parse tree?


Best,
Marcel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20211214/c4b70e52/attachment.html>


More information about the Squeak-dev mailing list