Added support for inspecting expression result in source view
...by selecting it and pression "Alt-I", just like in Smalltalk
debugger.
--- a/Make.proto Wed Mar 14 10:22:11 2018 +0000
+++ b/Make.proto Wed Mar 21 23:06:02 2018 +0000
@@ -131,6 +131,7 @@
# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
$(OUTDIR)VDBAbstractApplication.$(O) VDBAbstractApplication.$(C) VDBAbstractApplication.$(H): VDBAbstractApplication.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
$(OUTDIR)VDBAbstractPresenter.$(O) VDBAbstractPresenter.$(C) VDBAbstractPresenter.$(H): VDBAbstractPresenter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR)
+$(OUTDIR)VDBEvaluator.$(O) VDBEvaluator.$(C) VDBEvaluator.$(H): VDBEvaluator.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)VDBIconLibrary.$(O) VDBIconLibrary.$(C) VDBIconLibrary.$(H): VDBIconLibrary.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)VDBVirtualMemoryMap.$(O) VDBVirtualMemoryMap.$(C) VDBVirtualMemoryMap.$(H): VDBVirtualMemoryMap.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)VDBVirtualMemoryRegion.$(O) VDBVirtualMemoryRegion.$(C) VDBVirtualMemoryRegion.$(H): VDBVirtualMemoryRegion.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
--- a/Make.spec Wed Mar 14 10:22:11 2018 +0000
+++ b/Make.spec Wed Mar 21 23:06:02 2018 +0000
@@ -53,6 +53,7 @@
COMMON_CLASSES= \
VDBAbstractApplication \
VDBAbstractPresenter \
+ VDBEvaluator \
VDBIconLibrary \
VDBVirtualMemoryMap \
VDBVirtualMemoryRegion \
@@ -86,6 +87,7 @@
COMMON_OBJS= \
$(OUTDIR)VDBAbstractApplication.$(O) \
$(OUTDIR)VDBAbstractPresenter.$(O) \
+ $(OUTDIR)VDBEvaluator.$(O) \
$(OUTDIR)VDBIconLibrary.$(O) \
$(OUTDIR)VDBVirtualMemoryMap.$(O) \
$(OUTDIR)VDBVirtualMemoryRegion.$(O) \
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/VDBEvaluator.st Wed Mar 21 23:06:02 2018 +0000
@@ -0,0 +1,78 @@
+"
+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 }"
+
+Object subclass:#VDBEvaluator
+ instanceVariableNames:'debugger'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'VDB-Tools'
+!
+
+!VDBEvaluator 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/
+"
+! !
+
+!VDBEvaluator methodsFor:'accessing - mimicry'!
+
+currentNameSpace: ignored
+ self assert: ignored isNil
+
+ "Created: / 21-03-2018 / 22:40:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+moreSharedPools:ignored
+ self assert: ignored isNil
+
+ "Created: / 21-03-2018 / 22:41:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBEvaluator methodsFor:'evaluation'!
+
+evaluate:aString in: context receiver: receiver notifying: requestor logged:logged ifFail:failBlock
+ ^ debugger evaluate: aString
+
+ "Created: / 21-03-2018 / 22:41:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBEvaluator methodsFor:'initialization'!
+
+setDebugger: aGDBDebugger
+ debugger := aGDBDebugger
+
+ "Created: / 21-03-2018 / 22:14:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBEvaluator methodsFor:'instance creation'!
+
+new
+
+ "/ This is hack to overcome the fact that TextView and other expect
+ "/ class that they instantiate themselves. This is indeed weird interface,
+ "/ but well, we cannot change that easily due to backward compatibility.
+ "/ See
+ "/
+ "/ Workspace >> #executeDoIt:
+ "/
+ ^ self
+
+ "Created: / 21-03-2018 / 22:36:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
--- a/VDBSourceApplication.st Wed Mar 14 10:22:11 2018 +0000
+++ b/VDBSourceApplication.st Wed Mar 21 23:06:02 2018 +0000
@@ -184,12 +184,14 @@
sourceView
sourceView isNil ifTrue:[
sourceView := Tools::CodeView2 new.
+ sourceView compilerClass: (VDBEvaluator new setDebugger: debugger).
sourceView readOnly: true.
sourceView services: #()
].
^ sourceView
"Created: / 21-09-2014 / 01:42:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 21-03-2018 / 22:16:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!VDBSourceApplication methodsFor:'change & update'!
@@ -261,9 +263,14 @@
"Register for debugger events. To be overrided by subclasses"
debugger announcer
- when: GDBStoppedEvent send: #onStoppedEvent: to: self
+ when: GDBStoppedEvent send: #onStoppedEvent: to: self.
+
+ sourceView notNil ifTrue:[
+ sourceView compilerClass setDebugger: debugger.
+ ].
"Created: / 01-02-2018 / 15:18:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 21-03-2018 / 22:18:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!VDBSourceApplication class methodsFor:'documentation'!
--- a/abbrev.stc Wed Mar 14 10:22:11 2018 +0000
+++ b/abbrev.stc Wed Mar 21 23:06:02 2018 +0000
@@ -3,6 +3,7 @@
# it provides information about a classes filename, category and especially namespace.
VDBAbstractApplication VDBAbstractApplication jv:vdb 'VDB-UI-Abstract' 2
VDBAbstractPresenter VDBAbstractPresenter jv:vdb 'VDB-Presentation' 0
+VDBEvaluator VDBEvaluator jv:vdb 'VDB-Tools' 0
VDBIconLibrary VDBIconLibrary jv:vdb 'VDB-UI-Support' 0
VDBVirtualMemoryMap VDBVirtualMemoryMap jv:vdb 'VDB-Tools' 0
VDBVirtualMemoryRegion VDBVirtualMemoryRegion jv:vdb 'VDB-Tools' 0
--- a/application/application.nsi Wed Mar 14 10:22:11 2018 +0000
+++ b/application/application.nsi Wed Mar 21 23:06:02 2018 +0000
@@ -3,7 +3,7 @@
!define PRODUCT_NAME "Visual / VM Debugger"
!define PRODUCT_FILENAME "Visual___VM_Debugger"
-!define PRODUCT_VERSION "6.2.6.0"
+!define PRODUCT_VERSION "8.0.0.0"
!define PRODUCT_PUBLISHER "Jan Vrany"
!define PRODUCT_WEB_SITE "http://www.yoursite.com"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_FILENAME}"
@@ -66,7 +66,7 @@
VIProductVersion "${PRODUCT_VERSION}.0"
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "${PRODUCT_NAME}"
VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "${PRODUCT_PUBLISHER}"
-VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "6.2.32767.32767"
+VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "8.0.32767.32767"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "${PRODUCT_NAME} Installer"
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductVersion" "${PRODUCT_VERSION}"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Copyright (C) Jan Vrany 2015-now"
--- a/application/autopackage/default.apspec Wed Mar 14 10:22:11 2018 +0000
+++ b/application/autopackage/default.apspec Wed Mar 21 23:06:02 2018 +0000
@@ -1,7 +1,7 @@
# -*- shell-script -*-
[Meta]
ShortName: vdb.do
-SoftwareVersion: 6.2.6.0
+SoftwareVersion: 8.0.0.0
DisplayName: Visual / VM Debugger
RootName: Visual / VM Debugger
Summary: Visual / VM Debugger
--- a/application/osx/Info.plist Wed Mar 14 10:22:11 2018 +0000
+++ b/application/osx/Info.plist Wed Mar 21 23:06:02 2018 +0000
@@ -2,21 +2,21 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTP PLIST 1.0//EN" "http//www.apple.com/DTDs/ProperyList-1.0.dtd">
<plist version="1.0">
<dict>
-<key>CFBundleName</key>
+<key>CFBundlePackageType</key>
+<string>APPL</string>
+<key>CFBundleExecutable</key>
<string>vdb.do</string>
<key>CFBundleShortVersionString</key>
-<string>6.2.32767.32767</string>
-<key>CFBundlePackageType</key>
-<string>APPL</string>
-<key>CFBundleIdentifier</key>
-<string>jv.vdb</string>
-<key>CFBundleVersion</key>
-<string>6.2.32767.32767</string>
+<string>8.0.32767.32767</string>
+<key>CFBundleName</key>
+<string>vdb.do</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>LSMinimumSystemVersion</key>
<string>10.6</string>
-<key>CFBundleExecutable</key>
-<string>vdb.do</string>
+<key>CFBundleIdentifier</key>
+<string>jv.vdb</string>
+<key>CFBundleVersion</key>
+<string>8.0.32767.32767</string>
</dict>
</plist>
--- a/bc.mak Wed Mar 14 10:22:11 2018 +0000
+++ b/bc.mak Wed Mar 21 23:06:02 2018 +0000
@@ -78,6 +78,7 @@
# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
$(OUTDIR)VDBAbstractApplication.$(O) VDBAbstractApplication.$(C) VDBAbstractApplication.$(H): VDBAbstractApplication.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
$(OUTDIR)VDBAbstractPresenter.$(O) VDBAbstractPresenter.$(C) VDBAbstractPresenter.$(H): VDBAbstractPresenter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR)
+$(OUTDIR)VDBEvaluator.$(O) VDBEvaluator.$(C) VDBEvaluator.$(H): VDBEvaluator.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)VDBIconLibrary.$(O) VDBIconLibrary.$(C) VDBIconLibrary.$(H): VDBIconLibrary.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)VDBVirtualMemoryMap.$(O) VDBVirtualMemoryMap.$(C) VDBVirtualMemoryMap.$(H): VDBVirtualMemoryMap.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)VDBVirtualMemoryRegion.$(O) VDBVirtualMemoryRegion.$(C) VDBVirtualMemoryRegion.$(H): VDBVirtualMemoryRegion.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
--- a/jv_vdb.st Wed Mar 14 10:22:11 2018 +0000
+++ b/jv_vdb.st Wed Mar 21 23:06:02 2018 +0000
@@ -101,6 +101,7 @@
"<className> or (<className> attributes...) in load order"
VDBAbstractApplication
VDBAbstractPresenter
+ VDBEvaluator
VDBIconLibrary
VDBVirtualMemoryMap
VDBVirtualMemoryRegion
--- a/libInit.cc Wed Mar 14 10:22:11 2018 +0000
+++ b/libInit.cc Wed Mar 21 23:06:02 2018 +0000
@@ -18,6 +18,7 @@
extern void _VDBAbstractApplication_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _VDBAbstractPresenter_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _VDBEvaluator_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _VDBIconLibrary_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _VDBVirtualMemoryMap_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _VDBVirtualMemoryRegion_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
@@ -60,6 +61,7 @@
__BEGIN_PACKAGE2__("libjv_vdb", _libjv_vdb_Init, "jv:vdb");
_VDBAbstractApplication_Init(pass,__pRT__,snd);
_VDBAbstractPresenter_Init(pass,__pRT__,snd);
+ _VDBEvaluator_Init(pass,__pRT__,snd);
_VDBIconLibrary_Init(pass,__pRT__,snd);
_VDBVirtualMemoryMap_Init(pass,__pRT__,snd);
_VDBVirtualMemoryRegion_Init(pass,__pRT__,snd);