Separated JavaCompletionEngine and JavaCompletionEngineSimple.
*Simple variant does ony lexical analysis, whereas JavaCompletionEngine relies
on Eclipse parse tree.
"{ Package: 'jv:smallsense' }"
"{ NameSpace: SmallSense }"
CompletionEngine subclass:#AbstractJavaCompletionEngine
instanceVariableNames:'class method'
classVariableNames:''
poolDictionaries:''
category:'SmallSense-Java'
!
!AbstractJavaCompletionEngine methodsFor:'completion-helpers'!
javaClassesDo: aBlock
| loader loaders |
loaders := Set new.
loaders := Set new.
loader := (class notNil and:[class isJavaClass]) ifTrue:[class classLoader] ifFalse:[JavaVM systemClassLoader].
[ loader notNil ] whileTrue:[
loaders add: loader.
loader := loader instVarNamed: #parent.
].
loaders add: nil.
context environment allClassesDo:[:cls|
(cls isJavaClass and:[loaders includes: cls classLoader]) ifTrue:[
aBlock value: cls.
].
].
"Created: / 04-10-2013 / 13:10:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 13-05-2014 / 12:38:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !