Classes renamed to better express theit purpose.
--- a/Make.proto Tue Sep 24 01:53:26 2013 +0100
+++ b/Make.proto Tue Sep 24 02:14:28 2013 +0100
@@ -163,6 +163,7 @@
# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
$(OUTDIR)SmallSense__CodeHighlightingService.$(O) SmallSense__CodeHighlightingService.$(H): SmallSense__CodeHighlightingService.st $(INCLUDE_TOP)/stx/libtool/Tools__CodeHighlightingService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__BackgroundSourceProcessingService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeViewService.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__CodeNavigationService.$(O) SmallSense__CodeNavigationService.$(H): SmallSense__CodeNavigationService.st $(INCLUDE_TOP)/stx/libtool/Tools__CodeNavigationService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeViewService.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)SmallSense__CompletionResultSet.$(O) SmallSense__CompletionResultSet.$(H): SmallSense__CompletionResultSet.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__CompletionWindow.$(O) SmallSense__CompletionWindow.$(H): SmallSense__CompletionWindow.st $(INCLUDE_TOP)/stx/libview2/SimpleDialog.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__CriticsWindow.$(O) SmallSense__CriticsWindow.$(H): SmallSense__CriticsWindow.st $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__EditService.$(O) SmallSense__EditService.$(H): SmallSense__EditService.st $(INCLUDE_TOP)/stx/libtool/Tools__CodeViewService.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -171,18 +172,17 @@
$(OUTDIR)SmallSense__Manager.$(O) SmallSense__Manager.$(H): SmallSense__Manager.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__PO.$(O) SmallSense__PO.$(H): SmallSense__PO.st $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__ParseNodeInspector.$(O) SmallSense__ParseNodeInspector.$(H): SmallSense__ParseNodeInspector.st $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR)
-$(OUTDIR)SmallSense__ParseNodeVisitor.$(O) SmallSense__ParseNodeVisitor.$(H): SmallSense__ParseNodeVisitor.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__ParseTreeIndex.$(O) SmallSense__ParseTreeIndex.$(H): SmallSense__ParseTreeIndex.st $(INCLUDE_TOP)/stx/libbasic/SortedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/OrderedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__ParseTreeIndexEntry.$(O) SmallSense__ParseTreeIndexEntry.$(H): SmallSense__ParseTreeIndexEntry.st $(INCLUDE_TOP)/stx/libbasic/Magnitude.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__Position.$(O) SmallSense__Position.$(H): SmallSense__Position.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)SmallSense__Recognizer.$(O) SmallSense__Recognizer.$(H): SmallSense__Recognizer.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)SmallSense__ResultSet.$(O) SmallSense__ResultSet.$(H): SmallSense__ResultSet.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__SelectorNode.$(O) SmallSense__SelectorNode.$(H): SmallSense__SelectorNode.st $(INCLUDE_TOP)/stx/libcomp/ParseNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__SettingsAppl.$(O) SmallSense__SettingsAppl.$(H): SmallSense__SettingsAppl.st $(INCLUDE_TOP)/stx/libtool/AbstractSettingsApplication.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__SmalltalkChecker.$(O) SmallSense__SmalltalkChecker.$(H): SmallSense__SmalltalkChecker.st $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint/SmalllintChecker.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)SmallSense__SmalltalkCompletion.$(O) SmallSense__SmalltalkCompletion.$(H): SmallSense__SmalltalkCompletion.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__SmalltalkLintAnnotation.$(O) SmallSense__SmalltalkLintAnnotation.$(H): SmallSense__SmalltalkLintAnnotation.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__SmalltalkLintHighlighter.$(O) SmallSense__SmalltalkLintHighlighter.$(H): SmallSense__SmalltalkLintHighlighter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__SmalltalkLintService.$(O) SmallSense__SmalltalkLintService.$(H): SmallSense__SmalltalkLintService.st $(INCLUDE_TOP)/stx/libtool/Tools__BackgroundSourceProcessingService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeViewService.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)SmallSense__SmalltalkParseNodeVisitor.$(O) SmallSense__SmalltalkParseNodeVisitor.$(H): SmallSense__SmalltalkParseNodeVisitor.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__SmalltalkParser.$(O) SmallSense__SmalltalkParser.$(H): SmallSense__SmalltalkParser.st $(INCLUDE_TOP)/stx/libcomp/SyntaxHighlighter.$(H) $(INCLUDE_TOP)/stx/libcomp/AbstractSyntaxHighlighter.$(H) $(INCLUDE_TOP)/stx/libcomp/Parser.$(H) $(INCLUDE_TOP)/stx/libcomp/Scanner.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__SmalltalkQuickFixer.$(O) SmallSense__SmalltalkQuickFixer.$(H): SmallSense__SmalltalkQuickFixer.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__SmalltalkSyntaxHighlighter.$(O) SmallSense__SmalltalkSyntaxHighlighter.$(H): SmallSense__SmalltalkSyntaxHighlighter.st $(INCLUDE_TOP)/stx/libcomp/SyntaxHighlighter.$(H) $(INCLUDE_TOP)/stx/libcomp/AbstractSyntaxHighlighter.$(H) $(INCLUDE_TOP)/stx/libcomp/Parser.$(H) $(INCLUDE_TOP)/stx/libcomp/Scanner.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -194,13 +194,13 @@
$(OUTDIR)SmallSense__ClassPO.$(O) SmallSense__ClassPO.$(H): SmallSense__ClassPO.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__PO.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__ClassType.$(O) SmallSense__ClassType.$(H): SmallSense__ClassType.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__Type.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__ConstantPO.$(O) SmallSense__ConstantPO.$(H): SmallSense__ConstantPO.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__PO.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)SmallSense__Finder.$(O) SmallSense__Finder.$(H): SmallSense__Finder.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__ParseNodeVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__GenericEditSupport.$(O) SmallSense__GenericEditSupport.$(H): SmallSense__GenericEditSupport.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__EditSupport.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__JavaEditSupport.$(O) SmallSense__JavaEditSupport.$(H): SmallSense__JavaEditSupport.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__EditSupport.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__MethodInfo.$(O) SmallSense__MethodInfo.$(H): SmallSense__MethodInfo.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__Info.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__MethodPO.$(O) SmallSense__MethodPO.$(H): SmallSense__MethodPO.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__PO.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__SmalltalkEditSupport.$(O) SmallSense__SmalltalkEditSupport.$(H): SmallSense__SmalltalkEditSupport.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__EditSupport.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)SmallSense__SmalltalkInferencer.$(O) SmallSense__SmalltalkInferencer.$(H): SmallSense__SmalltalkInferencer.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/jv/smallsense/SmallSense__ParseNodeVisitor.$(H) $(STCHDR)
+$(OUTDIR)SmallSense__SmalltalkInferencer.$(O) SmallSense__SmalltalkInferencer.$(H): SmallSense__SmalltalkInferencer.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/jv/smallsense/SmallSense__SmalltalkParseNodeVisitor.$(H) $(STCHDR)
+$(OUTDIR)SmallSense__SmalltalkParseNodeFinder.$(O) SmallSense__SmalltalkParseNodeFinder.$(H): SmallSense__SmalltalkParseNodeFinder.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__SmalltalkParseNodeVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__SnippetPO.$(O) SmallSense__SnippetPO.$(H): SmallSense__SnippetPO.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__PO.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__UnionType.$(O) SmallSense__UnionType.$(H): SmallSense__UnionType.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__Type.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__UnknownType.$(O) SmallSense__UnknownType.$(H): SmallSense__UnknownType.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__Type.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
--- a/Make.spec Tue Sep 24 01:53:26 2013 +0100
+++ b/Make.spec Tue Sep 24 02:14:28 2013 +0100
@@ -52,6 +52,7 @@
COMMON_CLASSES= \
SmallSense::CodeHighlightingService \
SmallSense::CodeNavigationService \
+ SmallSense::CompletionResultSet \
SmallSense::CompletionWindow \
SmallSense::CriticsWindow \
SmallSense::EditService \
@@ -60,18 +61,17 @@
SmallSense::Manager \
SmallSense::PO \
SmallSense::ParseNodeInspector \
- SmallSense::ParseNodeVisitor \
SmallSense::ParseTreeIndex \
SmallSense::ParseTreeIndexEntry \
SmallSense::Position \
- SmallSense::Recognizer \
- SmallSense::ResultSet \
SmallSense::SelectorNode \
SmallSense::SettingsAppl \
SmallSense::SmalltalkChecker \
+ SmallSense::SmalltalkCompletion \
SmallSense::SmalltalkLintAnnotation \
SmallSense::SmalltalkLintHighlighter \
SmallSense::SmalltalkLintService \
+ SmallSense::SmalltalkParseNodeVisitor \
SmallSense::SmalltalkParser \
SmallSense::SmalltalkQuickFixer \
SmallSense::SmalltalkSyntaxHighlighter \
@@ -83,13 +83,13 @@
SmallSense::ClassPO \
SmallSense::ClassType \
SmallSense::ConstantPO \
- SmallSense::Finder \
SmallSense::GenericEditSupport \
SmallSense::JavaEditSupport \
SmallSense::MethodInfo \
SmallSense::MethodPO \
SmallSense::SmalltalkEditSupport \
SmallSense::SmalltalkInferencer \
+ SmallSense::SmalltalkParseNodeFinder \
SmallSense::SnippetPO \
SmallSense::UnionType \
SmallSense::UnknownType \
@@ -101,6 +101,7 @@
COMMON_OBJS= \
$(OUTDIR_SLASH)SmallSense__CodeHighlightingService.$(O) \
$(OUTDIR_SLASH)SmallSense__CodeNavigationService.$(O) \
+ $(OUTDIR_SLASH)SmallSense__CompletionResultSet.$(O) \
$(OUTDIR_SLASH)SmallSense__CompletionWindow.$(O) \
$(OUTDIR_SLASH)SmallSense__CriticsWindow.$(O) \
$(OUTDIR_SLASH)SmallSense__EditService.$(O) \
@@ -109,18 +110,17 @@
$(OUTDIR_SLASH)SmallSense__Manager.$(O) \
$(OUTDIR_SLASH)SmallSense__PO.$(O) \
$(OUTDIR_SLASH)SmallSense__ParseNodeInspector.$(O) \
- $(OUTDIR_SLASH)SmallSense__ParseNodeVisitor.$(O) \
$(OUTDIR_SLASH)SmallSense__ParseTreeIndex.$(O) \
$(OUTDIR_SLASH)SmallSense__ParseTreeIndexEntry.$(O) \
$(OUTDIR_SLASH)SmallSense__Position.$(O) \
- $(OUTDIR_SLASH)SmallSense__Recognizer.$(O) \
- $(OUTDIR_SLASH)SmallSense__ResultSet.$(O) \
$(OUTDIR_SLASH)SmallSense__SelectorNode.$(O) \
$(OUTDIR_SLASH)SmallSense__SettingsAppl.$(O) \
$(OUTDIR_SLASH)SmallSense__SmalltalkChecker.$(O) \
+ $(OUTDIR_SLASH)SmallSense__SmalltalkCompletion.$(O) \
$(OUTDIR_SLASH)SmallSense__SmalltalkLintAnnotation.$(O) \
$(OUTDIR_SLASH)SmallSense__SmalltalkLintHighlighter.$(O) \
$(OUTDIR_SLASH)SmallSense__SmalltalkLintService.$(O) \
+ $(OUTDIR_SLASH)SmallSense__SmalltalkParseNodeVisitor.$(O) \
$(OUTDIR_SLASH)SmallSense__SmalltalkParser.$(O) \
$(OUTDIR_SLASH)SmallSense__SmalltalkQuickFixer.$(O) \
$(OUTDIR_SLASH)SmallSense__SmalltalkSyntaxHighlighter.$(O) \
@@ -132,13 +132,13 @@
$(OUTDIR_SLASH)SmallSense__ClassPO.$(O) \
$(OUTDIR_SLASH)SmallSense__ClassType.$(O) \
$(OUTDIR_SLASH)SmallSense__ConstantPO.$(O) \
- $(OUTDIR_SLASH)SmallSense__Finder.$(O) \
$(OUTDIR_SLASH)SmallSense__GenericEditSupport.$(O) \
$(OUTDIR_SLASH)SmallSense__JavaEditSupport.$(O) \
$(OUTDIR_SLASH)SmallSense__MethodInfo.$(O) \
$(OUTDIR_SLASH)SmallSense__MethodPO.$(O) \
$(OUTDIR_SLASH)SmallSense__SmalltalkEditSupport.$(O) \
$(OUTDIR_SLASH)SmallSense__SmalltalkInferencer.$(O) \
+ $(OUTDIR_SLASH)SmallSense__SmalltalkParseNodeFinder.$(O) \
$(OUTDIR_SLASH)SmallSense__SnippetPO.$(O) \
$(OUTDIR_SLASH)SmallSense__UnionType.$(O) \
$(OUTDIR_SLASH)SmallSense__UnknownType.$(O) \
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/SmallSense__CompletionResultSet.st Tue Sep 24 02:14:28 2013 +0100
@@ -0,0 +1,184 @@
+"{ Package: 'jv:smallsense' }"
+
+"{ NameSpace: SmallSense }"
+
+Object subclass:#CompletionResultSet
+ instanceVariableNames:'items position objectNameCollection selectedObjectIndex
+ selectedName'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'SmallSense-Core'
+!
+
+
+!CompletionResultSet methodsFor:'accessing'!
+
+items
+
+ ^items
+
+ "Created: / 26-11-2011 / 19:06:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+objectCollection
+ ^ items
+!
+
+objectCollection:something
+ items := something.
+
+ "Modified: / 16-03-2011 / 16:42:19 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+objectNameCollection
+ ^ objectNameCollection
+
+ "Modified: / 06-04-2011 / 16:31:19 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+objectNameCollection:something
+ objectNameCollection := something.
+!
+
+position
+ ^ position
+!
+
+position:something
+ position := something.
+!
+
+selectedName
+ ^ selectedName
+!
+
+selectedName:something
+ self findByName:something.
+ selectedName := something.
+
+ "Modified: / 17-03-2011 / 12:10:57 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+selectedObjectDescription
+ ^ (items at:selectedObjectIndex) description.
+
+ "Modified: / 16-03-2011 / 18:17:38 / Jakub <zelenja7@fel.cvut.cz>"
+!
+
+selectedObjectIndex
+ ^ selectedObjectIndex
+!
+
+selectedObjectIndex:something
+ selectedObjectIndex := something.
+! !
+
+!CompletionResultSet methodsFor:'adding'!
+
+add:object
+ "Add senseResultObject to objectCollection and objectNameCollection"
+
+ |helperIndex|
+
+ self checkCollection.
+ (object notNil) ifTrue:[
+ helperIndex := objectNameCollection indexOf:(object name).
+ (helperIndex = 0) ifTrue:[
+ items add:object.
+ objectNameCollection add:(object name).
+ ].
+ ].
+
+ "Created: / 16-03-2011 / 16:43:10 / Jakub <zelenja7@fel.cvut.cz>"
+ "Modified: / 04-04-2011 / 13:48:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+join: collection
+ "joining two SmallSenseResultCollection"
+
+ (collection objectCollection isNil) ifTrue: [
+ ^ nil.
+ ].
+ collection objectCollection do: [:each |
+ self add: each.
+ ].
+
+ "Created: / 17-03-2011 / 12:11:39 / Jakub <zelenja7@fel.cvut.cz>"
+ "Modified: / 17-03-2011 / 17:56:06 / Jakub <zelenja7@fel.cvut.cz>"
+ "Modified: / 04-04-2011 / 13:49:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified (format): / 27-11-2011 / 10:05:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!CompletionResultSet methodsFor:'checking'!
+
+checkCollection
+ (objectNameCollection isNil)
+ ifTrue:[ objectNameCollection := SortedCollection new. ].
+ (items isNil)
+ ifTrue:[ items := SortedCollection sortBlock:[:a :b|a name < b name]].
+
+ "Created: / 16-03-2011 / 16:46:39 / Jakub <zelenja7@fel.cvut.cz>"
+ "Modified: / 07-04-2011 / 10:01:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!CompletionResultSet methodsFor:'finding'!
+
+findByName:name
+|index|
+index:=1.
+items do:[:each|
+(each asString startsWith:name)ifTrue:[
+ selectedObjectIndex:=index.
+ ^index
+].
+index:=index+1.
+].
+selectedObjectIndex:=1.
+^index.
+
+ "Created: / 16-03-2011 / 17:16:24 / Jakub <zelenja7@fel.cvut.cz>"
+ "Modified: / 16-03-2011 / 18:16:55 / Jakub <zelenja7@fel.cvut.cz>"
+! !
+
+!CompletionResultSet methodsFor:'queries'!
+
+isEmpty
+
+ ^items isEmptyOrNil
+
+ "Created: / 27-11-2011 / 10:03:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+isEmptyOrNil
+
+ ^items isEmptyOrNil
+
+ "Created: / 24-07-2013 / 11:51:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+notEmpty
+
+ ^items notEmptyOrNil
+
+ "Created: / 24-07-2013 / 11:51:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 24-07-2013 / 12:53:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+notEmptyOrNil
+
+ ^items notEmptyOrNil
+
+ "Created: / 24-07-2013 / 11:51:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!CompletionResultSet class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+!
+
+version_SVN
+ ^ '$Id: SmallSenseResultSet.st 7826 2011-11-27 09:48:43Z vranyj1 $'
+! !
+
--- a/SmallSense__Finder.st Tue Sep 24 01:53:26 2013 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-"{ Package: 'jv:smallsense' }"
-
-"{ NameSpace: SmallSense }"
-
-ParseNodeVisitor subclass:#Finder
- instanceVariableNames:'position match previous'
- classVariableNames:''
- poolDictionaries:''
- category:'SmallSense-Core'
-!
-
-
-!Finder methodsFor:'finding'!
-
-findNodeIn: source tree: tree line: line column: col
-
- | sourceS |
- sourceS := source readStream.
- line - 1 timesRepeat:[
- (sourceS nextLine) isNil ifTrue:[
- "No such line"
- ^nil
- ].
- ].
- ^self findNodeIn: source tree: tree position: sourceS position + col
-
- "Created: / 26-11-2011 / 15:33:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-findNodeIn: source tree: tree position: pos
-
- position := pos - 1.
- self visit: tree.
- ^Position node: match ? previous position: pos.
-
- "Created: / 26-11-2011 / 15:37:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!Finder methodsFor:'visiting'!
-
-visit:anObject
-
- anObject isNil ifTrue:[^self].
-
- (anObject endPosition notNil and:[position > anObject endPosition]) ifTrue:[
- previous := anObject.
- anObject acceptVisitor: self.
- ^self.
- ].
-
- (anObject startPosition notNil
- and:[anObject endPosition notNil
- and:[position between: anObject startPosition and: anObject endPosition]]) ifTrue:[
- match := anObject.
- ].
- anObject acceptVisitor: self.
-
- "Created: / 26-11-2011 / 15:40:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 19-09-2013 / 11:15:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-visitStatementNode:anObject
-
- self visit: anObject expression.
- self visit: anObject nextStatement.
-
- "Modified: / 25-07-2011 / 22:34:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Created: / 26-11-2011 / 15:40:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!Finder class methodsFor:'documentation'!
-
-version_HG
-
- ^ '$Changeset: <not expanded> $'
-!
-
-version_SVN
- ^ '$Id: SmallSenseFinder.st 7823 2011-11-26 16:55:59Z vranyj1 $'
-! !
-
--- a/SmallSense__ParseNodeVisitor.st Tue Sep 24 01:53:26 2013 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +0,0 @@
-"{ Package: 'jv:smallsense' }"
-
-"{ NameSpace: SmallSense }"
-
-Object subclass:#ParseNodeVisitor
- instanceVariableNames:'class'
- classVariableNames:''
- poolDictionaries:''
- category:'SmallSense-Core'
-!
-
-!ParseNodeVisitor class methodsFor:'documentation'!
-
-documentation
-"
- An abstract parse tree visitor. Copied from libcomp
- as ParseNodeVisitor is autoloaded and we need smallsense
- to be fully compiled.
-
- [author:]
- Jan Vrany <jan.vrany@fit.cvut.cz>
-
- [instance variables:]
-
- [class variables:]
-
- [see also:]
-
-"
-! !
-
-!ParseNodeVisitor class methodsFor:'instance creation'!
-
-new
- "return an initialized instance"
-
- ^ self basicNew initialize.
-! !
-
-!ParseNodeVisitor class methodsFor:'processing'!
-
-process: tree in: class
-
- ^self new process: tree in: class
-
- "Created: / 26-11-2011 / 13:48:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!ParseNodeVisitor methodsFor:'initialization'!
-
-initialize
- "Invoked when a new instance is created."
-
- "/ please change as required (and remove this comment)
-
- "/ super initialize. -- commented since inherited method does nothing
-! !
-
-!ParseNodeVisitor methodsFor:'processing'!
-
-process: tree in: cls
-
- class := cls.
- self visit: tree
-
- "Created: / 26-11-2011 / 13:48:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!ParseNodeVisitor methodsFor:'visiting'!
-
-visit:anObject
-
- | stmt |
-
- ^anObject isStatementNode ifTrue:[
- stmt := anObject.
- [ stmt isNil ] whileFalse:[
- stmt acceptVisitor:self.
- stmt := stmt nextStatement.
- ]
- ] ifFalse:[
- anObject acceptVisitor: self.
- ]
-
- "Modified: / 25-07-2011 / 22:33:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-visitAssignmentNode:anObject
-
- self visit: anObject variable.
- self visit: anObject expression.
-
- "Modified: / 26-11-2011 / 13:20:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-visitBinaryNode:anObject
-
- ^self visitMessageNode: anObject
-
- "Modified: / 25-07-2011 / 22:30:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-visitBlockNode:anObject
-
- anObject statements ifNotNil:[
- self visit: anObject statements
- ].
-
- "Modified: / 25-07-2011 / 22:45:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-visitCascadeNode:anObject
-
- self visitMessageNode: anObject.
-
- "Modified: / 25-07-2011 / 22:37:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-visitConstantNode:anObject
-
- "Modified: / 25-07-2011 / 22:41:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-visitECompletionConstantNode:anObject
- "dispatched back from the visited eCompletionConstantNode-object (visitor pattern)"
-
- "fall back to general object-case - please change as required"
-
- ^ self visitObject:anObject
-!
-
-visitMessageNode:anObject
-
- self visit: anObject receiver.
- anObject arguments do:[:arg|
- self visit: arg.
- ]
-
- "Modified: / 25-07-2011 / 22:37:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-visitObject:anObject
- "dispatched back from the visited objects (visitor pattern)"
-
- "general fallBack - please change as required"
-
- self halt:'not yet implemented'
-!
-
-visitParseErrorNode:anObject
- anObject children notNil ifTrue:[
- anObject children do:[:each|self visit: each].
- ]
-
- "Modified: / 15-08-2013 / 12:34:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-visitPrimitiveNode:anObject
-
- "Modified: / 25-07-2011 / 22:38:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-visitReturnNode:anObject
-
- self visitStatementNode: anObject
-
- "Modified: / 25-07-2011 / 22:34:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-visitSelfNode:anObject
-
- "Modified: / 25-07-2011 / 22:38:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-visitStatementNode:anObject
-
- self visit: anObject expression.
-
- "Modified: / 25-07-2011 / 22:34:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-visitSuperNode:anObject
-
- "Modified: / 25-07-2011 / 22:38:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-visitUnaryNode:anObject
-
- self visitMessageNode: anObject
-
- "Modified: / 25-07-2011 / 22:38:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-visitVariableNode:anObject
-
- "Modified: / 25-07-2011 / 22:38:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!ParseNodeVisitor class methodsFor:'documentation'!
-
-version_HG
-
- ^ '$Changeset: <not expanded> $'
-!
-
-version_SVN
- ^ '$Id: SmallSenseParseNodeVisitor.st 7823 2011-11-26 16:55:59Z vranyj1 $'
-! !
-
--- a/SmallSense__Recognizer.st Tue Sep 24 01:53:26 2013 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,343 +0,0 @@
-"{ Package: 'jv:smallsense' }"
-
-"{ NameSpace: SmallSense }"
-
-Object subclass:#Recognizer
- instanceVariableNames:'resultSet collector'
- classVariableNames:''
- poolDictionaries:''
- category:'SmallSense-Core'
-!
-
-
-!Recognizer class methodsFor:'utilities'!
-
-old_resultSetFor: mode source: source class: class row: row column: col
-
- | parser tree |
-
-
- mode == #method ifTrue:[
- parser := Parser new.
- parser
- parseMethod:source asString
- in: class
- ignoreErrors:false
- ignoreWarnings:false.
- ] ifFalse:[
- parser := Parser for: (source asString readStream).
- "JV@2011-06-13: HACK, use polymorphism"
- tree := parser
- parseExpressionWithSelf:nil
- notifying:nil
- ignoreErrors:false
- ignoreWarnings:false
- inNameSpace:nil.
- parser tree: tree.
- ].
- ^ self new
- recognize:row
- position:col
- collector:parser
-
- "Modified: / 07-04-2011 / 22:55:58 / Jakub <zelenja7@fel.cvut.cz>"
- "Created: / 26-11-2011 / 14:40:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-resultSetFor: mode source: source class: class line: line column: col
-
- | inferencer tree |
-
-
- mode == #method ifTrue:[
- inferencer := SmalltalkInferencer forClass: class methodSource: source asString.
- inferencer parserClass: SmalltalkParser.
- inferencer process.
- ] ifFalse:[
- self breakPoint: #jv.
- ^nil.
- inferencer := Parser for: (source asString readStream).
- "JV@2011-06-13: HACK, use polymorphism"
- tree := inferencer
- parseExpressionWithSelf:nil
- notifying:nil
- ignoreErrors:false
- ignoreWarnings:false
- inNameSpace:nil.
- inferencer tree: tree.
- ].
- ^ self new
- completeAtLine:line
- column:col
- collector:inferencer
-
- "Modified: / 07-04-2011 / 22:55:58 / Jakub <zelenja7@fel.cvut.cz>"
- "Created: / 26-11-2011 / 17:53:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 02-09-2013 / 14:43:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!Recognizer methodsFor:'adding'!
-
-addClassVariables
- | class |
-
- class := collector klass theNonMetaclass.
- class classVarNames do:[:nm|
- resultSet add:(VariablePO classVariable: nm in: class).
- ].
-
- "Created: / 24-07-2013 / 17:00:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 30-07-2013 / 23:32:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-addGlobalsStartingWith: prefix
-
- | class ns cls |
- class := collector klass.
- ns := class nameSpace.
- "nameSpace may return private class, sigh"
- [ ns isNameSpace ] whileFalse:[ ns := ns nameSpace ].
- ns keysDo:[:nm|
- (nm startsWith: prefix) ifTrue:[
- cls := ns classNamed: nm.
- cls notNil ifTrue:[
- cls isBehavior ifTrue:[
- resultSet add:(ClassPO new subject: cls; name: nm).
- ] ifFalse:[
- resultSet add:(VariablePO globalVariable: cls).
- ]
- ]
- ].
- ].
- ns ~~ Smalltalk ifTrue:[
- Smalltalk keysDo:[:nm|
- (nm startsWith: prefix) ifTrue:[
- cls := Smalltalk classNamed: nm.
- cls notNil ifTrue:[
- cls isBehavior ifTrue:[
- resultSet add:(ClassPO new subject: cls; name: nm ).
- ] ifFalse:[
- resultSet add:(VariablePO globalVariable: cls).
- ]
- ]
- ]
- ].
- ]
-
- "Created: / 26-11-2011 / 17:29:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 24-07-2013 / 17:00:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-addMethods: type
-
- type classesDo:[:each|
- | class |
-
- class := each.
- [ class isNil ] whileFalse:[
- class
- selectorsAndMethodsDo:[:selector :met |
- resultSet add:(MethodPO
- name:selector
- description:"met source"nil
- class:class).
- ].
- class := class superclass.
- ].
- ].
-
- "Created: / 26-11-2011 / 17:03:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-addMethodsStartingWith: prefix
-
- Smalltalk allClassesDo:[:class|
- class selectorsAndMethodsDo:[:selector :met |
- (selector startsWith: prefix) ifTrue:[
- resultSet add:(MethodPO
- name:selector
- description:"met source"nil
- class:class).
- ]
- ].
- ].
-
- "Created: / 24-07-2013 / 13:10:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-addPools
- | class |
-
- class := collector klass theNonMetaclass.
- class theNonMetaclass sharedPools do:[:pool|
- pool theNonMetaclass classVarNames do:[:nm|
- resultSet add:(VariablePO classVariable: nm in: pool).
- ]
- ].
-
- "Created: / 24-07-2013 / 16:59:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 30-07-2013 / 23:32:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-addPrivateClasses
- | class |
-
-
- class := collector klass theNonMetaclass.
- class privateClassesDo:[:pclass|
- | nm |
-
- nm := pclass fullName copyFrom: class fullName size + 3.
- resultSet add:(ClassPO new subject: pclass; name: nm).
- ]
-
- "Created: / 06-08-2013 / 12:28:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-addVariablesFor: node
-
- | n klass |
-
- "Add Instance variables"
- klass := collector klass.
- [ klass notNil ] whileTrue:[
- klass instVarNames do:[:nm |
- resultSet add: (VariablePO instanceVariable: nm in: klass).
- ].
- klass := klass superclass.
- ].
- "Add pseudo variables"
- #(self super here thisContext) do:[:nm|
- resultSet add: (VariablePO new name: nm).
- ].
- "Add arguments"
- collector parser methodArgs ? #() do:[:nm|
- resultSet add: (VariablePO argument: nm).
- ].
- "Add temporaries"
- collector parser methodVars ? #() do:[:nm|
- resultSet add: (VariablePO variable: nm).
- ].
-
- n := node.
- [ n notNil ] whileTrue:[
- n isBlockNode ifTrue:[
- n arguments ? #() do:[:barg|resultSet add: (VariablePO variable: barg name)].
- n variables ? #() do:[:bvar|resultSet add: (VariablePO variable: bvar name)].
- ].
- n := n parent.
- ]
-
- "Created: / 31-07-2013 / 00:32:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 18-09-2013 / 00:28:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!Recognizer methodsFor:'completion'!
-
-completeAtLine:line column:col collector:coll
- "find most possible codeCompletion object"
-
- | position |
- resultSet := ResultSet new.
- collector := coll.
-
- (collector tree isNil or:[collector tree == #Error]) ifTrue:[
- ^ resultSet
- ].
-
-
- position := Finder new
- findNodeIn: collector source tree: collector tree
- line: line column: col.
- resultSet position: position.
-
-
- position isAfterNode ifTrue:[
- self completeAfter:position node.
- ] ifFalse:[
- position isInNode ifTrue:[
- self completeIn:position node.
- ] ifFalse:[
- position isBeforeNode ifTrue:[
- self completeBefore:position node.
- ]]].
-
- resultSet isEmpty ifTrue:[
- nil "/Only to set breakpoint here
- ].
- ^resultSet.
-
- "Created: / 04-03-2011 / 13:01:14 / Jakub <zelenja7@fel.cvut.cz>"
- "Modified: / 08-04-2011 / 10:52:59 / Jakub <zelenja7@fel.cvut.cz>"
- "Created: / 26-11-2011 / 17:05:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified (format): / 24-07-2013 / 16:00:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!Recognizer methodsFor:'completion-private'!
-
-completeAfter:node
- "return collection of completion items after given node"
-
- self addMethods: node inferedType
-
- "Created: / 04-03-2011 / 15:45:28 / Jakub <zelenja7@fel.cvut.cz>"
- "Modified: / 08-04-2011 / 10:55:09 / Jakub <zelenja7@fel.cvut.cz>"
- "Created: / 26-11-2011 / 17:07:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-completeBefore:node
-
- self breakPoint: #jv. "Not yet implemented"
-
- "Created: / 04-03-2011 / 15:45:28 / Jakub <zelenja7@fel.cvut.cz>"
- "Modified: / 08-04-2011 / 10:55:09 / Jakub <zelenja7@fel.cvut.cz>"
- "Created: / 26-11-2011 / 17:07:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-completeIn:node
- "return collection which can be afterNode"
-
- node isVariableNode ifTrue:[
- node name first isUppercase ifTrue:[
- self addGlobalsStartingWith: node name.
- self addClassVariables.
- self addPools.
- self addPrivateClasses.
- ] ifFalse:[
- self addVariablesFor: node
- ].
- ^self.
- ].
-
- node isMessage ifTrue:[
- | type |
-
- type := node receiver inferedType.
- type isUnknownType ifFalse:[
- self addMethods: type
- ] ifTrue:[
- self addMethodsStartingWith: node selector
- ].
-
- ^self.
- ].
-
- self breakPoint: #jv.
-
- "Created: / 07-03-2011 / 18:59:02 / Jakub <zelenja7@fel.cvut.cz>"
- "Modified: / 08-04-2011 / 09:31:51 / Jakub <zelenja7@fel.cvut.cz>"
- "Created: / 26-11-2011 / 17:07:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 06-08-2013 / 12:28:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!Recognizer class methodsFor:'documentation'!
-
-version_HG
-
- ^ '$Changeset: <not expanded> $'
-!
-
-version_SVN
- ^ '$Id: SmallSenseRecognizer.st 7826 2011-11-27 09:48:43Z vranyj1 $'
-! !
-
--- a/SmallSense__ResultSet.st Tue Sep 24 01:53:26 2013 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-"{ Package: 'jv:smallsense' }"
-
-"{ NameSpace: SmallSense }"
-
-Object subclass:#ResultSet
- instanceVariableNames:'items position objectNameCollection selectedObjectIndex
- selectedName'
- classVariableNames:''
- poolDictionaries:''
- category:'SmallSense-Core'
-!
-
-
-!ResultSet methodsFor:'accessing'!
-
-items
-
- ^items
-
- "Created: / 26-11-2011 / 19:06:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-objectCollection
- ^ items
-!
-
-objectCollection:something
- items := something.
-
- "Modified: / 16-03-2011 / 16:42:19 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-objectNameCollection
- ^ objectNameCollection
-
- "Modified: / 06-04-2011 / 16:31:19 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-objectNameCollection:something
- objectNameCollection := something.
-!
-
-position
- ^ position
-!
-
-position:something
- position := something.
-!
-
-selectedName
- ^ selectedName
-!
-
-selectedName:something
- self findByName:something.
- selectedName := something.
-
- "Modified: / 17-03-2011 / 12:10:57 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-selectedObjectDescription
- ^ (items at:selectedObjectIndex) description.
-
- "Modified: / 16-03-2011 / 18:17:38 / Jakub <zelenja7@fel.cvut.cz>"
-!
-
-selectedObjectIndex
- ^ selectedObjectIndex
-!
-
-selectedObjectIndex:something
- selectedObjectIndex := something.
-! !
-
-!ResultSet methodsFor:'adding'!
-
-add:object
- "Add senseResultObject to objectCollection and objectNameCollection"
-
- |helperIndex|
-
- self checkCollection.
- (object notNil) ifTrue:[
- helperIndex := objectNameCollection indexOf:(object name).
- (helperIndex = 0) ifTrue:[
- items add:object.
- objectNameCollection add:(object name).
- ].
- ].
-
- "Created: / 16-03-2011 / 16:43:10 / Jakub <zelenja7@fel.cvut.cz>"
- "Modified: / 04-04-2011 / 13:48:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-join: collection
- "joining two SmallSenseResultCollection"
-
- (collection objectCollection isNil) ifTrue: [
- ^ nil.
- ].
- collection objectCollection do: [:each |
- self add: each.
- ].
-
- "Created: / 17-03-2011 / 12:11:39 / Jakub <zelenja7@fel.cvut.cz>"
- "Modified: / 17-03-2011 / 17:56:06 / Jakub <zelenja7@fel.cvut.cz>"
- "Modified: / 04-04-2011 / 13:49:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified (format): / 27-11-2011 / 10:05:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!ResultSet methodsFor:'checking'!
-
-checkCollection
- (objectNameCollection isNil)
- ifTrue:[ objectNameCollection := SortedCollection new. ].
- (items isNil)
- ifTrue:[ items := SortedCollection sortBlock:[:a :b|a name < b name]].
-
- "Created: / 16-03-2011 / 16:46:39 / Jakub <zelenja7@fel.cvut.cz>"
- "Modified: / 07-04-2011 / 10:01:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!ResultSet methodsFor:'finding'!
-
-findByName:name
-|index|
-index:=1.
-items do:[:each|
-(each asString startsWith:name)ifTrue:[
- selectedObjectIndex:=index.
- ^index
-].
-index:=index+1.
-].
-selectedObjectIndex:=1.
-^index.
-
- "Created: / 16-03-2011 / 17:16:24 / Jakub <zelenja7@fel.cvut.cz>"
- "Modified: / 16-03-2011 / 18:16:55 / Jakub <zelenja7@fel.cvut.cz>"
-! !
-
-!ResultSet methodsFor:'queries'!
-
-isEmpty
-
- ^items isEmptyOrNil
-
- "Created: / 27-11-2011 / 10:03:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-isEmptyOrNil
-
- ^items isEmptyOrNil
-
- "Created: / 24-07-2013 / 11:51:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-notEmpty
-
- ^items notEmptyOrNil
-
- "Created: / 24-07-2013 / 11:51:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 24-07-2013 / 12:53:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-notEmptyOrNil
-
- ^items notEmptyOrNil
-
- "Created: / 24-07-2013 / 11:51:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!ResultSet class methodsFor:'documentation'!
-
-version_HG
-
- ^ '$Changeset: <not expanded> $'
-!
-
-version_SVN
- ^ '$Id: SmallSenseResultSet.st 7826 2011-11-27 09:48:43Z vranyj1 $'
-! !
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/SmallSense__SmalltalkCompletion.st Tue Sep 24 02:14:28 2013 +0100
@@ -0,0 +1,343 @@
+"{ Package: 'jv:smallsense' }"
+
+"{ NameSpace: SmallSense }"
+
+Object subclass:#SmalltalkCompletion
+ instanceVariableNames:'resultSet collector'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'SmallSense-Smalltalk-Completion'
+!
+
+
+!SmalltalkCompletion class methodsFor:'utilities'!
+
+old_resultSetFor: mode source: source class: class row: row column: col
+
+ | parser tree |
+
+
+ mode == #method ifTrue:[
+ parser := Parser new.
+ parser
+ parseMethod:source asString
+ in: class
+ ignoreErrors:false
+ ignoreWarnings:false.
+ ] ifFalse:[
+ parser := Parser for: (source asString readStream).
+ "JV@2011-06-13: HACK, use polymorphism"
+ tree := parser
+ parseExpressionWithSelf:nil
+ notifying:nil
+ ignoreErrors:false
+ ignoreWarnings:false
+ inNameSpace:nil.
+ parser tree: tree.
+ ].
+ ^ self new
+ recognize:row
+ position:col
+ collector:parser
+
+ "Modified: / 07-04-2011 / 22:55:58 / Jakub <zelenja7@fel.cvut.cz>"
+ "Created: / 26-11-2011 / 14:40:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+resultSetFor: mode source: source class: class line: line column: col
+
+ | inferencer tree |
+
+
+ mode == #method ifTrue:[
+ inferencer := SmalltalkInferencer forClass: class methodSource: source asString.
+ inferencer parserClass: SmalltalkParser.
+ inferencer process.
+ ] ifFalse:[
+ self breakPoint: #jv.
+ ^nil.
+ inferencer := Parser for: (source asString readStream).
+ "JV@2011-06-13: HACK, use polymorphism"
+ tree := inferencer
+ parseExpressionWithSelf:nil
+ notifying:nil
+ ignoreErrors:false
+ ignoreWarnings:false
+ inNameSpace:nil.
+ inferencer tree: tree.
+ ].
+ ^ self new
+ completeAtLine:line
+ column:col
+ collector:inferencer
+
+ "Modified: / 07-04-2011 / 22:55:58 / Jakub <zelenja7@fel.cvut.cz>"
+ "Created: / 26-11-2011 / 17:53:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 02-09-2013 / 14:43:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!SmalltalkCompletion methodsFor:'adding'!
+
+addClassVariables
+ | class |
+
+ class := collector klass theNonMetaclass.
+ class classVarNames do:[:nm|
+ resultSet add:(VariablePO classVariable: nm in: class).
+ ].
+
+ "Created: / 24-07-2013 / 17:00:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 30-07-2013 / 23:32:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+addGlobalsStartingWith: prefix
+
+ | class ns cls |
+ class := collector klass.
+ ns := class nameSpace.
+ "nameSpace may return private class, sigh"
+ [ ns isNameSpace ] whileFalse:[ ns := ns nameSpace ].
+ ns keysDo:[:nm|
+ (nm startsWith: prefix) ifTrue:[
+ cls := ns classNamed: nm.
+ cls notNil ifTrue:[
+ cls isBehavior ifTrue:[
+ resultSet add:(ClassPO new subject: cls; name: nm).
+ ] ifFalse:[
+ resultSet add:(VariablePO globalVariable: cls).
+ ]
+ ]
+ ].
+ ].
+ ns ~~ Smalltalk ifTrue:[
+ Smalltalk keysDo:[:nm|
+ (nm startsWith: prefix) ifTrue:[
+ cls := Smalltalk classNamed: nm.
+ cls notNil ifTrue:[
+ cls isBehavior ifTrue:[
+ resultSet add:(ClassPO new subject: cls; name: nm ).
+ ] ifFalse:[
+ resultSet add:(VariablePO globalVariable: cls).
+ ]
+ ]
+ ]
+ ].
+ ]
+
+ "Created: / 26-11-2011 / 17:29:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 24-07-2013 / 17:00:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+addMethods: type
+
+ type classesDo:[:each|
+ | class |
+
+ class := each.
+ [ class isNil ] whileFalse:[
+ class
+ selectorsAndMethodsDo:[:selector :met |
+ resultSet add:(MethodPO
+ name:selector
+ description:"met source"nil
+ class:class).
+ ].
+ class := class superclass.
+ ].
+ ].
+
+ "Created: / 26-11-2011 / 17:03:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+addMethodsStartingWith: prefix
+
+ Smalltalk allClassesDo:[:class|
+ class selectorsAndMethodsDo:[:selector :met |
+ (selector startsWith: prefix) ifTrue:[
+ resultSet add:(MethodPO
+ name:selector
+ description:"met source"nil
+ class:class).
+ ]
+ ].
+ ].
+
+ "Created: / 24-07-2013 / 13:10:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+addPools
+ | class |
+
+ class := collector klass theNonMetaclass.
+ class theNonMetaclass sharedPools do:[:pool|
+ pool theNonMetaclass classVarNames do:[:nm|
+ resultSet add:(VariablePO classVariable: nm in: pool).
+ ]
+ ].
+
+ "Created: / 24-07-2013 / 16:59:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 30-07-2013 / 23:32:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+addPrivateClasses
+ | class |
+
+
+ class := collector klass theNonMetaclass.
+ class privateClassesDo:[:pclass|
+ | nm |
+
+ nm := pclass fullName copyFrom: class fullName size + 3.
+ resultSet add:(ClassPO new subject: pclass; name: nm).
+ ]
+
+ "Created: / 06-08-2013 / 12:28:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+addVariablesFor: node
+
+ | n klass |
+
+ "Add Instance variables"
+ klass := collector klass.
+ [ klass notNil ] whileTrue:[
+ klass instVarNames do:[:nm |
+ resultSet add: (VariablePO instanceVariable: nm in: klass).
+ ].
+ klass := klass superclass.
+ ].
+ "Add pseudo variables"
+ #(self super here thisContext) do:[:nm|
+ resultSet add: (VariablePO new name: nm).
+ ].
+ "Add arguments"
+ collector parser methodArgs ? #() do:[:nm|
+ resultSet add: (VariablePO argument: nm).
+ ].
+ "Add temporaries"
+ collector parser methodVars ? #() do:[:nm|
+ resultSet add: (VariablePO variable: nm).
+ ].
+
+ n := node.
+ [ n notNil ] whileTrue:[
+ n isBlockNode ifTrue:[
+ n arguments ? #() do:[:barg|resultSet add: (VariablePO variable: barg name)].
+ n variables ? #() do:[:bvar|resultSet add: (VariablePO variable: bvar name)].
+ ].
+ n := n parent.
+ ]
+
+ "Created: / 31-07-2013 / 00:32:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 18-09-2013 / 00:28:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!SmalltalkCompletion methodsFor:'completion'!
+
+completeAtLine:line column:col collector:coll
+ "find most possible codeCompletion object"
+
+ | position |
+ resultSet := ResultSet new.
+ collector := coll.
+
+ (collector tree isNil or:[collector tree == #Error]) ifTrue:[
+ ^ resultSet
+ ].
+
+
+ position := Finder new
+ findNodeIn: collector source tree: collector tree
+ line: line column: col.
+ resultSet position: position.
+
+
+ position isAfterNode ifTrue:[
+ self completeAfter:position node.
+ ] ifFalse:[
+ position isInNode ifTrue:[
+ self completeIn:position node.
+ ] ifFalse:[
+ position isBeforeNode ifTrue:[
+ self completeBefore:position node.
+ ]]].
+
+ resultSet isEmpty ifTrue:[
+ nil "/Only to set breakpoint here
+ ].
+ ^resultSet.
+
+ "Created: / 04-03-2011 / 13:01:14 / Jakub <zelenja7@fel.cvut.cz>"
+ "Modified: / 08-04-2011 / 10:52:59 / Jakub <zelenja7@fel.cvut.cz>"
+ "Created: / 26-11-2011 / 17:05:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified (format): / 24-07-2013 / 16:00:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!SmalltalkCompletion methodsFor:'completion-private'!
+
+completeAfter:node
+ "return collection of completion items after given node"
+
+ self addMethods: node inferedType
+
+ "Created: / 04-03-2011 / 15:45:28 / Jakub <zelenja7@fel.cvut.cz>"
+ "Modified: / 08-04-2011 / 10:55:09 / Jakub <zelenja7@fel.cvut.cz>"
+ "Created: / 26-11-2011 / 17:07:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+completeBefore:node
+
+ self breakPoint: #jv. "Not yet implemented"
+
+ "Created: / 04-03-2011 / 15:45:28 / Jakub <zelenja7@fel.cvut.cz>"
+ "Modified: / 08-04-2011 / 10:55:09 / Jakub <zelenja7@fel.cvut.cz>"
+ "Created: / 26-11-2011 / 17:07:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+completeIn:node
+ "return collection which can be afterNode"
+
+ node isVariableNode ifTrue:[
+ node name first isUppercase ifTrue:[
+ self addGlobalsStartingWith: node name.
+ self addClassVariables.
+ self addPools.
+ self addPrivateClasses.
+ ] ifFalse:[
+ self addVariablesFor: node
+ ].
+ ^self.
+ ].
+
+ node isMessage ifTrue:[
+ | type |
+
+ type := node receiver inferedType.
+ type isUnknownType ifFalse:[
+ self addMethods: type
+ ] ifTrue:[
+ self addMethodsStartingWith: node selector
+ ].
+
+ ^self.
+ ].
+
+ self breakPoint: #jv.
+
+ "Created: / 07-03-2011 / 18:59:02 / Jakub <zelenja7@fel.cvut.cz>"
+ "Modified: / 08-04-2011 / 09:31:51 / Jakub <zelenja7@fel.cvut.cz>"
+ "Created: / 26-11-2011 / 17:07:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 06-08-2013 / 12:28:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!SmalltalkCompletion class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+!
+
+version_SVN
+ ^ '$Id: SmallSenseRecognizer.st 7826 2011-11-27 09:48:43Z vranyj1 $'
+! !
+
--- a/SmallSense__SmalltalkInferencer.st Tue Sep 24 01:53:26 2013 +0100
+++ b/SmallSense__SmalltalkInferencer.st Tue Sep 24 02:14:28 2013 +0100
@@ -9,14 +9,14 @@
category:'SmallSense-Smalltalk-Types-Inference'
!
-ParseNodeVisitor subclass:#Phase1
+SmalltalkParseNodeVisitor subclass:#Phase1
instanceVariableNames:'classInfo sends types'
classVariableNames:''
poolDictionaries:''
privateIn:SmalltalkInferencer
!
-ParseNodeVisitor subclass:#Phase2
+SmalltalkParseNodeVisitor subclass:#Phase2
instanceVariableNames:'classInfo'
classVariableNames:''
poolDictionaries:''
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/SmallSense__SmalltalkParseNodeFinder.st Tue Sep 24 02:14:28 2013 +0100
@@ -0,0 +1,81 @@
+"{ Package: 'jv:smallsense' }"
+
+"{ NameSpace: SmallSense }"
+
+SmalltalkParseNodeVisitor subclass:#SmalltalkParseNodeFinder
+ instanceVariableNames:'position match previous'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'SmallSense-Smalltalk'
+!
+
+
+!SmalltalkParseNodeFinder methodsFor:'finding'!
+
+findNodeIn: source tree: tree line: line column: col
+
+ | sourceS |
+ sourceS := source readStream.
+ line - 1 timesRepeat:[
+ (sourceS nextLine) isNil ifTrue:[
+ "No such line"
+ ^nil
+ ].
+ ].
+ ^self findNodeIn: source tree: tree position: sourceS position + col
+
+ "Created: / 26-11-2011 / 15:33:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+findNodeIn: source tree: tree position: pos
+
+ position := pos - 1.
+ self visit: tree.
+ ^Position node: match ? previous position: pos.
+
+ "Created: / 26-11-2011 / 15:37:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!SmalltalkParseNodeFinder methodsFor:'visiting'!
+
+visit:anObject
+
+ anObject isNil ifTrue:[^self].
+
+ (anObject endPosition notNil and:[position > anObject endPosition]) ifTrue:[
+ previous := anObject.
+ anObject acceptVisitor: self.
+ ^self.
+ ].
+
+ (anObject startPosition notNil
+ and:[anObject endPosition notNil
+ and:[position between: anObject startPosition and: anObject endPosition]]) ifTrue:[
+ match := anObject.
+ ].
+ anObject acceptVisitor: self.
+
+ "Created: / 26-11-2011 / 15:40:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 19-09-2013 / 11:15:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+visitStatementNode:anObject
+
+ self visit: anObject expression.
+ self visit: anObject nextStatement.
+
+ "Modified: / 25-07-2011 / 22:34:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 26-11-2011 / 15:40:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!SmalltalkParseNodeFinder class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+!
+
+version_SVN
+ ^ '$Id: SmallSenseFinder.st 7823 2011-11-26 16:55:59Z vranyj1 $'
+! !
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/SmallSense__SmalltalkParseNodeVisitor.st Tue Sep 24 02:14:28 2013 +0100
@@ -0,0 +1,209 @@
+"{ Package: 'jv:smallsense' }"
+
+"{ NameSpace: SmallSense }"
+
+Object subclass:#SmalltalkParseNodeVisitor
+ instanceVariableNames:'class'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'SmallSense-Smalltalk'
+!
+
+!SmalltalkParseNodeVisitor class methodsFor:'documentation'!
+
+documentation
+"
+ An abstract parse tree visitor. Copied from libcomp
+ as ParseNodeVisitor is autoloaded and we need smallsense
+ to be fully compiled.
+
+ [author:]
+ Jan Vrany <jan.vrany@fit.cvut.cz>
+
+ [instance variables:]
+
+ [class variables:]
+
+ [see also:]
+
+"
+! !
+
+!SmalltalkParseNodeVisitor class methodsFor:'instance creation'!
+
+new
+ "return an initialized instance"
+
+ ^ self basicNew initialize.
+! !
+
+!SmalltalkParseNodeVisitor class methodsFor:'processing'!
+
+process: tree in: class
+
+ ^self new process: tree in: class
+
+ "Created: / 26-11-2011 / 13:48:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!SmalltalkParseNodeVisitor methodsFor:'initialization'!
+
+initialize
+ "Invoked when a new instance is created."
+
+ "/ please change as required (and remove this comment)
+
+ "/ super initialize. -- commented since inherited method does nothing
+! !
+
+!SmalltalkParseNodeVisitor methodsFor:'processing'!
+
+process: tree in: cls
+
+ class := cls.
+ self visit: tree
+
+ "Created: / 26-11-2011 / 13:48:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!SmalltalkParseNodeVisitor methodsFor:'visiting'!
+
+visit:anObject
+
+ | stmt |
+
+ ^anObject isStatementNode ifTrue:[
+ stmt := anObject.
+ [ stmt isNil ] whileFalse:[
+ stmt acceptVisitor:self.
+ stmt := stmt nextStatement.
+ ]
+ ] ifFalse:[
+ anObject acceptVisitor: self.
+ ]
+
+ "Modified: / 25-07-2011 / 22:33:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+visitAssignmentNode:anObject
+
+ self visit: anObject variable.
+ self visit: anObject expression.
+
+ "Modified: / 26-11-2011 / 13:20:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+visitBinaryNode:anObject
+
+ ^self visitMessageNode: anObject
+
+ "Modified: / 25-07-2011 / 22:30:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+visitBlockNode:anObject
+
+ anObject statements ifNotNil:[
+ self visit: anObject statements
+ ].
+
+ "Modified: / 25-07-2011 / 22:45:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+visitCascadeNode:anObject
+
+ self visitMessageNode: anObject.
+
+ "Modified: / 25-07-2011 / 22:37:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+visitConstantNode:anObject
+
+ "Modified: / 25-07-2011 / 22:41:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+visitECompletionConstantNode:anObject
+ "dispatched back from the visited eCompletionConstantNode-object (visitor pattern)"
+
+ "fall back to general object-case - please change as required"
+
+ ^ self visitObject:anObject
+!
+
+visitMessageNode:anObject
+
+ self visit: anObject receiver.
+ anObject arguments do:[:arg|
+ self visit: arg.
+ ]
+
+ "Modified: / 25-07-2011 / 22:37:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+visitObject:anObject
+ "dispatched back from the visited objects (visitor pattern)"
+
+ "general fallBack - please change as required"
+
+ self halt:'not yet implemented'
+!
+
+visitParseErrorNode:anObject
+ anObject children notNil ifTrue:[
+ anObject children do:[:each|self visit: each].
+ ]
+
+ "Modified: / 15-08-2013 / 12:34:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+visitPrimitiveNode:anObject
+
+ "Modified: / 25-07-2011 / 22:38:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+visitReturnNode:anObject
+
+ self visitStatementNode: anObject
+
+ "Modified: / 25-07-2011 / 22:34:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+visitSelfNode:anObject
+
+ "Modified: / 25-07-2011 / 22:38:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+visitStatementNode:anObject
+
+ self visit: anObject expression.
+
+ "Modified: / 25-07-2011 / 22:34:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+visitSuperNode:anObject
+
+ "Modified: / 25-07-2011 / 22:38:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+visitUnaryNode:anObject
+
+ self visitMessageNode: anObject
+
+ "Modified: / 25-07-2011 / 22:38:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+visitVariableNode:anObject
+
+ "Modified: / 25-07-2011 / 22:38:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!SmalltalkParseNodeVisitor class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+!
+
+version_SVN
+ ^ '$Id: SmallSenseParseNodeVisitor.st 7823 2011-11-26 16:55:59Z vranyj1 $'
+! !
+
--- a/abbrev.stc Tue Sep 24 01:53:26 2013 +0100
+++ b/abbrev.stc Tue Sep 24 02:14:28 2013 +0100
@@ -4,6 +4,7 @@
SmallSense::BaseTestClass SmallSense__BaseTestClass jv:smallsense 'SmallSense-Tests' 1
SmallSense::CodeHighlightingService SmallSense__CodeHighlightingService jv:smallsense 'SmallSense-Core-Services' 0
SmallSense::CodeNavigationService SmallSense__CodeNavigationService jv:smallsense 'SmallSense-Core-Services' 0
+SmallSense::CompletionResultSet SmallSense__CompletionResultSet jv:smallsense 'SmallSense-Core' 0
SmallSense::CompletionWindow SmallSense__CompletionWindow jv:smallsense 'SmallSense-Core-Interface' 1
SmallSense::CriticsWindow SmallSense__CriticsWindow jv:smallsense 'SmallSense-Core-Interface' 1
SmallSense::EditService SmallSense__EditService jv:smallsense 'SmallSense-Core-Services' 0
@@ -13,19 +14,18 @@
SmallSense::Manager SmallSense__Manager jv:smallsense 'SmallSense-Smalltalk-Types-Info' 0
SmallSense::PO SmallSense__PO jv:smallsense 'SmallSense-Core-Interface-PO' 0
SmallSense::ParseNodeInspector SmallSense__ParseNodeInspector jv:smallsense 'SmallSense-Core-Interface' 1
-SmallSense::ParseNodeVisitor SmallSense__ParseNodeVisitor jv:smallsense 'SmallSense-Core' 0
SmallSense::ParseTreeIndex SmallSense__ParseTreeIndex jv:smallsense 'SmallSense-Core-Index' 0
SmallSense::ParseTreeIndexEntry SmallSense__ParseTreeIndexEntry jv:smallsense 'SmallSense-Core-Index' 0
SmallSense::Position SmallSense__Position jv:smallsense 'SmallSense-Core' 0
-SmallSense::Recognizer SmallSense__Recognizer jv:smallsense 'SmallSense-Core' 0
SmallSense::RecognizerTests SmallSense__RecognizerTests jv:smallsense 'SmallSense-Tests' 1
-SmallSense::ResultSet SmallSense__ResultSet jv:smallsense 'SmallSense-Core' 0
SmallSense::SelectorNode SmallSense__SelectorNode jv:smallsense 'SmallSense-Core' 0
SmallSense::SettingsAppl SmallSense__SettingsAppl jv:smallsense 'SmallSense-Core-Interface' 1
SmallSense::SmalltalkChecker SmallSense__SmalltalkChecker jv:smallsense 'SmallSense-Smalltalk-Lint' 0
+SmallSense::SmalltalkCompletion SmallSense__SmalltalkCompletion jv:smallsense 'SmallSense-Smalltalk-Completion' 0
SmallSense::SmalltalkLintAnnotation SmallSense__SmalltalkLintAnnotation jv:smallsense 'SmallSense-Smalltalk-Lint' 0
SmallSense::SmalltalkLintHighlighter SmallSense__SmalltalkLintHighlighter jv:smallsense 'SmallSense-Smalltalk-Lint' 0
SmallSense::SmalltalkLintService SmallSense__SmalltalkLintService jv:smallsense 'SmallSense-Smalltalk-Lint' 0
+SmallSense::SmalltalkParseNodeVisitor SmallSense__SmalltalkParseNodeVisitor jv:smallsense 'SmallSense-Smalltalk' 0
SmallSense::SmalltalkParser SmallSense__SmalltalkParser jv:smallsense 'SmallSense-Smalltalk' 3
SmallSense::SmalltalkParserTests SmallSense__SmalltalkParserTests jv:smallsense 'SmallSense-Tests' 1
SmallSense::SmalltalkQuickFixer SmallSense__SmalltalkQuickFixer jv:smallsense 'SmallSense-Smalltalk-Lint' 0
@@ -39,13 +39,13 @@
SmallSense::ClassPO SmallSense__ClassPO jv:smallsense 'SmallSense-Core-Interface-PO' 0
SmallSense::ClassType SmallSense__ClassType jv:smallsense 'SmallSense-Smalltalk-Types' 0
SmallSense::ConstantPO SmallSense__ConstantPO jv:smallsense 'SmallSense-Core-Interface-PO' 0
-SmallSense::Finder SmallSense__Finder jv:smallsense 'SmallSense-Core' 0
SmallSense::GenericEditSupport SmallSense__GenericEditSupport jv:smallsense 'SmallSense-Core-Services' 0
SmallSense::JavaEditSupport SmallSense__JavaEditSupport jv:smallsense 'SmallSense-Java' 0
SmallSense::MethodInfo SmallSense__MethodInfo jv:smallsense 'SmallSense-Smalltalk-Types-Info' 0
SmallSense::MethodPO SmallSense__MethodPO jv:smallsense 'SmallSense-Core-Interface-PO' 0
SmallSense::SmalltalkEditSupport SmallSense__SmalltalkEditSupport jv:smallsense 'SmallSense-Smalltalk' 0
SmallSense::SmalltalkInferencer SmallSense__SmalltalkInferencer jv:smallsense 'SmallSense-Smalltalk-Types-Inference' 0
+SmallSense::SmalltalkParseNodeFinder SmallSense__SmalltalkParseNodeFinder jv:smallsense 'SmallSense-Smalltalk' 0
SmallSense::SnippetPO SmallSense__SnippetPO jv:smallsense 'SmallSense-Core-Interface-PO' 0
SmallSense::UnionType SmallSense__UnionType jv:smallsense 'SmallSense-Smalltalk-Types' 0
SmallSense::UnknownType SmallSense__UnknownType jv:smallsense 'SmallSense-Smalltalk-Types' 1
--- a/bc.mak Tue Sep 24 01:53:26 2013 +0100
+++ b/bc.mak Tue Sep 24 02:14:28 2013 +0100
@@ -87,6 +87,7 @@
# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
$(OUTDIR)SmallSense__CodeHighlightingService.$(O) SmallSense__CodeHighlightingService.$(H): SmallSense__CodeHighlightingService.st $(INCLUDE_TOP)\stx\libtool\Tools__CodeHighlightingService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__BackgroundSourceProcessingService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeViewService.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__CodeNavigationService.$(O) SmallSense__CodeNavigationService.$(H): SmallSense__CodeNavigationService.st $(INCLUDE_TOP)\stx\libtool\Tools__CodeNavigationService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeViewService.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)SmallSense__CompletionResultSet.$(O) SmallSense__CompletionResultSet.$(H): SmallSense__CompletionResultSet.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__CompletionWindow.$(O) SmallSense__CompletionWindow.$(H): SmallSense__CompletionWindow.st $(INCLUDE_TOP)\stx\libview2\SimpleDialog.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__CriticsWindow.$(O) SmallSense__CriticsWindow.$(H): SmallSense__CriticsWindow.st $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__EditService.$(O) SmallSense__EditService.$(H): SmallSense__EditService.st $(INCLUDE_TOP)\stx\libtool\Tools__CodeViewService.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -95,18 +96,17 @@
$(OUTDIR)SmallSense__Manager.$(O) SmallSense__Manager.$(H): SmallSense__Manager.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__PO.$(O) SmallSense__PO.$(H): SmallSense__PO.st $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__ParseNodeInspector.$(O) SmallSense__ParseNodeInspector.$(H): SmallSense__ParseNodeInspector.st $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR)
-$(OUTDIR)SmallSense__ParseNodeVisitor.$(O) SmallSense__ParseNodeVisitor.$(H): SmallSense__ParseNodeVisitor.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__ParseTreeIndex.$(O) SmallSense__ParseTreeIndex.$(H): SmallSense__ParseTreeIndex.st $(INCLUDE_TOP)\stx\libbasic\SortedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\OrderedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__ParseTreeIndexEntry.$(O) SmallSense__ParseTreeIndexEntry.$(H): SmallSense__ParseTreeIndexEntry.st $(INCLUDE_TOP)\stx\libbasic\Magnitude.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__Position.$(O) SmallSense__Position.$(H): SmallSense__Position.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)SmallSense__Recognizer.$(O) SmallSense__Recognizer.$(H): SmallSense__Recognizer.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)SmallSense__ResultSet.$(O) SmallSense__ResultSet.$(H): SmallSense__ResultSet.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__SelectorNode.$(O) SmallSense__SelectorNode.$(H): SmallSense__SelectorNode.st $(INCLUDE_TOP)\stx\libcomp\ParseNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__SettingsAppl.$(O) SmallSense__SettingsAppl.$(H): SmallSense__SettingsAppl.st $(INCLUDE_TOP)\stx\libtool\AbstractSettingsApplication.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__SmalltalkChecker.$(O) SmallSense__SmalltalkChecker.$(H): SmallSense__SmalltalkChecker.st $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint\SmalllintChecker.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)SmallSense__SmalltalkCompletion.$(O) SmallSense__SmalltalkCompletion.$(H): SmallSense__SmalltalkCompletion.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__SmalltalkLintAnnotation.$(O) SmallSense__SmalltalkLintAnnotation.$(H): SmallSense__SmalltalkLintAnnotation.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__SmalltalkLintHighlighter.$(O) SmallSense__SmalltalkLintHighlighter.$(H): SmallSense__SmalltalkLintHighlighter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__SmalltalkLintService.$(O) SmallSense__SmalltalkLintService.$(H): SmallSense__SmalltalkLintService.st $(INCLUDE_TOP)\stx\libtool\Tools__BackgroundSourceProcessingService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeViewService.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)SmallSense__SmalltalkParseNodeVisitor.$(O) SmallSense__SmalltalkParseNodeVisitor.$(H): SmallSense__SmalltalkParseNodeVisitor.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__SmalltalkParser.$(O) SmallSense__SmalltalkParser.$(H): SmallSense__SmalltalkParser.st $(INCLUDE_TOP)\stx\libcomp\SyntaxHighlighter.$(H) $(INCLUDE_TOP)\stx\libcomp\AbstractSyntaxHighlighter.$(H) $(INCLUDE_TOP)\stx\libcomp\Parser.$(H) $(INCLUDE_TOP)\stx\libcomp\Scanner.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__SmalltalkQuickFixer.$(O) SmallSense__SmalltalkQuickFixer.$(H): SmallSense__SmalltalkQuickFixer.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__SmalltalkSyntaxHighlighter.$(O) SmallSense__SmalltalkSyntaxHighlighter.$(H): SmallSense__SmalltalkSyntaxHighlighter.st $(INCLUDE_TOP)\stx\libcomp\SyntaxHighlighter.$(H) $(INCLUDE_TOP)\stx\libcomp\AbstractSyntaxHighlighter.$(H) $(INCLUDE_TOP)\stx\libcomp\Parser.$(H) $(INCLUDE_TOP)\stx\libcomp\Scanner.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -118,13 +118,13 @@
$(OUTDIR)SmallSense__ClassPO.$(O) SmallSense__ClassPO.$(H): SmallSense__ClassPO.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__PO.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__ClassType.$(O) SmallSense__ClassType.$(H): SmallSense__ClassType.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__Type.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__ConstantPO.$(O) SmallSense__ConstantPO.$(H): SmallSense__ConstantPO.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__PO.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)SmallSense__Finder.$(O) SmallSense__Finder.$(H): SmallSense__Finder.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__ParseNodeVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__GenericEditSupport.$(O) SmallSense__GenericEditSupport.$(H): SmallSense__GenericEditSupport.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__EditSupport.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__JavaEditSupport.$(O) SmallSense__JavaEditSupport.$(H): SmallSense__JavaEditSupport.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__EditSupport.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__MethodInfo.$(O) SmallSense__MethodInfo.$(H): SmallSense__MethodInfo.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__Info.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__MethodPO.$(O) SmallSense__MethodPO.$(H): SmallSense__MethodPO.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__PO.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__SmalltalkEditSupport.$(O) SmallSense__SmalltalkEditSupport.$(H): SmallSense__SmalltalkEditSupport.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__EditSupport.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)SmallSense__SmalltalkInferencer.$(O) SmallSense__SmalltalkInferencer.$(H): SmallSense__SmalltalkInferencer.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\jv\smallsense\SmallSense__ParseNodeVisitor.$(H) $(STCHDR)
+$(OUTDIR)SmallSense__SmalltalkInferencer.$(O) SmallSense__SmalltalkInferencer.$(H): SmallSense__SmalltalkInferencer.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\jv\smallsense\SmallSense__SmalltalkParseNodeVisitor.$(H) $(STCHDR)
+$(OUTDIR)SmallSense__SmalltalkParseNodeFinder.$(O) SmallSense__SmalltalkParseNodeFinder.$(H): SmallSense__SmalltalkParseNodeFinder.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__SmalltalkParseNodeVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__SnippetPO.$(O) SmallSense__SnippetPO.$(H): SmallSense__SnippetPO.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__PO.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__UnionType.$(O) SmallSense__UnionType.$(H): SmallSense__UnionType.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__Type.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)SmallSense__UnknownType.$(O) SmallSense__UnknownType.$(H): SmallSense__UnknownType.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__Type.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
--- a/extensions.st Tue Sep 24 01:53:26 2013 +0100
+++ b/extensions.st Tue Sep 24 02:14:28 2013 +0100
@@ -56,44 +56,49 @@
!DoWhatIMeanSupport methodsFor:'code completion - smallsense'!
-smallSenseCodeCompletionForClass:classOrNilArg context:contextOrNil codeView:codeViewArg
+smallSenseCodeCompletionForClass: classOrNilArg context: contextOrNil codeView: codeViewArg
+ <swizzle: #codeCompletionForClass:context:codeView:>
"SmallSense version of #codeCompletionForClass:context:codeView:.
When SmallSense is loaded, this method is swizzled as #codeCompletionForClass:context:codeView:.
- into DoWhatIMeanSupport.
- "
-
- <swizzle: #codeCompletionForClass:context:codeView:>
-
- | p node text items mode |
+ into DoWhatIMeanSupport."
+
+ | p node text items mode |
codeView := codeViewArg.
- "/ The respondsTo: hack is because CVS CodeView2 has no #mode method.
- mode := (codeView respondsTo:#mode) ifTrue:[codeView mode] ifFalse:[#method].
- contextOrNil notNil ifTrue:[
+
+ "/ The respondsTo: hack is because CVS CodeView2 has no #mode method.
+
+ mode := (codeView respondsTo: #mode) ifTrue: [
+ codeView mode
+ ] ifFalse: [ #method ].
+ contextOrNil notNil ifTrue: [
mode := #method.
].
- items := SmallSense::Recognizer
- resultSetFor: mode
- source: codeView contents
- class: classOrNilArg
- line: codeView cursorLine
- column: codeView cursorCol.
-
- items notEmptyOrNil ifTrue:[
- (p := items position) notNil ifTrue:[
- node := p node.
- node notNil ifTrue:[
- (node isVariable and:[p isInNode]) ifTrue:[
+ items := SmallSense::SmalltalkCompletion
+ resultSetFor: mode
+ source: codeView contents
+ class: classOrNilArg
+ line: codeView cursorLine
+ column: codeView cursorCol.
+ items notEmptyOrNil ifTrue: [
+ (p := items position) notNil ifTrue: [
+ node := p node.
+ node notNil ifTrue: [
+ (node isVariable and: [ p isInNode ]) ifTrue: [
text := node name
- ] ifFalse:[node isMessage ifTrue:[
- text := node selector
- ]].
- ].
+ ] ifFalse: [
+ node isMessage ifTrue: [
+ text := node selector
+ ]
+ ].
+ ].
].
- ].
-
- SmallSense::CompletionWindow openForView: codeView text: text items: items.
+ ].
+ SmallSense::CompletionWindow
+ openForView: codeView
+ text: text
+ items: items.
"Created: / 19-08-2013 / 15:01:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 02-09-2013 / 12:52:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
--- a/jv_smallsense.st Tue Sep 24 01:53:26 2013 +0100
+++ b/jv_smallsense.st Tue Sep 24 02:14:28 2013 +0100
@@ -158,6 +158,7 @@
(#'SmallSense::BaseTestClass' autoload)
#'SmallSense::CodeHighlightingService'
#'SmallSense::CodeNavigationService'
+ #'SmallSense::CompletionResultSet'
#'SmallSense::CompletionWindow'
#'SmallSense::CriticsWindow'
#'SmallSense::EditService'
@@ -167,19 +168,18 @@
#'SmallSense::Manager'
#'SmallSense::PO'
#'SmallSense::ParseNodeInspector'
- #'SmallSense::ParseNodeVisitor'
#'SmallSense::ParseTreeIndex'
#'SmallSense::ParseTreeIndexEntry'
#'SmallSense::Position'
- #'SmallSense::Recognizer'
(#'SmallSense::RecognizerTests' autoload)
- #'SmallSense::ResultSet'
#'SmallSense::SelectorNode'
#'SmallSense::SettingsAppl'
#'SmallSense::SmalltalkChecker'
+ #'SmallSense::SmalltalkCompletion'
#'SmallSense::SmalltalkLintAnnotation'
#'SmallSense::SmalltalkLintHighlighter'
#'SmallSense::SmalltalkLintService'
+ #'SmallSense::SmalltalkParseNodeVisitor'
#'SmallSense::SmalltalkParser'
(#'SmallSense::SmalltalkParserTests' autoload)
#'SmallSense::SmalltalkQuickFixer'
@@ -193,13 +193,13 @@
#'SmallSense::ClassPO'
#'SmallSense::ClassType'
#'SmallSense::ConstantPO'
- #'SmallSense::Finder'
#'SmallSense::GenericEditSupport'
#'SmallSense::JavaEditSupport'
#'SmallSense::MethodInfo'
#'SmallSense::MethodPO'
#'SmallSense::SmalltalkEditSupport'
#'SmallSense::SmalltalkInferencer'
+ #'SmallSense::SmalltalkParseNodeFinder'
#'SmallSense::SnippetPO'
#'SmallSense::UnionType'
#'SmallSense::UnknownType'
--- a/libInit.cc Tue Sep 24 01:53:26 2013 +0100
+++ b/libInit.cc Tue Sep 24 02:14:28 2013 +0100
@@ -29,6 +29,7 @@
__BEGIN_PACKAGE2__("libjv_smallsense", _libjv_smallsense_Init, "jv:smallsense");
_SmallSense__CodeHighlightingService_Init(pass,__pRT__,snd);
_SmallSense__CodeNavigationService_Init(pass,__pRT__,snd);
+_SmallSense__CompletionResultSet_Init(pass,__pRT__,snd);
_SmallSense__CompletionWindow_Init(pass,__pRT__,snd);
_SmallSense__CriticsWindow_Init(pass,__pRT__,snd);
_SmallSense__EditService_Init(pass,__pRT__,snd);
@@ -37,18 +38,17 @@
_SmallSense__Manager_Init(pass,__pRT__,snd);
_SmallSense__PO_Init(pass,__pRT__,snd);
_SmallSense__ParseNodeInspector_Init(pass,__pRT__,snd);
-_SmallSense__ParseNodeVisitor_Init(pass,__pRT__,snd);
_SmallSense__ParseTreeIndex_Init(pass,__pRT__,snd);
_SmallSense__ParseTreeIndexEntry_Init(pass,__pRT__,snd);
_SmallSense__Position_Init(pass,__pRT__,snd);
-_SmallSense__Recognizer_Init(pass,__pRT__,snd);
-_SmallSense__ResultSet_Init(pass,__pRT__,snd);
_SmallSense__SelectorNode_Init(pass,__pRT__,snd);
_SmallSense__SettingsAppl_Init(pass,__pRT__,snd);
_SmallSense__SmalltalkChecker_Init(pass,__pRT__,snd);
+_SmallSense__SmalltalkCompletion_Init(pass,__pRT__,snd);
_SmallSense__SmalltalkLintAnnotation_Init(pass,__pRT__,snd);
_SmallSense__SmalltalkLintHighlighter_Init(pass,__pRT__,snd);
_SmallSense__SmalltalkLintService_Init(pass,__pRT__,snd);
+_SmallSense__SmalltalkParseNodeVisitor_Init(pass,__pRT__,snd);
_SmallSense__SmalltalkParser_Init(pass,__pRT__,snd);
_SmallSense__SmalltalkQuickFixer_Init(pass,__pRT__,snd);
_SmallSense__SmalltalkSyntaxHighlighter_Init(pass,__pRT__,snd);
@@ -60,13 +60,13 @@
_SmallSense__ClassPO_Init(pass,__pRT__,snd);
_SmallSense__ClassType_Init(pass,__pRT__,snd);
_SmallSense__ConstantPO_Init(pass,__pRT__,snd);
-_SmallSense__Finder_Init(pass,__pRT__,snd);
_SmallSense__GenericEditSupport_Init(pass,__pRT__,snd);
_SmallSense__JavaEditSupport_Init(pass,__pRT__,snd);
_SmallSense__MethodInfo_Init(pass,__pRT__,snd);
_SmallSense__MethodPO_Init(pass,__pRT__,snd);
_SmallSense__SmalltalkEditSupport_Init(pass,__pRT__,snd);
_SmallSense__SmalltalkInferencer_Init(pass,__pRT__,snd);
+_SmallSense__SmalltalkParseNodeFinder_Init(pass,__pRT__,snd);
_SmallSense__SnippetPO_Init(pass,__pRT__,snd);
_SmallSense__UnionType_Init(pass,__pRT__,snd);
_SmallSense__UnknownType_Init(pass,__pRT__,snd);
--- a/smallsense.rc Tue Sep 24 01:53:26 2013 +0100
+++ b/smallsense.rc Tue Sep 24 02:14:28 2013 +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", "Tue, 24 Sep 2013 00:52:17 GMT\0"
+ VALUE "ProductDate", "Tue, 24 Sep 2013 01:13:45 GMT\0"
END
END