Tools__BreakpointBrowser.st
changeset 8354 9791dde64bd7
parent 8302 7e1f250578ff
child 8357 2fa277092d1c
equal deleted inserted replaced
8353:a70f2a66981f 8354:9791dde64bd7
   187 
   187 
   188     <resource: #menu>
   188     <resource: #menu>
   189 
   189 
   190     ^
   190     ^
   191      #(Menu
   191      #(Menu
   192 	(
   192         (
   193 	 (MenuItem
   193          (MenuItem
   194 	    label: 'File'
   194             label: 'File'
   195 	    translateLabel: true
   195             translateLabel: true
   196 	    submenu:
   196             submenu:
   197 	   (Menu
   197            (Menu
   198 	      (
   198               (
   199 	       (MenuItem
   199                (MenuItem
   200 		  label: 'Exit'
   200                   label: 'Exit'
   201 		  itemValue: closeRequest
   201                   itemValue: closeRequest
   202 		  translateLabel: true
   202                   translateLabel: true
   203 		)
   203                 )
   204 	       )
   204                )
   205 	      nil
   205               nil
   206 	      nil
   206               nil
   207 	    )
   207             )
   208 	  )
   208           )
   209 	 (MenuItem
   209           (MenuItem
   210 	    label: 'View'
   210             label: 'Selection'
   211 	    translateLabel: true
   211             translateLabel: true
   212 	    submenu:
   212             submenu:
   213 	   (Menu
   213            (Menu
   214 	      (
   214               (
   215 	       (MenuItem
   215                (MenuItem
   216 		  label: 'Update List'
   216                   label: 'Browse'
   217 		  itemValue: updateList
   217                   itemValue: browseItem
   218 		  translateLabel: true
   218                   translateLabel: true
   219 		)
   219                 )
   220 	       (MenuItem
   220                )
   221 		  label: '-'
   221               nil
   222 		)
   222               nil
   223 	       (MenuItem
   223             )
   224 		  label: 'Assertions'
   224           )
   225 		  itemValue: showAssertions:
   225          (MenuItem
   226 		  translateLabel: true
   226             label: 'View'
   227 		  hideMenuOnActivated: false
   227             translateLabel: true
   228 		  indication: showAssertions
   228             submenu:
   229 		)
   229            (Menu
   230 	       (MenuItem
   230               (
   231 		  label: 'Halts'
   231                (MenuItem
   232 		  itemValue: showHalts:
   232                   label: 'Update List'
   233 		  translateLabel: true
   233                   itemValue: updateList
   234 		  hideMenuOnActivated: false
   234                   translateLabel: true
   235 		  indication: showHalts
   235                 )
   236 		)
   236                (MenuItem
   237 	       (MenuItem
   237                   label: '-'
   238 		  label: '-'
   238                 )
   239 		)
   239                (MenuItem
   240 	       (MenuItem
   240                   label: 'Assertions'
   241 		  label: 'Code Breakpoints'
   241                   itemValue: showAssertions:
   242 		  itemValue: showCodeBreakpoints:
   242                   translateLabel: true
   243 		  translateLabel: true
   243                   hideMenuOnActivated: false
   244 		  hideMenuOnActivated: false
   244                   indication: showAssertions
   245 		  indication: showCodeBreakpoints
   245                 )
   246 		)
   246                (MenuItem
   247 	       (MenuItem
   247                   label: 'Halts'
   248 		  enabled: showCodeBreakpoints
   248                   itemValue: showHalts:
   249 		  label: ' '
   249                   translateLabel: true
   250 		  translateLabel: true
   250                   hideMenuOnActivated: false
   251 		  submenuChannel: codeBreakpointMenu
   251                   indication: showHalts
   252 		)
   252                 )
   253 	       (MenuItem
   253                (MenuItem
   254 		  label: '-'
   254                   label: '-'
   255 		)
   255                 )
   256 	       (MenuItem
   256                (MenuItem
   257 		  label: 'Method Breakpoints'
   257                   label: 'Code Breakpoints'
   258 		  itemValue: showMethodBreakpoints:
   258                   itemValue: showCodeBreakpoints:
   259 		  translateLabel: true
   259                   translateLabel: true
   260 		  hideMenuOnActivated: false
   260                   hideMenuOnActivated: false
   261 		  indication: showMethodBreakpoints
   261                   indication: showCodeBreakpoints
   262 		)
   262                 )
   263 	       )
   263                (MenuItem
   264 	      nil
   264                   enabled: showCodeBreakpoints
   265 	      nil
   265                   label: ' '
   266 	    )
   266                   translateLabel: true
   267 	  )
   267                   submenuChannel: codeBreakpointMenu
   268 	 (MenuItem
   268                 )
   269 	    label: 'Enable'
   269                (MenuItem
   270 	    translateLabel: true
   270                   label: '-'
   271 	    submenu:
   271                 )
   272 	   (Menu
   272                (MenuItem
   273 	      (
   273                   label: 'Method Breakpoints'
   274 	       (MenuItem
   274                   itemValue: showMethodBreakpoints:
   275 		  label: 'Assertions'
   275                   translateLabel: true
   276 		  itemValue: enableAssertions:
   276                   hideMenuOnActivated: false
   277 		  translateLabel: true
   277                   indication: showMethodBreakpoints
   278 		  indication: enableAssertions
   278                 )
   279 		)
   279                )
   280 	       (MenuItem
   280               nil
   281 		  label: 'Halts'
   281               nil
   282 		  itemValue: enableHalts:
   282             )
   283 		  translateLabel: true
   283           )
   284 		  indication: enableHalts
   284          (MenuItem
   285 		)
   285             label: 'Enable'
   286 	       (MenuItem
   286             translateLabel: true
   287 		  label: '-'
   287             submenu:
   288 		)
   288            (Menu
   289 	       (MenuItem
   289               (
   290 		  label: 'Code Breakpoints'
   290                (MenuItem
   291 		  translateLabel: true
   291                   label: 'Assertions'
   292 		  submenuChannel: enabledCodeBreakpointMenu
   292                   itemValue: enableAssertions:
   293 		)
   293                   translateLabel: true
   294 	       )
   294                   indication: enableAssertions
   295 	      nil
   295                 )
   296 	      nil
   296                (MenuItem
   297 	    )
   297                   label: 'Halts'
   298 	  )
   298                   itemValue: enableHalts:
   299 	 (MenuItem
   299                   translateLabel: true
   300 	    label: 'Help'
   300                   indication: enableHalts
   301 	    translateLabel: true
   301                 )
   302 	    startGroup: right
   302                (MenuItem
   303 	    submenu:
   303                   label: '-'
   304 	   (Menu
   304                 )
   305 	      (
   305                (MenuItem
   306 	       (MenuItem
   306                   label: 'Code Breakpoints'
   307 		  label: 'Documentation'
   307                   translateLabel: true
   308 		  itemValue: openDocumentation
   308                   submenuChannel: enabledCodeBreakpointMenu
   309 		  translateLabel: true
   309                 )
   310 		)
   310                )
   311 	       (MenuItem
   311               nil
   312 		  label: '-'
   312               nil
   313 		)
   313             )
   314 	       (MenuItem
   314           )
   315 		  label: 'About this Application...'
   315          (MenuItem
   316 		  itemValue: openAboutThisApplication
   316             label: 'Help'
   317 		  translateLabel: true
   317             translateLabel: true
   318 		)
   318             startGroup: right
   319 	       )
   319             submenu:
   320 	      nil
   320            (Menu
   321 	      nil
   321               (
   322 	    )
   322                (MenuItem
   323 	  )
   323                   label: 'Documentation'
   324 	 )
   324                   itemValue: openDocumentation
   325 	nil
   325                   translateLabel: true
   326 	nil
   326                 )
       
   327                (MenuItem
       
   328                   label: '-'
       
   329                 )
       
   330                (MenuItem
       
   331                   label: 'About this Application...'
       
   332                   itemValue: openAboutThisApplication
       
   333                   translateLabel: true
       
   334                 )
       
   335                )
       
   336               nil
       
   337               nil
       
   338             )
       
   339           )
       
   340          )
       
   341         nil
       
   342         nil
   327       )
   343       )
   328 !
   344 !
   329 
   345 
   330 toolBarMenu
   346 toolBarMenu
   331     "This resource specification was automatically generated
   347     "This resource specification was automatically generated
   383 
   399 
   384     <resource: #tableColumns>
   400     <resource: #tableColumns>
   385 
   401 
   386     ^#(
   402     ^#(
   387       (DataSetColumnSpec
   403       (DataSetColumnSpec
       
   404          label: 'Type'
       
   405          activeHelpKey: ''
       
   406          activeHelpKeyForLabel: ''
       
   407          labelButtonType: Button
       
   408          labelActionSelector: sortBy:
       
   409          labelActionArgument: 'type'
       
   410          width: 70
       
   411          model: type
       
   412          canSelect: false
       
   413        )
       
   414       (DataSetColumnSpec
       
   415          label: 'Arg'
       
   416          activeHelpKey: ''
       
   417          activeHelpKeyForLabel: ''
       
   418          labelButtonType: Button
       
   419          labelActionSelector: sortBy:
       
   420          labelActionArgument: 'type'
       
   421          width: 50
       
   422          model: arg
       
   423          canSelect: false
       
   424        )
       
   425       (DataSetColumnSpec
       
   426          label: 'Class'
       
   427          activeHelpKey: ''
       
   428          activeHelpKeyForLabel: ''
       
   429          labelButtonType: Button
       
   430          labelActionSelector: sortBy:
       
   431          labelActionArgument: 'className'
       
   432          width: 150
       
   433          model: className
       
   434          canSelect: false
       
   435        )
       
   436       (DataSetColumnSpec
       
   437          label: 'Method'
       
   438          labelAlignment: left
       
   439          activeHelpKey: ''
       
   440          activeHelpKeyForLabel: ''
       
   441          labelButtonType: Button
       
   442          labelActionSelector: sortBy:
       
   443          labelActionArgument: 'selector'
       
   444          width: 200
       
   445          model: selector
       
   446          canSelect: false
       
   447        )
       
   448 "/      (DataSetColumnSpec
       
   449 "/         label: 'Line'
       
   450 "/         labelAlignment: left
       
   451 "/         activeHelpKey: ''
       
   452 "/         activeHelpKeyForLabel: ''
       
   453 "/         labelButtonType: Button
       
   454 "/         labelActionSelector: sortBy:
       
   455 "/         labelActionArgument: 'lineNumber'
       
   456 "/         width: 35
       
   457 "/         model: lineNumber
       
   458 "/         canSelect: false
       
   459 "/       )
       
   460       (DataSetColumnSpec
       
   461          label: 'Info'
       
   462          labelAlignment: left
       
   463          activeHelpKey: ''
       
   464          activeHelpKeyForLabel: ''
       
   465          labelButtonType: Button
       
   466          labelActionSelector: sortBy:
       
   467          labelActionArgument: 'info'
       
   468          model: info
       
   469          canSelect: false
       
   470        )
       
   471       )
       
   472 !
       
   473 
       
   474 tableColumns_v1
       
   475     "This resource specification was automatically generated
       
   476      by the DataSetBuilder of ST/X."
       
   477 
       
   478     "Do not manually edit this!! If it is corrupted,
       
   479      the DataSetBuilder may not be able to read the specification."
       
   480 
       
   481     "
       
   482      DataSetBuilder new openOnClass:Tools::BreakpointBrowser andSelector:#tableColumns
       
   483     "
       
   484 
       
   485     <resource: #tableColumns>
       
   486 
       
   487     ^#(
       
   488       (DataSetColumnSpec
       
   489 	 label: 'Enabled'
       
   490 	 activeHelpKey: ''
       
   491 	 activeHelpKeyForLabel: ''
       
   492 	 labelButtonType: Button
       
   493 	 width: 50
       
   494 	 editorType: CheckToggle
       
   495 	 rendererType: CheckToggle
       
   496 	 model: enabled
       
   497        )
       
   498       (DataSetColumnSpec
   388 	 label: 'Type'
   499 	 label: 'Type'
   389 	 activeHelpKey: ''
   500 	 activeHelpKey: ''
   390 	 activeHelpKeyForLabel: ''
   501 	 activeHelpKeyForLabel: ''
   391 	 labelButtonType: Button
   502 	 labelButtonType: Button
   392 	 labelActionSelector: sortBy:
   503 	 labelActionSelector: sortBy:
   451 	 labelActionArgument: 'info'
   562 	 labelActionArgument: 'info'
   452 	 model: info
   563 	 model: info
   453 	 canSelect: false
   564 	 canSelect: false
   454        )
   565        )
   455       )
   566       )
   456 
   567 !
   457 !
   568 
   458 
   569 tableColumns_v2
   459 tableColumns_v1
       
   460     "This resource specification was automatically generated
   570     "This resource specification was automatically generated
   461      by the DataSetBuilder of ST/X."
   571      by the DataSetBuilder of ST/X."
   462 
   572 
   463     "Do not manually edit this!! If it is corrupted,
   573     "Do not manually edit this!! If it is corrupted,
   464      the DataSetBuilder may not be able to read the specification."
   574      the DataSetBuilder may not be able to read the specification."
   469 
   579 
   470     <resource: #tableColumns>
   580     <resource: #tableColumns>
   471 
   581 
   472     ^#(
   582     ^#(
   473       (DataSetColumnSpec
   583       (DataSetColumnSpec
   474 	 label: 'Enabled'
   584          label: 'Type'
   475 	 activeHelpKey: ''
   585          activeHelpKey: ''
   476 	 activeHelpKeyForLabel: ''
   586          activeHelpKeyForLabel: ''
   477 	 labelButtonType: Button
   587          labelButtonType: Button
   478 	 width: 50
   588          labelActionSelector: sortBy:
   479 	 editorType: CheckToggle
   589          labelActionArgument: 'type'
   480 	 rendererType: CheckToggle
   590          width: 70
   481 	 model: enabled
   591          model: type
   482        )
   592          canSelect: false
   483       (DataSetColumnSpec
   593        )
   484 	 label: 'Type'
   594       (DataSetColumnSpec
   485 	 activeHelpKey: ''
   595          label: 'Arg'
   486 	 activeHelpKeyForLabel: ''
   596          activeHelpKey: ''
   487 	 labelButtonType: Button
   597          activeHelpKeyForLabel: ''
   488 	 labelActionSelector: sortBy:
   598          labelButtonType: Button
   489 	 labelActionArgument: 'type'
   599          labelActionSelector: sortBy:
   490 	 width: 60
   600          labelActionArgument: 'type'
   491 	 model: type
   601          width: 50
   492 	 canSelect: false
   602          model: arg
   493        )
   603          canSelect: false
   494       (DataSetColumnSpec
   604        )
   495 	 label: 'Arg'
   605       (DataSetColumnSpec
   496 	 activeHelpKey: ''
   606          label: 'Class'
   497 	 activeHelpKeyForLabel: ''
   607          activeHelpKey: ''
   498 	 labelButtonType: Button
   608          activeHelpKeyForLabel: ''
   499 	 labelActionSelector: sortBy:
   609          labelButtonType: Button
   500 	 labelActionArgument: 'type'
   610          labelActionSelector: sortBy:
   501 	 width: 50
   611          labelActionArgument: 'className'
   502 	 model: arg
   612          width: 150
   503 	 canSelect: false
   613          model: className
   504        )
   614          canSelect: false
   505       (DataSetColumnSpec
   615        )
   506 	 label: 'Class'
   616       (DataSetColumnSpec
   507 	 activeHelpKey: ''
   617          label: 'Method'
   508 	 activeHelpKeyForLabel: ''
   618          labelAlignment: left
   509 	 labelButtonType: Button
   619          activeHelpKey: ''
   510 	 labelActionSelector: sortBy:
   620          activeHelpKeyForLabel: ''
   511 	 labelActionArgument: 'className'
   621          labelButtonType: Button
   512 	 width: 150
   622          labelActionSelector: sortBy:
   513 	 model: className
   623          labelActionArgument: 'selector'
   514 	 canSelect: false
   624          width: 200
   515        )
   625          model: selector
   516       (DataSetColumnSpec
   626          canSelect: false
   517 	 label: 'Method'
   627        )
   518 	 labelAlignment: left
   628       (DataSetColumnSpec
   519 	 activeHelpKey: ''
   629          label: 'Line'
   520 	 activeHelpKeyForLabel: ''
   630          labelAlignment: left
   521 	 labelButtonType: Button
   631          activeHelpKey: ''
   522 	 labelActionSelector: sortBy:
   632          activeHelpKeyForLabel: ''
   523 	 labelActionArgument: 'selector'
   633          labelButtonType: Button
   524 	 width: 200
   634          labelActionSelector: sortBy:
   525 	 model: selector
   635          labelActionArgument: 'lineNumber'
   526 	 canSelect: false
   636          width: 35
   527        )
   637          model: lineNumber
   528       (DataSetColumnSpec
   638          canSelect: false
   529 	 label: 'Line'
   639        )
   530 	 labelAlignment: left
   640       (DataSetColumnSpec
   531 	 activeHelpKey: ''
   641          label: 'Info'
   532 	 activeHelpKeyForLabel: ''
   642          labelAlignment: left
   533 	 labelButtonType: Button
   643          activeHelpKey: ''
   534 	 labelActionSelector: sortBy:
   644          activeHelpKeyForLabel: ''
   535 	 labelActionArgument: 'lineNumber'
   645          labelButtonType: Button
   536 	 width: 35
   646          labelActionSelector: sortBy:
   537 	 model: lineNumber
   647          labelActionArgument: 'info'
   538 	 canSelect: false
   648          model: info
   539        )
   649          canSelect: false
   540       (DataSetColumnSpec
       
   541 	 label: 'Info'
       
   542 	 labelAlignment: left
       
   543 	 activeHelpKey: ''
       
   544 	 activeHelpKeyForLabel: ''
       
   545 	 labelButtonType: Button
       
   546 	 labelActionSelector: sortBy:
       
   547 	 labelActionArgument: 'info'
       
   548 	 model: info
       
   549 	 canSelect: false
       
   550        )
   650        )
   551       )
   651       )
   552 ! !
   652 ! !
   553 
   653 
   554 !BreakpointBrowser methodsFor:'accessing'!
   654 !BreakpointBrowser methodsFor:'accessing'!
   705 
   805 
   706     "Created: / 18-02-2007 / 12:54:32 / cg"
   806     "Created: / 18-02-2007 / 12:54:32 / cg"
   707 !
   807 !
   708 
   808 
   709 updateBreakpointList
   809 updateBreakpointList
   710     |newShowCodeBreakpointsFor messages update |
   810     |newShowCodeBreakpointsFor messages messageSelectors update |
   711 
   811 
   712     breakpointList removeAll.
   812     breakpointList removeAll.
   713     newShowCodeBreakpointsFor := Dictionary new.
   813     newShowCodeBreakpointsFor := Dictionary new.
   714 
   814 
   715     messages := #(
   815     messages := #(
   716                     (#breakPoint:       #breakpoint)
   816                     (#breakPoint:           #breakPoint)
   717                     (#breakPoint:info:  #breakpoint)
   817                     (#breakPoint:info:      #breakPoint)
   718                     (#halt              #halt)
   818                     (#debuggingCodeFor:is:  #debugCode)
   719                     (#halt:             #halt)
   819                     (#halt                  #halt)
   720                     (#assert:           #assertion)
   820                     (#halt:                 #halt)
   721                     (#assert:message:   #assertion)
   821                     (#assert:               #assertion)
       
   822                     (#assert:message:       #assertion)
   722                 ).
   823                 ).
       
   824 
       
   825     messageSelectors := (messages collect:[:each | each first]) asSet.
   723 
   826 
   724     update := [:cls :mthd :sel |
   827     update := [:cls :mthd :sel |
   725         |entry type messagesSent|
   828         |entry type messagesSent|
   726 
   829 
   727         mthd isWrapped ifTrue:[
   830         mthd isWrapped ifTrue:[
   744                 info:nil
   847                 info:nil
   745                 enabled:true.
   848                 enabled:true.
   746             breakpointList add:entry.
   849             breakpointList add:entry.
   747         ].
   850         ].
   748 
   851 
   749         messages pairsDo:[:bpSel :type|
   852         (mthd literalsDetect:[:lit |messageSelectors includes:lit] ifNone:nil) notNil ifTrue:[
   750             |tree extractor|
   853             messagesSent isNil ifTrue:[
   751 
   854                 messagesSent := mthd messagesSent.
   752             "/ used to be (mthd sends:bpSel);
   855             ].
   753             "/ however, the sends requires an expensive parse of the methods source
   856 
   754             "/ to fetch all message selectors. This should be done only once,
   857             messages pairsDo:[:bpSel :type|
   755             "/ and not for every selector we look for)
   858                 |tree extractor|
   756             (mthd referencesLiteral:bpSel) ifTrue:[
   859 
   757                 messagesSent isNil ifTrue:[
   860                 "/ used to be (mthd sends:bpSel);
   758                     messagesSent := mthd messagesSent.
   861                 "/ however, the sends requires an expensive parse of the methods source
   759                 ].
   862                 "/ to fetch all message selectors. This should be done only once,
       
   863                 "/ and not for every selector we look for)
   760                 (messagesSent includesIdentical:bpSel) ifTrue:[
   864                 (messagesSent includesIdentical:bpSel) ifTrue:[
   761                     tree := mthd parseTree.
   865                     tree := mthd parseTree.
   762                     tree isNil ifTrue:[
   866                     tree isNil ifTrue:[
   763                         entry := BreakpointListEntry new.
   867                         entry := BreakpointListEntry new.
   764                         entry
   868                         entry
   792                                 enabled:true.
   896                                 enabled:true.
   793                             breakpointList add:entry.
   897                             breakpointList add:entry.
   794                         ].
   898                         ].
   795                         tree acceptVisitor:extractor.
   899                         tree acceptVisitor:extractor.
   796                     ]
   900                     ]
   797                 ]
   901                 ].
   798             ].
   902             ].
   799         ].
   903         ].
   800     ].
   904     ].
   801 
   905 
   802     Smalltalk allClassesDo:[:cls |
   906     Smalltalk allClassesDo:[:cls |
  1164 
  1268 
  1165 acceptMessageNode: aMessageNode
  1269 acceptMessageNode: aMessageNode
  1166     |arg1Node arg1 arg2Node arg2 argument infoMessage|
  1270     |arg1Node arg1 arg2Node arg2 argument infoMessage|
  1167 
  1271 
  1168     aMessageNode selector == selectorToSearch ifTrue:[
  1272     aMessageNode selector == selectorToSearch ifTrue:[
  1169 	aMessageNode arguments size > 0 ifTrue:[
  1273         aMessageNode arguments size > 0 ifTrue:[
  1170 	    arg1Node := aMessageNode arguments first.
  1274             arg1Node := aMessageNode arguments first.
  1171 	    arg1Node isLiteral ifTrue:[
  1275             arg1Node isLiteral ifTrue:[
  1172 		arg1 := arg1Node value.
  1276                 arg1 := arg1Node value.
  1173 	    ].
  1277             ].
  1174 	    aMessageNode arguments size > 1 ifTrue:[
  1278             aMessageNode arguments size > 1 ifTrue:[
  1175 		arg2Node := aMessageNode arguments second.
  1279                 arg2Node := aMessageNode arguments second.
  1176 		arg2Node isLiteral ifTrue:[
  1280                 arg2Node isLiteral ifTrue:[
  1177 		    arg2 := arg2Node value.
  1281                     arg2 := arg2Node value.
  1178 		].
  1282                 ].
  1179 	    ].
  1283             ].
  1180 	].
  1284         ].
  1181 
  1285 
  1182 	selectorToSearch == #halt: ifTrue:[
  1286         selectorToSearch == #halt: ifTrue:[
  1183 	    infoMessage := arg1.
  1287             infoMessage := arg1.
  1184 	].
  1288         ].
  1185 	selectorToSearch == #breakPoint: ifTrue:[
  1289         selectorToSearch == #breakPoint: ifTrue:[
  1186 	    argument := arg1.
  1290             argument := arg1.
  1187 	].
  1291         ].
  1188 	selectorToSearch == #breakPoint:info: ifTrue:[
  1292         selectorToSearch == #breakPoint:info: ifTrue:[
  1189 	    argument := arg1.
  1293             argument := arg1.
  1190 	    infoMessage := arg2.
  1294             infoMessage := arg2.
  1191 	].
  1295         ].
  1192 	selectorToSearch == #assert: ifTrue:[
  1296         selectorToSearch == #debuggingCodeFor:is: ifTrue:[
  1193 	].
  1297             argument := arg1.
  1194 	selectorToSearch == #assert:message: ifTrue:[
  1298         ].
  1195 	    infoMessage := arg2.
  1299         selectorToSearch == #assert: ifTrue:[
  1196 	].
  1300         ].
  1197 
  1301         selectorToSearch == #assert:message: ifTrue:[
  1198 	callBack
  1302             infoMessage := arg2.
  1199 	    value:aMessageNode firstLineNumber
  1303         ].
  1200 	    value:argument
  1304 
  1201 	    value:infoMessage
  1305         callBack
       
  1306             value:aMessageNode firstLineNumber
       
  1307             value:argument
       
  1308             value:infoMessage
  1202     ].
  1309     ].
  1203     super acceptMessageNode: aMessageNode
  1310     super acceptMessageNode: aMessageNode
  1204 ! !
  1311 ! !
  1205 
  1312 
  1206 !BreakpointBrowser class methodsFor:'documentation'!
  1313 !BreakpointBrowser class methodsFor:'documentation'!
  1207 
  1314 
  1208 version
  1315 version
  1209     ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointBrowser.st,v 1.5 2008-10-08 07:35:31 cg Exp $'
  1316     ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointBrowser.st,v 1.6 2008-10-20 13:46:57 cg Exp $'
  1210 ! !
  1317 ! !