GDBFrame.st
changeset 103 56bf65352505
parent 91 472a4841a8b6
child 104 4add55336dfe
--- a/GDBFrame.st	Mon Jan 29 10:21:03 2018 +0000
+++ b/GDBFrame.st	Thu Feb 15 08:46:03 2018 +0000
@@ -20,7 +20,7 @@
 
 "{ NameSpace: Smalltalk }"
 
-GDBTransientObject subclass:#GDBFrame
+GDBDebuggerObject subclass:#GDBFrame
 	instanceVariableNames:'thread level addr func file fullname line from variables'
 	classVariableNames:''
 	poolDictionaries:''
@@ -64,6 +64,7 @@
         yourself
 
     "Created: / 16-09-2014 / 23:59:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 15-02-2018 / 08:27:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !GDBFrame methodsFor:'accessing'!
@@ -121,6 +122,32 @@
     "Modified: / 17-11-2017 / 20:22:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!GDBFrame methodsFor:'initialization'!
+
+setAddr: aString
+    addr := aString
+
+    "Created: / 31-01-2018 / 09:50:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+setLevel: anInteger
+    level := anInteger
+
+    "Created: / 15-02-2018 / 08:34:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+setLine: anInteger
+    line := anInteger
+
+    "Created: / 01-02-2018 / 10:09:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+setThread: aGDBThread
+    thread := aGDBThread
+
+    "Created: / 30-01-2018 / 15:56:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !GDBFrame methodsFor:'printing & storing'!
 
 displayString
@@ -171,6 +198,28 @@
     "Modified: / 27-02-2015 / 15:21:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!GDBFrame methodsFor:'private'!
+
+ensureIsValid
+    self isValid ifFalse:[
+        (GDBInvalidObject newException)
+            parameter:self;
+            messageText:'Invalid (obsolete) object';
+            raise.
+    ].
+
+    "Created: / 07-09-2014 / 23:08:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 30-01-2018 / 17:51:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBFrame methodsFor:'testing'!
+
+isValid
+    ^ addr notNil
+
+    "Modified: / 30-01-2018 / 15:58:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !GDBFrame class methodsFor:'documentation'!
 
 version_HG