[squeak-dev] The Trunk: Tools-topa.562.mcz
Chris Muller
asqueaker at gmail.com
Fri Mar 27 19:03:30 UTC 2015
Oh I see, at first I thought it might be a new kind of breakpoint but
in fact a breakpoint is a new reportableSlip. It's for that warning
when one files out.
On Fri, Mar 27, 2015 at 1:36 PM, Tobias Pape <Das.Linux at gmx.de> wrote:
>
> On 27.03.2015, at 19:25, Chris Muller <asqueaker at gmail.com> wrote:
>
>> What's a reportable slip?
>
> To quote CompiledMethod>>#hasReportableSlip
>
> "Answer whether the receiver contains anything that should be brought
> to the attention of the author when filing out. Customize the lists here
> to suit your preferences. If slips do not get reported in spite of your
> best efforts here, make certain that the Preference 'checkForSlips' is set
> to true."
>
> Ie, references any of #doOnlyOnce: #halt #halt: #hottest #printDirectlyToDisplay #toRemove #personal #urgent #haltOnce #haltOnce: #haltIf:
> or Transcript AA BB CC DD EE
>
> Best
> -Tobias
>>
>> On Thu, Mar 26, 2015 at 4:34 PM, <commits at source.squeak.org> wrote:
>>> Tobias Pape uploaded a new version of Tools to project The Trunk:
>>> http://source.squeak.org/trunk/Tools-topa.562.mcz
>>>
>>> ==================== Summary ====================
>>>
>>> Name: Tools-topa.562
>>> Author: topa
>>> Time: 26 March 2015, 10:34:40.589 pm
>>> UUID: c1e03f1f-b7f2-46a1-b27d-5c2f42e19ef1
>>> Ancestors: Tools-topa.561
>>>
>>> Tool icons: See if a method identifies itself as having a breakpoint or a 'reportable slip'
>>>
>>> =============== Diff against Tools-topa.561 ===============
>>>
>>> Item was changed:
>>> ----- Method: Behavior>>toolIconSelector: (in category '*Tools-icons') -----
>>> toolIconSelector: aSymbol
>>> "Tools can annotate the method identified by aSymbol with an icon identified by the symbol this method returns.
>>> We customize this for, eg, overriden methods or methods with breaks.
>>> Defaults to no icon"
>>>
>>> self methodDictionary at: aSymbol ifPresent: [ :method |
>>> + method hasBreakpoint ifTrue: [^ #breakpoint].
>>> + method literalsDo: [:literal |
>>> + (#(halt halt: haltIfNil haltIf: haltOnce haltOnce: haltOnCount: halt:onCount: break) includes: literal)
>>> - method literalsDo: [ :literal |
>>> - (#(halt halt: haltIfNil haltIf: haltOnce haltOnce: haltOnCount: halt:onCount:) includes: literal)
>>> ifTrue: [^ #breakpoint].
>>> (#(flag: needsWork notYetImplemented) includes: literal)
>>> ifTrue: [^ #flag].
>>> (#(shouldBeImplemented subclassResponsibility) includes: literal)
>>> ifTrue: [
>>> (self isSelectorOverridden: aSymbol)
>>> ifTrue: [^ #abstract]
>>> ifFalse: [^ #notOverridden]].
>>> literal == #shouldNotImplement
>>> + ifTrue: [^ #no]].
>>> + method hasReportableSlip ifTrue: [^ #breakpoint]].
>>> - ifTrue: [^ #no]]].
>>>
>>> (self isSelectorOverride: aSymbol)
>>> ifTrue: [
>>> (self isSelectorOverridden: aSymbol)
>>> ifTrue: [ ^ #arrowUpAndDown ]
>>> ifFalse: [ ^ #arrowUp ] ]
>>> ifFalse: [
>>> (self isSelectorOverridden: aSymbol)
>>> ifTrue: [^ #arrowDown ]].
>>>
>>> self methodDictionary at: aSymbol ifPresent: [ :method |
>>> (method primitive ~= 0 and: [method isQuick not])
>>> ifTrue: [^ #primitive]].
>>>
>>>
>>> ^ #blank!
>
>
>
More information about the Squeak-dev
mailing list
|