Skip to content

Commit

Permalink
Return correct compilation units for class files
Browse files Browse the repository at this point in the history
  • Loading branch information
kiritsuku committed Oct 1, 2014
1 parent 20dcf96 commit e105bad
Showing 1 changed file with 12 additions and 2 deletions.
Expand Up @@ -70,6 +70,8 @@ import org.eclipse.core.resources.IResourceDeltaVisitor
import org.scalaide.util.internal.Utils._
import org.scalaide.core.internal.jdt.model.ScalaCompilationUnit
import org.scalaide.ui.internal.editor.ScalaDocumentProvider
import org.scalaide.core.internal.jdt.model.ScalaClassFile
import org.eclipse.jdt.core.IClassFile

object ScalaPlugin {

Expand Down Expand Up @@ -148,8 +150,16 @@ class ScalaPlugin extends IScalaPlugin with PluginLogConfigurator with IResource
// Scala project instances
private val projects = new mutable.HashMap[IProject, ScalaProject]

override def scalaCompilationUnit(input: IEditorInput): Option[ScalaCompilationUnit] =
Option(documentProvider.getWorkingCopy(input).asInstanceOf[ScalaCompilationUnit])
override def scalaCompilationUnit(input: IEditorInput): Option[ScalaCompilationUnit] = {
def unitOfSourceFile = Option(documentProvider.getWorkingCopy(input).asInstanceOf[ScalaCompilationUnit])

def unitOfClassFile = input.getAdapter(classOf[IClassFile]) match {
case tr: ScalaClassFile => Some(tr)
case _ => None
}

unitOfSourceFile orElse unitOfClassFile
}

def getJavaProject(project: IProject) = JavaCore.create(project)

Expand Down

0 comments on commit e105bad

Please sign in to comment.