Variable objects: added support for composite types
authorJan Vrany <jan.vrany@fit.cvut.cz>
Sun, 28 Jan 2018 23:13:36 +0000
changeset 57 8cd259e11b9e
parent 56 6c7ed8cc00ea
child 58 df46b9c82b38
Variable objects: added support for composite types ...such as arrays, structs and unions: * renamed `VDBVariablePresenter` to more generic `GDBVsriableOjbectPresenter` * added support for hierarchy of `GDBVsriableOjbectPresenter` to show members of composite types in frame application.
Make.proto
Make.spec
VDBAbstractListApplication.st
VDBFrameApplication.st
VDBVariableObjectPresenter.st
VDBVariablePresenter.st
abbrev.stc
bc.mak
jv_vdb.st
libInit.cc
--- a/Make.proto	Fri Jan 26 12:06:19 2018 +0000
+++ b/Make.proto	Sun Jan 28 23:13:36 2018 +0000
@@ -147,7 +147,7 @@
 $(OUTDIR)VDBSourceApplication.$(O) VDBSourceApplication.$(C) VDBSourceApplication.$(H): VDBSourceApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
 $(OUTDIR)VDBThreadGroupPresenter.$(O) VDBThreadGroupPresenter.$(C) VDBThreadGroupPresenter.$(H): VDBThreadGroupPresenter.st $(INCLUDE_TOP)/jv/vdb/VDBModelPresenter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR)
 $(OUTDIR)VDBThreadPresenter.$(O) VDBThreadPresenter.$(C) VDBThreadPresenter.$(H): VDBThreadPresenter.st $(INCLUDE_TOP)/jv/vdb/VDBModelPresenter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR)
-$(OUTDIR)VDBVariablePresenter.$(O) VDBVariablePresenter.$(C) VDBVariablePresenter.$(H): VDBVariablePresenter.st $(INCLUDE_TOP)/jv/vdb/VDBModelPresenter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR)
+$(OUTDIR)VDBVariableObjectPresenter.$(O) VDBVariableObjectPresenter.$(C) VDBVariableObjectPresenter.$(H): VDBVariableObjectPresenter.st $(INCLUDE_TOP)/jv/vdb/VDBModelPresenter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR)
 $(OUTDIR)VDBWindowsDebuggerConsoleApplication.$(O) VDBWindowsDebuggerConsoleApplication.$(C) VDBWindowsDebuggerConsoleApplication.$(H): VDBWindowsDebuggerConsoleApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
 $(OUTDIR)VDBAbstractTreeApplication.$(O) VDBAbstractTreeApplication.$(C) VDBAbstractTreeApplication.$(H): VDBAbstractTreeApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/jv/vdb/VDBAbstractListApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
 $(OUTDIR)VDBBreakpointListApplication.$(O) VDBBreakpointListApplication.$(C) VDBBreakpointListApplication.$(H): VDBBreakpointListApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/jv/vdb/VDBAbstractListApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
--- a/Make.spec	Fri Jan 26 12:06:19 2018 +0000
+++ b/Make.spec	Sun Jan 28 23:13:36 2018 +0000
@@ -69,7 +69,7 @@
 	VDBSourceApplication \
 	VDBThreadGroupPresenter \
 	VDBThreadPresenter \
-	VDBVariablePresenter \
+	VDBVariableObjectPresenter \
 	VDBWindowsDebuggerConsoleApplication \
 	VDBAbstractTreeApplication \
 	VDBBreakpointListApplication \
@@ -101,7 +101,7 @@
     $(OUTDIR)VDBSourceApplication.$(O) \
     $(OUTDIR)VDBThreadGroupPresenter.$(O) \
     $(OUTDIR)VDBThreadPresenter.$(O) \
-    $(OUTDIR)VDBVariablePresenter.$(O) \
+    $(OUTDIR)VDBVariableObjectPresenter.$(O) \
     $(OUTDIR)VDBWindowsDebuggerConsoleApplication.$(O) \
     $(OUTDIR)VDBAbstractTreeApplication.$(O) \
     $(OUTDIR)VDBBreakpointListApplication.$(O) \
--- a/VDBAbstractListApplication.st	Fri Jan 26 12:06:19 2018 +0000
+++ b/VDBAbstractListApplication.st	Sun Jan 28 23:13:36 2018 +0000
@@ -341,11 +341,11 @@
         selection isThreadGroupPresenter ifTrue: [ selection threadGroup inspect ].
         selection isThreadPresenter ifTrue: [ selection thread inspect ].
         selection isFramePresenter ifTrue: [ selection frame inspect ].    
