PO refactoring: get rid of subject instvar.
authorJan Vrany <jan.vrany@fit.cvut.cz>
Tue, 20 May 2014 11:01:39 +0100
changeset 229 c82a22d2153d
parent 228 87ee1ba0e13f
child 230 2c12395f8108
PO refactoring: get rid of subject instvar. The meaning of subject instvar was ambiguous and confusing. Some PO don't even use it to store anything meaningful. Now each PO should define its own instvars with meaningfull names to store information they need.
Make.proto
SmallSense__ClassPO.st
SmallSense__CompletionEngine.st
SmallSense__JavaCompletionEngineSimple.st
SmallSense__JavaImportPO.st
SmallSense__MethodKeywordRestPO.st
SmallSense__MethodPO.st
SmallSense__PO.st
SmallSense__SmalltalkCompletionEngine.st
SmallSense__SnippetPO.st
bc.mak
smallsense.rc
--- a/Make.proto	Thu May 15 17:58:25 2014 +0100
+++ b/Make.proto	Tue May 20 11:01:39 2014 +0100
@@ -169,7 +169,7 @@
 $(OUTDIR)SmallSense__CompletionController.$(O) SmallSense__CompletionController.$(H): SmallSense__CompletionController.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg/EditTextViewCompletionSupport.$(H) $(STCHDR)
 $(OUTDIR)SmallSense__CompletionEngine.$(O) SmallSense__CompletionEngine.$(H): SmallSense__CompletionEngine.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)SmallSense__CompletionResult.$(O) SmallSense__CompletionResult.$(H): SmallSense__CompletionResult.st $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/OrderedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SortedCollection.$(H) $(STCHDR)
-$(OUTDIR)SmallSense__CompletionView.$(O) SmallSense__CompletionView.$(H): SmallSense__CompletionView.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(STCHDR)
+$(OUTDIR)SmallSense__CompletionView.$(O) SmallSense__CompletionView.$(H): SmallSense__CompletionView.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview/DeviceGraphicsContext.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsContext.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(STCHDR)
 $(OUTDIR)SmallSense__CriticsWindow.$(O) SmallSense__CriticsWindow.$(H): SmallSense__CriticsWindow.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libview2/SimpleDialog.$(H) $(STCHDR)
 $(OUTDIR)SmallSense__EditService.$(O) SmallSense__EditService.$(H): SmallSense__EditService.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeViewService.$(H) $(STCHDR)
 $(OUTDIR)SmallSense__EditSupport.$(O) SmallSense__EditSupport.$(H): SmallSense__EditSupport.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -220,7 +220,7 @@
 $(OUTDIR)SmallSense__GroovyCompletionEngineSimple.$(O) SmallSense__GroovyCompletionEngineSimple.$(H): SmallSense__GroovyCompletionEngineSimple.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__CompletionEngine.$(H) $(INCLUDE_TOP)/jv/smallsense/SmallSense__JavaCompletionEngineSimple.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)SmallSense__GroovyEditSupport.$(O) SmallSense__GroovyEditSupport.$(H): SmallSense__GroovyEditSupport.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__EditSupport.$(H) $(INCLUDE_TOP)/jv/smallsense/SmallSense__JavaEditSupport.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)SmallSense__MethodKeywordRestPO.$(O) SmallSense__MethodKeywordRestPO.$(H): SmallSense__MethodKeywordRestPO.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__MethodPO.$(H) $(INCLUDE_TOP)/jv/smallsense/SmallSense__PO.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR)
