[squeak-dev] Decompilation problem
Yoshiki Ohshima
Yoshiki.Ohshima at acm.org
Thu Apr 12 22:09:29 UTC 2012
I noticed that when I debug grammar written in OMeta2/Squeak, there is
a problem with some particular methods. For example, I load
OMeta2-preload and -postload, and do:
(OMeta2 compiledMethodAt: #token) decompileWithTemps
I get something like:
------------------------------------
token
| t |
^ true
ifTrue: [_r1 := self apply: #anything.
self apply: #spaces.
self apply: #seq withArgs: {_r1}]
------------------------------------
Debugger uses this to obtain the source code and then it trys to parse
it to get the source map. But "_r1" is not a valid variable name so
this process fails.
It appears that the underscore is originated from the method:
------------------------------------
codeRemoteTemp: index remoteTemps: tempVector
^(RemoteTempVectorNode new
name: '_r', index printString
index: index
type: LdTempType
scope: 0)
remoteTemps: tempVector;
yourself
------------------------------------
But I cannot tell why it is "leaking out" to the final result. Does
anybody know what is going on?
-- Yoshiki
More information about the Squeak-dev
mailing list
|