It appears that between scala 2.9 and 2.10, the SourceFile class was
moved from one package to another. Eclim doesn't reference that class
directly in its code anywhere, but it uses a scala-ide call which
does, and it seems that during compilation that this indirect
reference is pulled into the java byte code for eclim's scala
completion command. When compiling against 2.10 it would seem that the
scala compiler takes care of translating the old SourceFile location
to the new location and spits out a warning in the process. When
compiling against 2.9, the resulting byte code will continue to
reference the old location.
The issue seems to be that I built the eclim distribution against
2.9 thinking that building against the earlier scala version would
result in byte code that would work in both 2.9 and 2.10. Manually
moving the compiled plugins from an eclipse install with 2.9 to one
with 2.10 seemed to validate that theory, but when I install eclim
using the installer, I run into the same issue you have.
I really want to avoid creating a proliferation of eclim installers.
Having 2 (1 for juno+ and 1 for indigo) is painful enough, so I
want to avoid doubling that to 4 (1 for 2.9 and 1 for 2.10 for each
eclipse version). I'll try to come up with a reasonable way to solve
this.
To work around the issue today, I'm afraid you'll have to build eclim
from source so that it will compile against the 2.10 version of scala
in your eclipse install.
--
eric