-$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint/RBLintRule.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint/RBTransformationRule.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/CompiledCode.$(H) $(INCLUDE_TOP)/stx/libbasic/ConfigurableFeatures.$(H) $(INCLUDE_TOP)/stx/libbasic/Dictionary.$(H) $(INCLUDE_TOP)/stx/libbasic/ExecutableFunction.$(H) $(INCLUDE_TOP)/stx/libbasic/IdentityDictionary.$(H) $(INCLUDE_TOP)/stx/libbasic/Method.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/Set.$(H) $(INCLUDE_TOP)/stx/libbasic/UserPreferences.$(H) $(INCLUDE_TOP)/stx/libcomp/AssignmentNode.$(H) $(INCLUDE_TOP)/stx/libcomp/BlockNode.$(H) $(INCLUDE_TOP)/stx/libcomp/MessageNode.$(H) $(INCLUDE_TOP)/stx/libcomp/ParseErrorNode.$(H) $(INCLUDE_TOP)/stx/libcomp/ParseNode.$(H) $(INCLUDE_TOP)/stx/libcomp/PrimaryNode.$(H) $(INCLUDE_TOP)/stx/libcomp/PrimitiveNode.$(H) $(INCLUDE_TOP)/stx/libcomp/ReturnNode.$(H) $(INCLUDE_TOP)/stx/libcomp/StatementNode.$(H) $(INCLUDE_TOP)/stx/libcomp/VariableNode.$(H) $(INCLUDE_TOP)/stx/libhtml/HTMLDocumentFrame.$(H) $(INCLUDE_TOP)/stx/libhtml/HTMLDocumentView.$(H) $(INCLUDE_TOP)/stx/libtool/SystemBrowser.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__BackgroundSourceProcessingService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeCompletionService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeHighlightingService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeNavigationService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeViewService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__NavigationState.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__NewSystemBrowser.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(INCLUDE_TOP)/stx/libview/View.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libwidg/EditTextView.$(H) $(INCLUDE_TOP)/stx/libwidg/ListView.$(H) $(INCLUDE_TOP)/stx/libwidg/TextCollector.$(H) $(INCLUDE_TOP)/stx/libwidg/TextView.$(H) $(INCLUDE_TOP)/stx/libwidg/Workspace.$(H) $(INCLUDE_TOP)/stx/libwidg2/DoWhatIMeanSupport.$(H) $(STCHDR)
+$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint/RBLintRule.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint/RBTransformationRule.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/CompiledCode.$(H) $(INCLUDE_TOP)/stx/libbasic/ConfigurableFeatures.$(H) $(INCLUDE_TOP)/stx/libbasic/Dictionary.$(H) $(INCLUDE_TOP)/stx/libbasic/ExecutableFunction.$(H) $(INCLUDE_TOP)/stx/libbasic/IdentityDictionary.$(H) $(INCLUDE_TOP)/stx/libbasic/Method.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/Set.$(H) $(INCLUDE_TOP)/stx/libbasic/UserPreferences.$(H) $(INCLUDE_TOP)/stx/libcomp/AssignmentNode.$(H) $(INCLUDE_TOP)/stx/libcomp/BlockNode.$(H) $(INCLUDE_TOP)/stx/libcomp/MessageNode.$(H) $(INCLUDE_TOP)/stx/libcomp/ParseErrorNode.$(H) $(INCLUDE_TOP)/stx/libcomp/ParseNode.$(H) $(INCLUDE_TOP)/stx/libcomp/PrimaryNode.$(H) $(INCLUDE_TOP)/stx/libcomp/PrimitiveNode.$(H) $(INCLUDE_TOP)/stx/libcomp/ReturnNode.$(H) $(INCLUDE_TOP)/stx/libcomp/StatementNode.$(H) $(INCLUDE_TOP)/stx/libcomp/VariableNode.$(H) $(INCLUDE_TOP)/stx/libhtml/HTMLDocumentFrame.$(H) $(INCLUDE_TOP)/stx/libhtml/HTMLDocumentView.$(H) $(INCLUDE_TOP)/stx/libtool/SystemBrowser.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__BackgroundSourceProcessingService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeCompletionService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeHighlightingService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeNavigationService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeViewService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__NavigationState.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__NewSystemBrowser.$(H) $(INCLUDE_TOP)/stx/libview/DeviceGraphicsContext.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsContext.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(INCLUDE_TOP)/stx/libview/View.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libwidg/EditTextView.$(H) $(INCLUDE_TOP)/stx/libwidg/ListView.$(H) $(INCLUDE_TOP)/stx/libwidg/TextCollector.$(H) $(INCLUDE_TOP)/stx/libwidg/TextView.$(H) $(INCLUDE_TOP)/stx/libwidg/Workspace.$(H) $(INCLUDE_TOP)/stx/libwidg2/DoWhatIMeanSupport.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
 
--- a/SmallSense__ClassPO.st	Thu May 15 17:58:25 2014 +0100
+++ b/SmallSense__ClassPO.st	Tue May 20 11:01:39 2014 +0100
@@ -3,7 +3,7 @@
 "{ NameSpace: SmallSense }"
 
 PO subclass:#ClassPO
-	instanceVariableNames:'showPrefix'
+	instanceVariableNames:'showPrefix klass'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'SmallSense-Core-Interface-PO'
@@ -14,22 +14,23 @@
 
 icon
 
-    icon ifNil:[icon := SystemBrowser iconForClass: subject].
+    icon ifNil:[icon := SystemBrowser iconForClass: klass].
     ^icon
 
     "Created: / 06-04-2011 / 23:36:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 klass
-    ^ subject
+    ^ klass
 
     "Created: / 25-08-2013 / 13:07:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-klass: klass
