Eliot Miranda uploaded a new version of Tools to project The Trunk: http://source.squeak.org/trunk/Tools-eem.380.mcz
==================== Summary ====================
Name: Tools-eem.380 Author: eem Time: 27 September 2011, 8:58:20.236 am UUID: 087978c3-2b74-4746-8458-ec0de273fc01 Ancestors: Tools-eem.379
Use the methodForDecompile hook in CodeHolder>> decompiledSourceIntoContentsWithTempNames:. This fixes infinite recursion when decompiling installed wrapper methods. Needs Kernel-eem.630.
=============== Diff against Tools-eem.379 ===============
Item was changed: ----- Method: CodeHolder>>decompiledSourceIntoContentsWithTempNames: (in category 'message list') ----- decompiledSourceIntoContentsWithTempNames: showTempNames "Obtain a source string by decompiling the method's code, and place that source string into my contents. Also return the string. Get temps from source file if showTempNames is true."
| tempNames class selector method | class := self selectedClassOrMetaClass. selector := self selectedMessageName. "Was method deleted while in another project?" method := class compiledMethodAt: selector ifAbsent: [^ ''].
currentCompiledMethod := method. (showTempNames not + or: [method fileIndex > 0 and: [(SourceFiles at: method fileIndex) isNil]]) + ifTrue: - or: [method fileIndex > 0 - and: [(SourceFiles at: method fileIndex) isNil]]) - ifTrue: [ "Emergency or no source file -- decompile without temp names " + [contents := (class decompilerClass new + decompile: selector + in: class + method: method methodForDecompile) decompileString] + ifFalse: + [tempNames := (class newCompiler - contents := (class decompilerClass new - decompile: selector - in: class - method: method) decompileString] - ifFalse: [tempNames := (class newCompiler parse: method getSourceFromFile asString in: class notifying: nil) generate: CompiledMethodTrailer defaultMethodTrailer; schematicTempNamesString. contents := ((class decompilerClass new withTempNames: tempNames) + decompile: selector + in: class + method: method methodForDecompile) decompileString]. - decompile: selector - in: class - method: method) decompileString]. contents := contents asText makeSelectorBoldIn: class. ^ contents copy!
squeak-dev@lists.squeakfoundation.org