DebugView.st
changeset 6132 ca1f04f5232b
parent 6129 4203bef24b27
child 6136 1ccda6229a32
equal deleted inserted replaced
6131:71d479fd930d 6132:ca1f04f5232b
   821         "/ show the place of the assert; not where the Signal was raised...
   821         "/ show the place of the assert; not where the Signal was raised...
   822         (sel == #assert:) ifTrue:[
   822         (sel == #assert:) ifTrue:[
   823             ^ 2
   823             ^ 2
   824         ].
   824         ].
   825 
   825 
       
   826         "/ show the place of the send; not where the Signal was raised...
       
   827         (sel == #subclassResponsibility) ifTrue:[
       
   828             ^ 2
       
   829         ].
       
   830 
   826         "/ show the place of the bad index; not where the Signal was raised...
   831         "/ show the place of the bad index; not where the Signal was raised...
   827         ( #(#notIndexed 
   832         ( #(#notIndexed 
   828             #indexNotIntegerOrOutOfBounds: 
   833             #indexNotIntegerOrOutOfBounds: 
   829             #subscriptBoundsError:
   834             #subscriptBoundsError:
   830             #elementBoundsError:
   835             #elementBoundsError:
   831             #subclassResponsibility
   836             "/ #subclassResponsibility
   832         ) includes:sel) ifTrue:[
   837         ) includes:sel) ifTrue:[
   833             idx := 2.
   838             idx := 2.
   834             [ idx <= 3 
   839             [ idx <= 3 
   835                 and:[ 
   840                 and:[ 
   836                     sel := (aContextArray at:idx) selector.
   841                     sel := (aContextArray at:idx) selector.
  5675                 ]
  5680                 ]
  5676             ] ifFalse:[
  5681             ] ifFalse:[
  5677                 lineNrInMethod == 0 ifTrue:[
  5682                 lineNrInMethod == 0 ifTrue:[
  5678                     (method notNil and:[method isJavaMethod]) ifTrue:[
  5683                     (method notNil and:[method isJavaMethod]) ifTrue:[
  5679                         lineNrInMethod := method lineNumber
  5684                         lineNrInMethod := method lineNumber
  5680                     ]
  5685                     ].
       
  5686                     "/ guess lineNumber from sent-messages selector
       
  5687                     "/ kludge to fix lineNr-display of shared subclassResponsibility methods.
       
  5688                     lineNrInMethod == 0 ifTrue:[
       
  5689                         |conIdx sentContext messages|
       
  5690 
       
  5691                         conIdx := contextArray identityIndexOf:con.
       
  5692                         conIdx > 1 ifTrue:[
       
  5693                             sentContext := contextArray at:conIdx-1.
       
  5694                             sentContext isBlockContext ifFalse:[
       
  5695                                 (method notNil and:[code notNil]) ifTrue:[
       
  5696                                     messages := method messagesSent.
       
  5697                                     messages size == 1 ifTrue:[
       
  5698                                         sentContext selector == messages first ifTrue:[
       
  5699                                             lineNrInMethod := code asStringCollection findFirst:[:l | l includesString:sentContext selector].
       
  5700                                         ]
       
  5701                                     ]
       
  5702                                 ].
       
  5703                             ].
       
  5704                         ].
       
  5705                     ].
  5681                 ].
  5706                 ].
  5682 
  5707 
  5683                 UserPreferences current syntaxColoring ifTrue:[
  5708                 UserPreferences current syntaxColoring ifTrue:[
  5684                     implementorClass isNil ifTrue:[
  5709                     implementorClass isNil ifTrue:[
  5685                         (con isBlockContext
  5710                         (con isBlockContext
  5839 ! !
  5864 ! !
  5840 
  5865 
  5841 !DebugView class methodsFor:'documentation'!
  5866 !DebugView class methodsFor:'documentation'!
  5842 
  5867 
  5843 version
  5868 version
  5844     ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.375 2004-11-11 09:14:21 cg Exp $'
  5869     ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.376 2004-11-12 12:06:00 cg Exp $'
  5845 ! !
  5870 ! !
  5846 
  5871 
  5847 DebugView initialize!
  5872 DebugView initialize!