-        selection isVariablePresenter ifTrue: [ selection variable inspect ].    
+        selection isVariablePresenter ifTrue: [ selection varobj inspect ].    
         selection isBreakpointPresenter ifTrue: [ selection breakpoint inspect ].    
     ].
 
-    "Modified: / 11-07-2017 / 11:49:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 28-01-2018 / 22:52:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 doInspectPresenter
--- a/VDBFrameApplication.st	Fri Jan 26 12:06:19 2018 +0000
+++ b/VDBFrameApplication.st	Sun Jan 28 23:13:36 2018 +0000
@@ -199,26 +199,31 @@
 !VDBFrameApplication methodsFor:'change & update-delayed'!
 
 delayedUpdateInternalList
-    | frame root |
+    | frame  root |
 
-     debugger isNil ifTrue:[
+    debugger isNil ifTrue:[
         self internalListHolder root children:#().
         ^ self.
-    ].   
+    ].
     frame := frameHolder value.
-    frame isNil ifTrue:[ 
+    frame isNil ifTrue:[
         self internalListHolder root children:#().
         ^ self.
     ].
     root := self internalListHolder root.
-    root children:
-        (frame variables collect:[:v | VDBVariablePresenter new setVariable: v; parent: root; yourself]).
+    root children:(frame variables 
+                collect:[:v | 
+                    (VDBVariableObjectPresenter new) setVarobj:v varobj;
+                        parent:root;
+                        yourself
+                ]).
     root expand.
     internalListView notNil ifTrue:[
         internalListView invalidate.
     ]
 
     "Created: / 27-02-2015 / 15:47:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 28-01-2018 / 22:43:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 delayedUpdateSelection
@@ -226,12 +231,12 @@
 
     internalSelection := self internalSelectionHolder value.
     internalSelection notNil ifTrue:[
-        self selectedVariableHolder value: internalSelection variable
+        self selectedVariableHolder value: internalSelection varobj
     ] ifFalse:[ 
         self selectedVariableHolder value: nil
     ].
 
-    "Modified: / 27-02-2015 / 16:05:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 28-01-2018 / 22:50:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !VDBFrameApplication methodsFor:'drag & drop'!
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/VDBVariableObjectPresenter.st	Sun Jan 28 23:13:36 2018 +0000
@@ -0,0 +1,138 @@
+"
+jv:vdb - Visual / VM Debugger
+Copyright (C) 2015-now Jan Vrany
+
+This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
+
+You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
+"
+"{ Package: 'jv:vdb' }"
+
+"{ NameSpace: Smalltalk }"
+
+VDBModelPresenter subclass:#VDBVariableObjectPresenter
+	instanceVariableNames:'varobj'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'VDB-Presentation'
+!
+
+!VDBVariableObjectPresenter class methodsFor:'documentation'!
+
+copyright
+"
+jv:vdb - Visual / VM Debugger
+Copyright (C) 2015-now Jan Vrany
+
+This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
+
+You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
+"
+! !
+
+!VDBVariableObjectPresenter class methodsFor:'menu specs'!
+
+contextMenu
+    "This resource specification was automatically generated
+     by the MenuEditor of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the MenuEditor may not be able to read the specification."
+
+
+    "
+     MenuEditor new openOnClass:VDBVariablePresenter andSelector:#contextMenu
+     (Menu new fromLiteralArrayEncoding:(VDBVariablePresenter contextMenu)) startUp
+    "
+
+    <resource: #menu>
+
+    ^ 
+     #(Menu
+        (
+         (MenuItem
+            label: 'Copy Value'
+            itemValue: doCopyValue
+          )
+         )
+        nil
+        nil
+      )
+! !
+
+!VDBVariableObjectPresenter methodsFor:'accessing'!
+
+label
+    ^ varobj expression
+
+    "Created: / 27-02-2015 / 15:57:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 28-01-2018 / 22:44:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+value
+    ^ varobj value
+
+    "Created: / 02-06-2017 / 07:32:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 28-01-2018 / 22:49:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+valueString
+    ^ varobj valueString
+
+    "Created: / 11-06-2017 / 23:25:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+varobj
+    ^ varobj
+
+    "Created: / 28-01-2018 / 22:45:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBVariableObjectPresenter methodsFor:'initialization'!
+
+setVarobj:aGDBVariable 
+    varobj := aGDBVariable
+
+    "Created: / 27-02-2015 / 16:00:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBVariableObjectPresenter methodsFor:'menu actions'!
+
+doCopyValue
+    self doCopy: varobj value.
+
+    "Created: / 16-01-2018 / 23:28:56 / jv"
+    "Modified: / 28-01-2018 / 22:55:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBVariableObjectPresenter methodsFor:'private'!
+
+fetchChildren
+    ^ varobj children collect:[ :each | self class new setVarobj:each; parent:self;yourself ]
+
+    "Created: / 28-01-2018 / 22:46:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBVariableObjectPresenter methodsFor:'protocol-queries'!
+
+hasChildren
+    ^ varobj hasChildren
+
+    "Created: / 28-01-2018 / 22:49:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBVariableObjectPresenter methodsFor:'testing'!
+
+isVariablePresenter
+    ^ true
+
+    "Created: / 02-06-2017 / 00:05:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBVariableObjectPresenter class methodsFor:'documentation'!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
+
--- a/VDBVariablePresenter.st	Fri Jan 26 12:06:19 2018 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-"
-jv:vdb - Visual / VM Debugger
-Copyright (C) 2015-now Jan Vrany
-
-This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
-
-You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
-"
-"{ Package: 'jv:vdb' }"
-
-"{ NameSpace: Smalltalk }"
-
-VDBModelPresenter subclass:#VDBVariablePresenter
-	instanceVariableNames:'variable'
-	classVariableNames:''
-	poolDictionaries:''
-	category:'VDB-Presentation'
-!
-
-!VDBVariablePresenter class methodsFor:'documentation'!
-
-copyright
-"
-jv:vdb - Visual / VM Debugger
-Copyright (C) 2015-now Jan Vrany
-
-This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
-
-You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
-"
-! !
-
-!VDBVariablePresenter class methodsFor:'menu specs'!
-
-contextMenu
-    "This resource specification was automatically generated
-     by the MenuEditor of ST/X."
-
-    "Do not manually edit this!! If it is corrupted,
-     the MenuEditor may not be able to read the specification."
-
-
-    "
-     MenuEditor new openOnClass:VDBVariablePresenter andSelector:#contextMenu
-     (Menu new fromLiteralArrayEncoding:(VDBVariablePresenter contextMenu)) startUp
-    "
-
-    <resource: #menu>
-
-    ^ 
-     #(Menu
-        (
-         (MenuItem
-            label: 'Copy Value'
-            itemValue: doCopyValue
-          )
-         )
-        nil
-        nil
-      )
-! !
-
-!VDBVariablePresenter methodsFor:'accessing'!
-
-label
-    ^ variable name
-
-    "Created: / 27-02-2015 / 15:57:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-value
-    ^ variable valueString
-
-    "Created: / 02-06-2017 / 07:32:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 11-06-2017 / 23:25:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-valueString
-    ^ variable valueString
-
-    "Created: / 11-06-2017 / 23:25:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-variable
-    ^ variable
-! !
-
-!VDBVariablePresenter methodsFor:'initialization'!
-
-setVariable: aGDBVariable
-    variable := aGDBVariable
-
-    "Created: / 27-02-2015 / 16:00:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!VDBVariablePresenter methodsFor:'menu actions'!
-
-doCopyValue
-    self doCopy: variable varobj value.
-
-    "Created: / 16-01-2018 / 23:28:56 / jv"
-! !
-
-!VDBVariablePresenter methodsFor:'testing'!
-
-isVariablePresenter
-    ^ true
-
-    "Created: / 02-06-2017 / 00:05:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!VDBVariablePresenter class methodsFor:'documentation'!
-
-version_HG
-
-    ^ '$Changeset: <not expanded> $'
-! !
-
--- a/abbrev.stc	Fri Jan 26 12:06:19 2018 +0000
+++ b/abbrev.stc	Sun Jan 28 23:13:36 2018 +0000
@@ -19,7 +19,7 @@
 VDBSourceApplication VDBSourceApplication jv:vdb 'VDB-UI-Source' 2
 VDBThreadGroupPresenter VDBThreadGroupPresenter jv:vdb 'VDB-Presentation' 0
 VDBThreadPresenter VDBThreadPresenter jv:vdb 'VDB-Presentation' 0
