[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
|