SmallSense__JavaCompletionEngine.st
branchcvs_MAIN
changeset 328 d062756d694c
parent 281 200db18cbc2f
child 426 509fd0895236
--- a/SmallSense__JavaCompletionEngine.st	Fri Feb 13 23:32:46 2015 +0100
+++ b/SmallSense__JavaCompletionEngine.st	Fri Feb 13 23:32:59 2015 +0100
@@ -98,15 +98,20 @@
 !
 
 addVariablesInScope: scope
-    ((scope kind == JAVA org eclipse jdt internal compiler lookup Scope METHOD_SCOPE) or:[
-    scope kind == JAVA org eclipse jdt internal compiler lookup Scope BLOCK_SCOPE]) ifTrue:[ 
+    |scopeKind org_eclipse_jdt_internal_compiler_lookup_Scope|
+
+    scopeKind := scope kind.
+    org_eclipse_jdt_internal_compiler_lookup_Scope := JAVA org eclipse jdt internal compiler lookup Scope.
+
+    ((scopeKind == org_eclipse_jdt_internal_compiler_lookup_Scope METHOD_SCOPE) 
+    or:[ scopeKind == org_eclipse_jdt_internal_compiler_lookup_Scope BLOCK_SCOPE]) ifTrue:[ 
         1 to: scope localIndex do:[:i | 
             result add: (PO forLocalVariableBinding: (scope locals at:i) ) 
         ].
         self addVariablesInScope: (scope instVarNamed: #parent). "/ !!?!! Why 'scope parent' does not work?
     ].
 
-    scope kind == JAVA org eclipse jdt internal compiler lookup Scope CLASS_SCOPE ifTrue:[ 
+    scopeKind == org_eclipse_jdt_internal_compiler_lookup_Scope CLASS_SCOPE ifTrue:[ 
         | type |
 
         type := scope referenceType.
@@ -159,33 +164,42 @@
 !JavaCompletionEngine methodsFor:'completion-private'!
 
 complete
-    
-    | position source rslt problemReporter parser tree searcher resolver  |
+    "use the eclipse framework (running in the stx java vm)
+     to do java code completion"
+
+    | position source stx_libjava_tools org_eclipse_jdt org_eclipse_jdt_internal_compiler 
+     org_eclipse_jdt_internal_codeassist rslt problemReporter parser tree searcher resolver  |
 
     position := context codeView characterPositionOfCursor.
 
-    source := JAVA stx libjava tools Source new.
+    stx_libjava_tools := JAVA stx libjava tools.
+    org_eclipse_jdt := JAVA org eclipse jdt.
+    org_eclipse_jdt_internal_compiler := org_eclipse_jdt internal compiler.
+    org_eclipse_jdt_internal_codeassist := org_eclipse_jdt internal codeassist.
+
+    source := stx_libjava_tools Source new.
+
     source setContents: codeView list asStringWithoutEmphasis.
 "/    parser := JAVA stx libjava tools parser Parser new.
-    rslt := JAVA org eclipse jdt internal compiler CompilationResult
-                new: source _: 1 _: 1 _: 1000.  
-    problemReporter := JAVA org eclipse jdt internal compiler problem ProblemReporter
-                new: JAVA org eclipse jdt internal compiler DefaultErrorHandlingPolicies proceedWithAllProblems
-                  _: JAVA stx libjava tools parser Parser defaultCompilerOptions   
-                  _: JAVA stx libjava tools parser Parser defaultProblemFactory.
+    rslt := org_eclipse_jdt_internal_compiler CompilationResult
+                new: source _: 1 _: 1 _: 1000.
 
-    parser := JAVA org eclipse jdt internal codeassist complete CompletionParser 
+    problemReporter := org_eclipse_jdt_internal_compiler problem ProblemReporter
+                new: org_eclipse_jdt_internal_compiler DefaultErrorHandlingPolicies proceedWithAllProblems
+                  _: stx_libjava_tools parser Parser defaultCompilerOptions   
+                  _: stx_libjava_tools parser Parser defaultProblemFactory.
+
+    parser := org_eclipse_jdt_internal_codeassist complete CompletionParser 
                 new: problemReporter _: true.
 
 "/    tree := parser parse: source diet: true resolve: true.
     tree := parser dietParse: source _: rslt _: position - 1"Java is 0-based" - 1"cursor is actualy one fter the end of token".
-    searcher := JAVA org eclipse jdt core dom NodeSearcher new: position - 1"Java is 0-based" - 1"cursor is actualy one fter the end of token".
+    searcher := org_eclipse_jdt core dom NodeSearcher new: position - 1"Java is 0-based" - 1"cursor is actualy one fter the end of token".
     tree traverse: searcher _: tree scope.
-    (searcher found notNil and:[searcher found isKindOf: JAVA org eclipse jdt internal compiler ast AbstractMethodDeclaration]) ifTrue:[ 
+    (searcher found notNil and:[searcher found isKindOf: org_eclipse_jdt_internal_compiler ast AbstractMethodDeclaration]) ifTrue:[ 
         parser parseBlockStatements: searcher found _: tree.
     ].
 
-
     "
     (SmallSense::ParseTreeInspector new node:tree source: codeView list asString) open
     "
@@ -193,7 +207,7 @@
     resolver := (Java classForName: 'stx.libjava.tools.environment.Resolver') new: problemReporter.
     [ 
         resolver resolve: tree.
-    ] on: JAVA org eclipse jdt internal codeassist complete CompletionNodeFound do:[:ex |  
+    ] on: org_eclipse_jdt_internal_codeassist complete CompletionNodeFound do:[:ex |  
         completionNode := ex astNode.
         completionScope := ex scope.
     ].
@@ -212,3 +226,13 @@
     "Modified: / 13-08-2014 / 21:08:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!JavaCompletionEngine class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/goodies/smallsense/SmallSense__JavaCompletionEngine.st,v 1.2 2015-02-13 22:32:59 cg Exp $'
+!
+
+version_CVS
+    ^ '$Path: stx/goodies/smallsense/SmallSense__JavaCompletionEngine.st, Version: 1.0, User: cg, Time: 2015-02-13T23:33:25.667+01$'
+! !
+