-VDBVariablePresenter VDBVariablePresenter jv:vdb 'VDB-Presentation' 0
+VDBVariableObjectPresenter VDBVariableObjectPresenter jv:vdb 'VDB-Presentation' 0
 VDBWindowsDebuggerConsoleApplication VDBWindowsDebuggerConsoleApplication jv:vdb 'VDB-UI-Console-Windows' 2
 VDBAbstractTreeApplication VDBAbstractTreeApplication jv:vdb 'VDB-UI-Abstract' 2
 VDBBreakpointListApplication VDBBreakpointListApplication jv:vdb 'VDB-UI-Others' 2
--- a/bc.mak	Fri Jan 26 12:06:19 2018 +0000
+++ b/bc.mak	Sun Jan 28 23:13:36 2018 +0000
@@ -94,7 +94,7 @@
 $(OUTDIR)VDBSourceApplication.$(O) VDBSourceApplication.$(C) VDBSourceApplication.$(H): VDBSourceApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
 $(OUTDIR)VDBThreadGroupPresenter.$(O) VDBThreadGroupPresenter.$(C) VDBThreadGroupPresenter.$(H): VDBThreadGroupPresenter.st $(INCLUDE_TOP)\jv\vdb\VDBModelPresenter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR)
 $(OUTDIR)VDBThreadPresenter.$(O) VDBThreadPresenter.$(C) VDBThreadPresenter.$(H): VDBThreadPresenter.st $(INCLUDE_TOP)\jv\vdb\VDBModelPresenter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR)
