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! |
What's a reportable slip?
On Thu, Mar 26, 2015 at 4:34 PM, <[hidden email]> 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! > > |
On 27.03.2015, at 19:25, Chris Muller <[hidden email]> 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, <[hidden email]> 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! |
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 <[hidden email]> wrote: > > On 27.03.2015, at 19:25, Chris Muller <[hidden email]> 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, <[hidden email]> 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! > > > |
Free forum by Nabble | Edit this page |