GDBObject.st
changeset 17 10d696c79188
parent 16 a5a8c0454395
child 20 76ac209277a7
--- a/GDBObject.st	Wed Jun 18 10:50:49 2014 +0100
+++ b/GDBObject.st	Thu Jun 19 10:10:52 2014 +0100
@@ -7,20 +7,49 @@
 	category:'GDB-Core'
 !
 
+!GDBObject class methodsFor:'accessing - GDB value descriptors'!
+
+gdbValueDescriptor
+    ^ GDBObjectValueDescriptor forClass: self.
+
+    "Created: / 18-06-2014 / 23:12:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !GDBObject methodsFor:'accessing-properties'!
 
+properties
+    properties isNil ifTrue:[ ^ Dictionary new ].
+    ^ properties
+
+    "Modified: / 18-06-2014 / 23:54:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 propertyAt: name
+    | index |    
+    index :=  self class allInstVarNames indexOf: name.
+    index ~~ 0 ifTrue:[ 
+        ^ self instVarAt: index
+    ].
     properties isNil ifTrue:[ Object keyNotFoundError: name ].
     ^ properties at: name ifAbsent:[ Object keyNotFoundError: name ].
 
     "Created: / 31-05-2014 / 00:00:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 18-06-2014 / 23:31:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 propertyAt: name put: value
-    properties isNil ifTrue:[ properties := Dictionary new ].
-    properties at: name put: value
+    | index |
+
+    index :=  self class allInstVarNames indexOf: name.
+    index ~~ 0 ifTrue:[ 
+        self instVarAt: index put: value
+    ] ifFalse:[    
+        properties isNil ifTrue:[ properties := Dictionary new ].
+        properties at: name put: value
+    ]
 
     "Created: / 31-05-2014 / 00:01:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 18-06-2014 / 23:31:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !GDBObject methodsFor:'attributes access'!