-$(OUTDIR)VDBVariablePresenter.$(O) VDBVariablePresenter.$(C) VDBVariablePresenter.$(H): VDBVariablePresenter.st $(INCLUDE_TOP)\jv\vdb\VDBModelPresenter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR)
+$(OUTDIR)VDBVariableObjectPresenter.$(O) VDBVariableObjectPresenter.$(C) VDBVariableObjectPresenter.$(H): VDBVariableObjectPresenter.st $(INCLUDE_TOP)\jv\vdb\VDBModelPresenter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR)
 $(OUTDIR)VDBWindowsDebuggerConsoleApplication.$(O) VDBWindowsDebuggerConsoleApplication.$(C) VDBWindowsDebuggerConsoleApplication.$(H): VDBWindowsDebuggerConsoleApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
 $(OUTDIR)VDBAbstractTreeApplication.$(O) VDBAbstractTreeApplication.$(C) VDBAbstractTreeApplication.$(H): VDBAbstractTreeApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\jv\vdb\VDBAbstractListApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
 $(OUTDIR)VDBBreakpointListApplication.$(O) VDBBreakpointListApplication.$(C) VDBBreakpointListApplication.$(H): VDBBreakpointListApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\jv\vdb\VDBAbstractListApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
--- a/jv_vdb.st	Fri Jan 26 12:06:19 2018 +0000
+++ b/jv_vdb.st	Sun Jan 28 23:13:36 2018 +0000
@@ -117,7 +117,7 @@
         VDBSourceApplication
         VDBThreadGroupPresenter
         VDBThreadPresenter
-        VDBVariablePresenter
+        VDBVariableObjectPresenter
         VDBWindowsDebuggerConsoleApplication
         VDBAbstractTreeApplication
         VDBBreakpointListApplication
--- a/libInit.cc	Fri Jan 26 12:06:19 2018 +0000
+++ b/libInit.cc	Sun Jan 28 23:13:36 2018 +0000
@@ -34,7 +34,7 @@
 extern void _VDBSourceApplication_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 extern void _VDBThreadGroupPresenter_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 extern void _VDBThreadPresenter_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
-extern void _VDBVariablePresenter_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _VDBVariableObjectPresenter_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 extern void _VDBWindowsDebuggerConsoleApplication_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 extern void _VDBAbstractTreeApplication_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 extern void _VDBBreakpointListApplication_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
@@ -75,7 +75,7 @@
     _VDBSourceApplication_Init(pass,__pRT__,snd);
     _VDBThreadGroupPresenter_Init(pass,__pRT__,snd);
     _VDBThreadPresenter_Init(pass,__pRT__,snd);
-    _VDBVariablePresenter_Init(pass,__pRT__,snd);
+    _VDBVariableObjectPresenter_Init(pass,__pRT__,snd);
     _VDBWindowsDebuggerConsoleApplication_Init(pass,__pRT__,snd);
     _VDBAbstractTreeApplication_Init(pass,__pRT__,snd);
     _VDBBreakpointListApplication_Init(pass,__pRT__,snd);