-    ^ subject := klass
+klass: aClass
+    ^ klass := aClass
 
     "Created: / 25-08-2013 / 13:07:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 20-05-2014 / 10:05:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 name
@@ -37,18 +38,18 @@
     | nm |
 
     showPrefix ifTrue:[
-        nm := subject name.
-        (context notNil and:[subject isJavaClass]) ifTrue:[
+        nm := klass name.
+        (context notNil and:[klass isJavaClass]) ifTrue:[
             context language isJava ifTrue:[
-                nm := subject javaName
+                nm := klass javaName
             ] ifFalse:[
                 context language isSmalltalk ifTrue:[
-                   nm := 'JAVA ' , (subject  binaryName copyReplaceAll: $/ with: Character space)
+                   nm := 'JAVA ' , (klass  binaryName copyReplaceAll: $/ with: Character space)
                  ]
             ]
         ].
     ] ifFalse:[
-        nm := subject nameWithoutPrefix.
+        nm := klass nameWithoutPrefix.
     ].
     ^nm
 
@@ -67,7 +68,7 @@
 stringAlreadyWritten
     "Answers a string already written in the textview"    
 
-    (subject isJavaClass and:[context language isSmalltalk]) ifTrue:[
+    (klass isJavaClass and:[context language isSmalltalk]) ifTrue:[
         | rec |
 
         rec := context node .
@@ -84,31 +85,23 @@
 !
 
 stringToCompleteForLanguage: language
-    ^ (subject isJavaClass and:[language isSmalltalk]) ifTrue:[
-        'JAVA ', (subject binaryName copyReplaceAll: $/ with: Character space)
+    ^ (klass isJavaClass and:[language isSmalltalk]) ifTrue:[
+        'JAVA ', (klass binaryName copyReplaceAll: $/ with: Character space)
     ] ifFalse:[
         super stringToCompleteForLanguage: language
     ].
 
     "Created: / 03-10-2013 / 16:42:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 20-10-2013 / 02:35:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-subject: aClass
-
-    super subject: aClass.
-
-    "Created: / 06-04-2011 / 21:02:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 03-10-2013 / 16:30:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !ClassPO methodsFor:'converting'!
 
 asString
-    ^subject isJavaClass ifTrue:[
-        subject javaName
+    ^klass isJavaClass ifTrue:[
+        klass javaName
     ] ifFalse:[
-        subject name
+        klass name
     ].
 
     "Created: / 04-04-2012 / 13:00:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -123,9 +116,9 @@
     super displayLabel:aLabel h:lH on:aGC x:x y:y h:h.
 
     showPrefix ifFalse:[
-        namespace := subject isJavaClass 
-                        ifFalse:[subject  nameSpace name]
-                        ifTrue:[subject javaPackage].
+        namespace := klass isJavaClass 
+                        ifFalse:[klass  nameSpace name]
+                        ifTrue:[klass javaPackage].
         (namespace notNil and:[namespace ~~ #Smalltalk]) ifTrue:[
             namespace := 'in ', namespace.
             lw :=  x + IconWidth + (aLabel widthOn: aGC).
@@ -164,6 +157,14 @@
     showPrefix := false.
 
     "Modified: / 20-10-2013 / 02:38:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+initializeWithClass: aClass
+
+    klass := aClass.
+    showPrefix := false.
+
+    "Created: / 20-05-2014 / 09:56:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !ClassPO methodsFor:'testing'!
--- a/SmallSense__CompletionEngine.st	Thu May 15 17:58:25 2014 +0100
+++ b/SmallSense__CompletionEngine.st	Tue May 20 11:01:39 2014 +0100
@@ -147,13 +147,11 @@
     ].
 
     selectors keysAndValuesDo: [:selector :classes|
-        result add:(MethodPO 
-                name:selector
-                class:(classes size == 1 ifTrue:[classes anElement] ifFalse:[classes])
-                stripOff: stripoffPrefix)
+        result add:(PO forClasses: classes selector: selector prefix: stripoffPrefix)
     ]
 
     "Created: / 08-04-2014 / 21:34:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 20-05-2014 / 10:45:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !CompletionEngine methodsFor:'completion-private'!
--- a/SmallSense__JavaCompletionEngineSimple.st	Thu May 15 17:58:25 2014 +0100
+++ b/SmallSense__JavaCompletionEngineSimple.st	Tue May 20 11:01:39 2014 +0100
@@ -162,12 +162,12 @@
             and:[(name at: i + prefix size) == prefix last
             and:[(2 to: prefix size - 1) allSatisfy:[:o| (name at: i + o) == (prefix at: o)]]]])
             ifTrue:[
-                result add: (ClassPO new subject: cls).        
+                result add: (PO forClass: cls).        
             ].
     ].
 
     "Created: / 03-10-2013 / 11:16:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 20-10-2013 / 01:27:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 20-05-2014 / 09:57:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 addFieldsStartingWith: prefix
@@ -203,17 +203,17 @@
 
         name := cls javaName.
         (cls isPublic and:[name startsWith: prefix]) ifTrue:[
-            result add: (JavaImportPO new subject: name; klass: cls; yourself).        
+            result add: (JavaImportPO new import: name; klass: cls; yourself).        
             packages add: cls javaPackage.
         ].
     ].
     "/ Package imports...
     packages do:[:each |
-        result add: (JavaImportPO new subject: (each , '.*'))
+        result add: (JavaImportPO new import: (each , '.*'))
     ].
 
     "Created: / 19-10-2013 / 17:54:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 20-10-2013 / 00:35:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 20-05-2014 / 10:10:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 addLocalsStartingWith: prefix
--- a/SmallSense__JavaImportPO.st	Thu May 15 17:58:25 2014 +0100
+++ b/SmallSense__JavaImportPO.st	Tue May 20 11:01:39 2014 +0100
@@ -3,7 +3,7 @@
 "{ NameSpace: SmallSense }"
 
 PO subclass:#JavaImportPO
-	instanceVariableNames:'klass'
+	instanceVariableNames:'klass import'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'SmallSense-Java-Interface-PO'
@@ -51,6 +51,17 @@
     "Created: / 20-10-2013 / 00:32:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+import
+    ^ import
+!
+
+import:aString
+    import := aString.
+    name := aString
+
+    "Modified: / 20-05-2014 / 10:10:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 klass
     ^ klass
 !
@@ -71,16 +82,10 @@
 stringToCompleteForLanguage: aProgrammingLanguage
     "Answers a string to complete"
 
-    ^ subject , ';'.
+    ^ import , ';'.
 
     "Created: / 20-10-2013 / 00:39:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-subject:aString
-    subject := aString.
-    name := aString
-
-    "Created: / 19-10-2013 / 21:43:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 20-05-2014 / 10:10:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !JavaImportPO class methodsFor:'documentation'!
--- a/SmallSense__MethodKeywordRestPO.st	Thu May 15 17:58:25 2014 +0100
+++ b/SmallSense__MethodKeywordRestPO.st	Tue May 20 11:01:39 2014 +0100
@@ -10,18 +10,6 @@
 !
 
 
-!MethodKeywordRestPO class methodsFor:'Instance creation'!
-
-name:nm class:class stripOff: prefix
-    ^ self new
-        name: nm;
-        class: class;
-        keywords: (nm copyFrom: prefix size + 1);
-        yourself
-
-    "Created: / 08-04-2014 / 21:22:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
 !MethodKeywordRestPO class methodsFor:'accessing'!
 
 icon
@@ -80,6 +68,17 @@
     "Created: / 08-04-2014 / 21:10:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!MethodKeywordRestPO methodsFor:'initialization'!
+
+initializeWithClasses: anArray"Of Classes" selector: aSymbol prefix: aString 
+    selector := aSymbol.
+    name := aSymbol.
+    classes := anArray.
+    keywords := (aSymbol copyFrom: aString size + 1)
+
+    "Created: / 20-05-2014 / 10:44:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !MethodKeywordRestPO class methodsFor:'documentation'!
 
 version_HG
--- a/SmallSense__MethodPO.st	Thu May 15 17:58:25 2014 +0100
+++ b/SmallSense__MethodPO.st	Tue May 20 11:01:39 2014 +0100
@@ -3,41 +3,15 @@
 "{ NameSpace: SmallSense }"
 
 PO subclass:#MethodPO
-	instanceVariableNames:'class'
+	instanceVariableNames:'selector classes'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'SmallSense-Core-Interface-PO'
 !
 
 
-!MethodPO class methodsFor:'Instance creation'!
-
-name:nm class:class 
-    ^ (self new)
-        name:nm;
-        class:class.
-
-    "Created: / 17-10-2013 / 01:04:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-name:nm class:class stripOff: prefix
-    ^ prefix notNil ifTrue:[ 
-        MethodKeywordRestPO name: nm class: class stripOff: prefix.
-    ] ifFalse:[ 
-        self name: nm class: class.
-    ].
-
-    "Created: / 08-04-2014 / 21:20:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
 !MethodPO methodsFor:'accessing'!
 
-class:something
-    class := something.
-
-    "Created: / 06-04-2011 / 16:51:42 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
 cursorColumnAfterComplete
 
     | idx |
@@ -72,39 +46,39 @@
     label isNil ifTrue:[
         | someClass |
 
-        someClass := class isBehavior ifTrue:[class] ifFalse:[class anElement].
-        label := name.
+        someClass := classes anElement.
+        label := selector.
         someClass programmingLanguage isSmalltalk ifFalse:[
-            label := (someClass compiledMethodAt: name) printStringForBrowserWithSelector: name.
+            label := (someClass compiledMethodAt: selector) printStringForBrowserWithSelector: selector.
         ]
     ].
     ^ label
 
     "Created: / 07-04-2011 / 09:56:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 02-10-2013 / 02:28:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 20-05-2014 / 10:28:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 stringToCompleteForLanguage: language
     | someClass |
 
-    someClass := class isBehavior ifTrue:[class] ifFalse:[class anElement].
+    someClass := classes anElement.
     someClass isJavaClass ifTrue:[
         | method |
 
-        method := someClass compiledMethodAt: name.
+        method := someClass compiledMethodAt: selector.
         language isSmalltalk  ifTrue:[          
-            ^  method selector upTo: $(
+            ^ selector upTo: $(
         ].
         ((language askFor: #isJava) or:[language askFor: #isGroovy]) ifTrue:[
-            ^ (method selector upTo: $() , (method numArgs == 0 ifTrue:['()'] ifFalse:['(  )']).
+            ^ (selector upTo: $() , (method numArgs == 0 ifTrue:['()'] ifFalse:['(  )']).
         ].
     ].
     ^ String 
-        fromStringCollection: (name tokensBasedOn: $:)
+        fromStringCollection: (selector tokensBasedOn: $:)
         separatedBy: ':  '.
 
     "Created: / 02-10-2013 / 02:33:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 31-03-2014 / 23:08:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 20-05-2014 / 10:29:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !MethodPO methodsFor:'displaying'!
@@ -115,13 +89,10 @@
     super displayLabel:aLabel h:lH on:aGC x:x y:y h:h.
 
     lw :=  x + IconWidth + (self label widthOn: aGC).
-    class isCollection ifTrue:[
-        cn := (class collect:[:each | each nameWithoutPrefix ]) asArray asStringWith:' , '.
-    ] ifFalse:[
-        cn := class nameWithoutPrefix.
-    ].
+    cn := (classes collect:[:each | each nameWithoutPrefix ]) asArray asStringWith:' , '.
+
     cnw := aGC widthOfString: cn.
-    y0 := y - (lH + 1 - h // 2).
+    y0 := y - ((lH + 1 - h) // 2).
     y0 := y0 + (cn ascentOn:aGC).  
 
     (aGC width > (lw + cnw + 5)) ifTrue:
@@ -132,26 +103,23 @@
     ]
 
     "Created: / 18-09-2013 / 00:19:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 02-10-2013 / 02:17:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (format): / 20-05-2014 / 10:54:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!MethodPO methodsFor:'initialization'!
+
+initializeWithClass: aClass selector: aSymbol
+    ^ self initializeWithClasses: (Array with: aClass) selector: aSymbol
+
+    "Created: / 20-05-2014 / 10:32:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-displayOn:aGC x:x y:y opaque:opaque
-
-    | lw cn cnw fg |
-
-    super displayOn:aGC x:x y:y opaque:opaque.
-    lw :=  x + 16 + (self label widthOn: aGC).
-    cn := class nameWithoutPrefix.
-    cnw := aGC widthOfString: cn.
+initializeWithClasses: anArray"Of Classes" selector: aSymbol 
+    selector := aSymbol.
+    name := aSymbol.
+    classes := anArray
 
-    (aGC width > (lw + cnw + 5)) ifTrue:
-        [fg := aGC paint.
-        aGC paint: Color gray .
-        aGC displayString: cn x: aGC width - cnw - 5 y: y.
-        aGC paint: fg.
-        ]
-
-    "Created: / 21-05-2011 / 11:02:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Created: / 20-05-2014 / 10:32:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !MethodPO methodsFor:'testing'!
--- a/SmallSense__PO.st	Thu May 15 17:58:25 2014 +0100
+++ b/SmallSense__PO.st	Tue May 20 11:01:39 2014 +0100
@@ -3,7 +3,7 @@
 "{ NameSpace: SmallSense }"
 
 HierarchicalItem subclass:#PO
-	instanceVariableNames:'subject icon label name relevance context'
+	instanceVariableNames:'icon label name relevance context'
 	classVariableNames:'IconWidth'
 	poolDictionaries:''
 	category:'SmallSense-Core-Interface-PO'
@@ -24,7 +24,34 @@
 
 !PO class methodsFor:'Instance creation'!
 
+forClass: aClass
+    ^ ClassPO new initializeWithClass: aClass
+
+    "Created: / 20-05-2014 / 09:56:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+forClass: aClass selector: aSymbol
+    ^ MethodPO new initializeWithClass: aClass selector: aSymbol
+
+    "Created: / 20-05-2014 / 10:31:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+forClasses: aCollection selector: aSymbol
+    ^ MethodPO new initializeWithClasses: aCollection selector: aSymbol
+
+    "Created: / 20-05-2014 / 10:33:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+forClasses: aCollection selector: aSymbol prefix: aString
+    ^ aString notEmptyOrNil 
+        ifTrue: [ MethodKeywordRestPO new initializeWithClasses: aCollection selector: aSymbol prefix: aString ]
+        ifFalse:[ MethodPO new initializeWithClasses: aCollection selector: aSymbol ]
+
+    "Created: / 20-05-2014 / 10:43:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 subject: anObject
+    <resource: #obsolete>
 
     ^self new subject: anObject
 
@@ -128,11 +155,19 @@
 !
 
 subject
-    ^ subject
+    <resource: #obsolete>
+
+    self error: 'Should no longer be sent'.
+
+    "Modified: / 20-05-2014 / 10:16:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-subject:something
-    subject := something.
+subject:anObject
+    <resource: #obsolete>
+
+    self error: 'Should no longer be sent'.
+
+    "Modified: / 20-05-2014 / 10:16:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !PO methodsFor:'completion'!
--- a/SmallSense__SmalltalkCompletionEngine.st	Thu May 15 17:58:25 2014 +0100
+++ b/SmallSense__SmalltalkCompletionEngine.st	Tue May 20 11:01:39 2014 +0100
@@ -123,7 +123,7 @@
             cls := ns classNamed: nm.
             (cls notNil and:[cls name = nm]) ifTrue:[
                 (JavaPackage isNil or:[cls isJavaPackage not]) ifTrue:[
-                    result add:(ClassPO new subject: cls; showPrefix: cls isJavaClass).
+                    result add:(((PO forClass: cls)) showPrefix: cls isJavaClass).
                 ]
             ] ifFalse:[
                 (self isGlobalKeyForClassVariable: nm) ifFalse:[  
@@ -139,7 +139,7 @@
                 (JavaPackage isNil or:[cls isJavaPackage not ]) ifTrue:[
                     cls notNil ifTrue:[
                         cls isBehavior ifTrue:[
-                            result add:(ClassPO new subject: cls; showPrefix: cls isJavaClass).
+                            result add:(((PO forClass: cls)) showPrefix: cls isJavaClass).
                         ] ifFalse:[
                             (self isGlobalKeyForClassVariable: nm) ifFalse:[  
                                 result add:(VariablePO globalVariable: nm).
@@ -152,7 +152,7 @@
     ]
 
     "Created: / 26-11-2011 / 17:29:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 09-04-2014 / 13:52:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 20-05-2014 / 09:58:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 addJavaClassesInPackage: prefix
@@ -246,9 +246,7 @@
             seen add: class.
             class theNonMetaclass selectorsAndMethodsDo: [:selector :met | 
                 met isStatic ifTrue:[
-                    result add: (MethodPO 
-                                name: selector
-                                class: met mclass).
+                    result add: (PO forClass: met mclass selector: selector) 
                 ].
             ].
         ] ifFalse:[ 
@@ -272,14 +270,11 @@
     ].
 
     selector2classesMap keysAndValuesDo: [:selector :classes|
-        result add:(MethodPO 
-                name:selector
-                class:(classes size == 1 ifTrue:[classes anElement] ifFalse:[classes])
-                stripOff: stripprefix)
+        result add:(MethodPO forClasses: classes selector: selector prefix: stripprefix) 
     ]
 
     "Created: / 08-04-2014 / 21:23:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 09-05-2014 / 14:44:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 20-05-2014 / 10:47:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 addPools
@@ -305,10 +300,11 @@
         | nm |
 
         nm := pclass fullName copyFrom: class fullName size + 3.
-        result add:(ClassPO new subject: pclass; name: nm).
+        result add:((PO forClass: pclass) name: nm).
     ]
 
     "Created: / 06-08-2013 / 12:28:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 20-05-2014 / 10:00:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 addVariablesFor: node
@@ -353,7 +349,7 @@
     ].
     "Add literals"
     #(#true #false #nil ) do:[:nm|
-        result add: (SnippetPO new subject: nm).
+        result add: (SnippetPO new value: nm).
     ].
 
 
@@ -367,7 +363,7 @@
     ]
 
     "Created: / 31-07-2013 / 00:32:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 22-01-2014 / 19:42:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 20-05-2014 / 10:09:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !SmalltalkCompletionEngine methodsFor:'completion-private'!
--- a/SmallSense__SnippetPO.st	Thu May 15 17:58:25 2014 +0100
+++ b/SmallSense__SnippetPO.st	Tue May 20 11:01:39 2014 +0100
@@ -3,7 +3,7 @@
 "{ NameSpace: SmallSense }"
 
 PO subclass:#SnippetPO
-	instanceVariableNames:''
+	instanceVariableNames:'value'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'SmallSense-Core-Interface-PO'
@@ -12,11 +12,11 @@
 
 !SnippetPO methodsFor:'accessing'!
 
-subject:aString
-    subject := aString.
+value:aString
+    value := aString.
     name := aString
 
-    "Created: / 19-10-2013 / 21:43:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Created: / 20-05-2014 / 10:08:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !SnippetPO methodsFor:'testing'!
--- a/bc.mak	Thu May 15 17:58:25 2014 +0100
+++ b/bc.mak	Tue May 20 11:01:39 2014 +0100
@@ -93,7 +93,7 @@
 $(OUTDIR)SmallSense__CompletionController.$(O) SmallSense__CompletionController.$(H): SmallSense__CompletionController.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg\EditTextViewCompletionSupport.$(H) $(STCHDR)
 $(OUTDIR)SmallSense__CompletionEngine.$(O) SmallSense__CompletionEngine.$(H): SmallSense__CompletionEngine.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)SmallSense__CompletionResult.$(O) SmallSense__CompletionResult.$(H): SmallSense__CompletionResult.st $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\OrderedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SortedCollection.$(H) $(STCHDR)
-$(OUTDIR)SmallSense__CompletionView.$(O) SmallSense__CompletionView.$(H): SmallSense__CompletionView.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(STCHDR)
+$(OUTDIR)SmallSense__CompletionView.$(O) SmallSense__CompletionView.$(H): SmallSense__CompletionView.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview\DeviceGraphicsContext.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsContext.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(STCHDR)
 $(OUTDIR)SmallSense__CriticsWindow.$(O) SmallSense__CriticsWindow.$(H): SmallSense__CriticsWindow.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libview2\SimpleDialog.$(H) $(STCHDR)
 $(OUTDIR)SmallSense__EditService.$(O) SmallSense__EditService.$(H): SmallSense__EditService.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeViewService.$(H) $(STCHDR)
 $(OUTDIR)SmallSense__EditSupport.$(O) SmallSense__EditSupport.$(H): SmallSense__EditSupport.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -144,7 +144,7 @@
 $(OUTDIR)SmallSense__GroovyCompletionEngineSimple.$(O) SmallSense__GroovyCompletionEngineSimple.$(H): SmallSense__GroovyCompletionEngineSimple.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__CompletionEngine.$(H) $(INCLUDE_TOP)\jv\smallsense\SmallSense__JavaCompletionEngineSimple.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)SmallSense__GroovyEditSupport.$(O) SmallSense__GroovyEditSupport.$(H): SmallSense__GroovyEditSupport.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__EditSupport.$(H) $(INCLUDE_TOP)\jv\smallsense\SmallSense__JavaEditSupport.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)SmallSense__MethodKeywordRestPO.$(O) SmallSense__MethodKeywordRestPO.$(H): SmallSense__MethodKeywordRestPO.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__MethodPO.$(H) $(INCLUDE_TOP)\jv\smallsense\SmallSense__PO.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR)
-$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint\RBLintRule.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint\RBTransformationRule.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\CompiledCode.$(H) $(INCLUDE_TOP)\stx\libbasic\ConfigurableFeatures.$(H) $(INCLUDE_TOP)\stx\libbasic\Dictionary.$(H) $(INCLUDE_TOP)\stx\libbasic\ExecutableFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\IdentityDictionary.$(H) $(INCLUDE_TOP)\stx\libbasic\Method.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\Set.$(H) $(INCLUDE_TOP)\stx\libbasic\UserPreferences.$(H) $(INCLUDE_TOP)\stx\libcomp\AssignmentNode.$(H) $(INCLUDE_TOP)\stx\libcomp\BlockNode.$(H) $(INCLUDE_TOP)\stx\libcomp\MessageNode.$(H) $(INCLUDE_TOP)\stx\libcomp\ParseErrorNode.$(H) $(INCLUDE_TOP)\stx\libcomp\ParseNode.$(H) $(INCLUDE_TOP)\stx\libcomp\PrimaryNode.$(H) $(INCLUDE_TOP)\stx\libcomp\PrimitiveNode.$(H) $(INCLUDE_TOP)\stx\libcomp\ReturnNode.$(H) $(INCLUDE_TOP)\stx\libcomp\StatementNode.$(H) $(INCLUDE_TOP)\stx\libcomp\VariableNode.$(H) $(INCLUDE_TOP)\stx\libhtml\HTMLDocumentFrame.$(H) $(INCLUDE_TOP)\stx\libhtml\HTMLDocumentView.$(H) $(INCLUDE_TOP)\stx\libtool\SystemBrowser.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__BackgroundSourceProcessingService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeCompletionService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeHighlightingService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeNavigationService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeViewService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__NavigationState.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__NewSystemBrowser.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(INCLUDE_TOP)\stx\libview\View.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libwidg\EditTextView.$(H) $(INCLUDE_TOP)\stx\libwidg\ListView.$(H) $(INCLUDE_TOP)\stx\libwidg\TextCollector.$(H) $(INCLUDE_TOP)\stx\libwidg\TextView.$(H) $(INCLUDE_TOP)\stx\libwidg\Workspace.$(H) $(INCLUDE_TOP)\stx\libwidg2\DoWhatIMeanSupport.$(H) $(STCHDR)
+$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint\RBLintRule.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint\RBTransformationRule.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\CompiledCode.$(H) $(INCLUDE_TOP)\stx\libbasic\ConfigurableFeatures.$(H) $(INCLUDE_TOP)\stx\libbasic\Dictionary.$(H) $(INCLUDE_TOP)\stx\libbasic\ExecutableFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\IdentityDictionary.$(H) $(INCLUDE_TOP)\stx\libbasic\Method.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\Set.$(H) $(INCLUDE_TOP)\stx\libbasic\UserPreferences.$(H) $(INCLUDE_TOP)\stx\libcomp\AssignmentNode.$(H) $(INCLUDE_TOP)\stx\libcomp\BlockNode.$(H) $(INCLUDE_TOP)\stx\libcomp\MessageNode.$(H) $(INCLUDE_TOP)\stx\libcomp\ParseErrorNode.$(H) $(INCLUDE_TOP)\stx\libcomp\ParseNode.$(H) $(INCLUDE_TOP)\stx\libcomp\PrimaryNode.$(H) $(INCLUDE_TOP)\stx\libcomp\PrimitiveNode.$(H) $(INCLUDE_TOP)\stx\libcomp\ReturnNode.$(H) $(INCLUDE_TOP)\stx\libcomp\StatementNode.$(H) $(INCLUDE_TOP)\stx\libcomp\VariableNode.$(H) $(INCLUDE_TOP)\stx\libhtml\HTMLDocumentFrame.$(H) $(INCLUDE_TOP)\stx\libhtml\HTMLDocumentView.$(H) $(INCLUDE_TOP)\stx\libtool\SystemBrowser.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__BackgroundSourceProcessingService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeCompletionService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeHighlightingService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeNavigationService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeViewService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__NavigationState.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__NewSystemBrowser.$(H) $(INCLUDE_TOP)\stx\libview\DeviceGraphicsContext.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsContext.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(INCLUDE_TOP)\stx\libview\View.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libwidg\EditTextView.$(H) $(INCLUDE_TOP)\stx\libwidg\ListView.$(H) $(INCLUDE_TOP)\stx\libwidg\TextCollector.$(H) $(INCLUDE_TOP)\stx\libwidg\TextView.$(H) $(INCLUDE_TOP)\stx\libwidg\Workspace.$(H) $(INCLUDE_TOP)\stx\libwidg2\DoWhatIMeanSupport.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
 
--- a/smallsense.rc	Thu May 15 17:58:25 2014 +0100
+++ b/smallsense.rc	Tue May 20 11:01:39 2014 +0100
@@ -25,7 +25,7 @@
       VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2011\nCopyright eXept Software AG 1998-2011\0"
       VALUE "ProductName", "Smalltalk/X\0"
       VALUE "ProductVersion", "6.2.3.0\0"
-      VALUE "ProductDate", "Thu, 15 May 2014 15:26:31 GMT\0"
+      VALUE "ProductDate", "Tue, 20 May 2014 09:55:57 GMT\0"
     END
 
   END