xquery/XQuery__DebuggerService.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 02 Jul 2018 08:46:01 +0200
changeset 305 bad21c4f64bf
parent 296 ea3dbc023c80
permissions -rw-r--r--
Tagged Smalltalk/X 8.0.0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
249
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/xmlsuite/xquery' }"
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: XQuery }"
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
Perseus::DebuggerService subclass:#DebuggerService
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:'lastIsn'
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'XQuery-Debugging-Model'
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
!DebuggerService methodsFor:'event handling'!
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
breakpointReached 
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
    | currentIsn |
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
    currentIsn := self instruction.
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
    (lastIsn notNil 
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
        and:[lastIsn startPosition == currentIsn startPosition
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
            and:[lastIsn stopPosition == currentIsn stopPosition]])
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
                ifTrue:[lastIsn := currentIsn. ^self].
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
    lastIsn := currentIsn.
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
    super breakpointReached
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
    "Created: / 20-04-2010 / 19:45:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
! !
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
!DebuggerService methodsFor:'interrupt handling'!
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
contextInterrupt
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
    "/Transcript showCR:'>> CONTEXT INTERRUPT'
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
    "Created: / 29-11-2008 / 12:05:41 / Jan Vrany <vranyj1@fel.cvut.cz>"
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
    "Modified: / 20-04-2010 / 19:56:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
!
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
terminateInterrupt
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
    |nextInterpreter|
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
"/    Transcript showCR:'Service: TERMINATE INTERRUPT'.
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
    nextInterpreter := interpreter nextInterpreter.
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
    self detach.
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
    (nextInterpreter notNil"and:[self showFullStackHolder value]")
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
        ifTrue:  [self attach: nextInterpreter].
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    self changed:#interpreter with: #terminated.
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
    "Created: / 01-12-2008 / 08:34:40 / Jan Vrany <vranyj1@fel.cvut.cz>"
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
    "Modified: / 16-12-2008 / 13:44:29 / Jan Vrany <vranyj1@fel.cvut.cz>"
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
    "Modified: / 20-04-2010 / 20:00:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
!
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
tracepointInterrupt
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
"/    Transcript show:'Service: STEP INTERRUPT: '.
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
"/    self context displayOn: Transcript.
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
"/    Transcript cr.
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
    mode tracepointInterrupt
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
    "Created: / 13-12-2008 / 12:55:22 / Jan Vrany <vranyj1@fel.cvut.cz>"
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
    "Modified: / 17-12-2008 / 11:27:40 / Jan Vrany <vranyj1@fel.cvut.cz>"
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
    "Modified: / 20-04-2010 / 19:57:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
! !
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
!DebuggerService class methodsFor:'documentation'!
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
version_SVN
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
    ^ '$Id$'
971ad95f8a14 Debugger improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
! !