[squeak-dev] The Trunk: Tools-topa.562.mcz

Chris Muller asqueaker at gmail.com
Fri Mar 27 18:25:34 UTC 2015


What's a reportable slip?

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