[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