Giter Site home page Giter Site logo

thangiee / freasy-monad Goto Github PK

View Code? Open in Web Editor NEW
113.0 7.0 9.0 391 KB

Easy way to create Free Monad using Scala macros with first-class Intellij support.

License: MIT License

Scala 100.00%
cat scalaz intellij scala free-monad functional-programming metaprogramming

freasy-monad's Introduction

Freasy Monad

Freasy Monad library makes it easy to create Free Monad for typelevel/cats and scalaz/scalaz.

Getting started

Important

  • Version 0.6.0 uses scala.meta. If using IntelliJ, please uninstall the Freasy Monad Plugin if you have it installed.

  • Replace addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full) with addCompilerPlugin("org.scalameta" % "paradise" % "3.0.0-M11" cross CrossVersion.full) for those coming from versions before 0.6.0.

Freasy Monad is currently available for Scala 2.11 and 2.12, and Scala.js.

If you are using cats, add the following to your build.sbt:

libraryDependencies ++= Seq(
  "com.github.thangiee" %% "freasy-monad" % "0.7.0",
  "org.typelevel" %% "cats-free" % "1.1.0"
)
addCompilerPlugin("org.scalameta" % "paradise" % "3.0.0-M11" cross CrossVersion.full)

If you are using scalaz, add the following to your build.sbt:

libraryDependencies ++= Seq(
  "com.github.thangiee" %% "freasy-monad" % "0.7.0",
  "org.scalaz" %% "scalaz-core" % "7.2.22"
)
addCompilerPlugin("org.scalameta" % "paradise" % "3.0.0-M11" cross CrossVersion.full)

Starting with version 0.5.0, group ID has been changed from com.thangiee to com.github.thangiee.

@free macro

Key-value store example from cats website using free macro:

  import cats._
  import cats.free._
  import freasymonad.cats.free // or freasymonad.scalaz.free
  import scala.collection.mutable

  @free trait KVStore {                     // you can use any names you like
    type KVStoreF[A] = Free[GrammarADT, A]  // as long as you define a type alias for Free 
    sealed trait GrammarADT[A]              // and a sealed trait.

    // abstract methods are automatically lifted into part of the grammar ADT
    def put[T](key: String, value: T): KVStoreF[Unit]
    def get[T](key: String): KVStoreF[Option[T]]

    def update[T](key: String, f: T => T): KVStoreF[Unit] =
      for {
        vMaybe <- get[T](key)
        _      <- vMaybe.map(v => put[T](key, f(v))).getOrElse(Free.pure(()))
      } yield ()
  }

  object Main extends App {
    import KVStore.ops._
  
    def program: KVStoreF[Option[Int]] =
      for {
        _ <- put("wild-cats", 2)
        _ <- update[Int]("wild-cats", _ + 12)
        _ <- put("tame-cats", 5)
        n <- get[Int]("wild-cats")
      } yield n
  
    val impureInterpreter = new KVStore.Interp[Id] {
      val kvs = mutable.Map.empty[String, Any]
      def get[T](key: String): Id[Option[T]] = {
        println(s"get($key)")
        kvs.get(key).map(_.asInstanceOf[T])
      }
      def put[T](key: String, value: T): Id[Unit] = {
        println(s"put($key, $value)")
        kvs(key) = value
      }
    }
    
    impureInterpreter.run(program)
  }

Above example for scalaz here.

During compile time, KVStore is expanded to something similar to:

  object KVStore {
    import cats._
    import cats.free._
    import scala.language.higherKinds
    sealed trait GrammarADT[A]
    object GrammarADT {
      case class Put[T](key: String, value: T) extends GrammarADT[Unit]
      case class Get[T](key: String) extends GrammarADT[Option[T]]
    }
    object ops {
      type KVStoreF[A] = Free[GrammarADT, A]
      def put[T](key: String, value: T): KVStoreF[Unit] = injectOps.put[GrammarADT, T](key, value)
      def get[T](key: String): KVStoreF[Option[T]] = injectOps.get[GrammarADT, T](key)
      def update[T](key: String, f: T => T): KVStoreF[Unit] = injectOps.update[GrammarADT, T](key, f) 
    }
    object injectOps {
      def put[F[_], T](key: String, value: T)(implicit I: Inject[GrammarADT, F]): Free[F, Unit] = Free.liftF(I.inj(GrammarADT.Put(key, value)));
      def get[F[_], T](key: String)(implicit I: Inject[GrammarADT, F]): Free[F, Option[T]] = Free.liftF(I.inj(GrammarADT.Get(key)));
      def update[F[_], T](key: String, f: T => T)(implicit I: Inject[GrammarADT, F]): Free[F, Unit] =
        for {
          vMaybe <- get[F, T](key)
          _      <- vMaybe.map(v => put[F, T](key, f(v))).getOrElse(Free.pure(()))
        } yield ()
    }
    class Injects[F[_]](implicit I: Inject[GrammarADT, F]) {
      def put[T](key: String, value: T): Free[F, Unit] = injectOps.put[F, T](key, value);
      def get[T](key: String): Free[F, Option[T]] = injectOps.get[F, T](key);
      def update[T](key: String, f: T => T): Free[F, Unit] = injectOps.update[F, T](key, f)
    }
    object Injects {
      implicit def injectOps[F[_]](implicit I: Inject[GrammarADT, F]): Inject[F] = new Inject[F]()
    }
    trait Interp[M[_]] extends ~>[KVStore.GrammarADT, M] {
      def apply[A](fa: KVStore.GrammarADT[A]): M[A] = fa match {
        case GrammarADT.Put(key, value) => put(key, value)
        case GrammarADT.Get(key) => get(key)
      }
      def run[A](op: KVStore.ops.KVStoreF[A])(implicit m: cats.Monad[M]): M[A] = op.foldMap(this)
      def put[T](key: String, value: T): M[Unit]
      def get[T](key: String): M[Option[T]]
    }
  }

Benefits

  • From the expanded version, we can see that the free macro takes care most of the tedious parts when it comes to writing free monad. The macro uses our abstract methods to define the ADT case classes, create smart constructors to case classes, and do pattern matching on the ADT.

  • This library also generate Inject for composing Free monads ADTs. See example for cats and scalaz.

  • Writing an interpreter using Intellij becomes a breeze:

    impl

  • No more false error marks when writing interpreter with Intellij!

    regular-interp freasy-monad-interp

IntelliJ support

Since switch to scala.meta in version 0.6.0, syntax highlighting & code completion in IntelliJ works without needing to install a plugin. Therefore, the Freasy Monad Plugin needs to be uninstalled if you are coming from a previous version.

Constraints

There are some constraints on @free trait, and if violated, will result in a compiler error.

  • Can not define var.
  • All val and def need to have an explicit return type.
  • Abstract val and def must have a return type of the defined type alias. From the example above, this would be KVStoreF[...].
  • private and protected access modifiers are not allowed, use package-private instead.

freasy-monad's People

Contributors

kthompson avatar thangiee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

freasy-monad's Issues

Intellij/sbt error: not found:object KVStore

When i use the example provided:

import cats._
import cats.free._
import freasymonad.cats.free

import scala.collection.mutable

@free trait KVStore {                     // you can use any names you like
type KVStoreF[A] = Free[GrammarADT, A]  // as long as you define a type alias for Free
sealed trait GrammarADT[A]              // and a sealed trait.

  // abstract methods are automatically lifted into part of the grammar ADT
  def put[T](key: String, value: T): KVStoreF[Unit]
  def get[T](key: String): KVStoreF[Option[T]]

  def update[T](key: String, f: T => T): KVStoreF[Unit] =
    for {
      vMaybe <- get[T](key)
      _      <- vMaybe.map(v => put[T](key, f(v))).getOrElse(Free.pure(()))
    } yield ()
}

class impureInterpreter extends KVStore.Interp[Id] {
  val kvs = mutable.Map.empty[String, Any]

  def get[T](key: String): Id[Option[T]] = {
    println(s"get($key)")
    kvs.get(key).map(_.asInstanceOf[T])
  }

  def put[T](key: String, value: T): Id[Unit] = {
    println(s"put($key, $value)")
    kvs(key) = value
  }
}

I get an error Error:(64, 33) not found: value KVStore class impureInterpreter extends KVStore.Interp[Id] {

I have tried "com.thangiee" %% "freasy-monad" % "0.3.0", and "com.thangiee" %% "freasy-monad" % "0.4.0",

Specify/change how vals are handled?

First, thanks for nice little library, really cuts in boilerplate and Intellij support is cool.

There's one thing that was not completely obvious, and that is how vals inside trait will be treated. Turns out, they are simply removed. I think this behavior deserves to at least be mentioned in README.

Alternatively, what might be done is treating vals like defs, so that abstract val gets converted to an object extending sealed trait, and non-abstract vals are retained as they are.

Also, it might make sense to do something specific with vars too, maybe prohibit abstract altogether and retain non-abstract?

import cats.free.Free
import freasymonad.free

@free trait Data {
  type Store[A] = Free[StoreADT, A]
  sealed trait StoreADT[A]

  val value: String = "This value will be evicted"

  def read[A]: A

}

object Run extends App {
  println(Data.ops.value) // does not compile
}

Crash on EAP version of Scala plugin

I use Intellij EAP version with Scala plugin on EAP update channel. Today I got a notification that update for Scala plugin is available and updated to version 2016.3.2.35. After doing so, I get an exception in Freasy Monad plugin (version 0.5.0) (long stack trace here) and even syntax highlighting doesn't work at all afterwards. It does work on Scala plugin from release channel, but that one makes half my code red so it's not an option.

I wonder if a plugin compatible with EAP Scala can be released.

Issue compiling when context bounds are used

Here is an example of a bit of code we are having some trouble getting to work.

import cats.free._
import spray.json._
import freasymonad.cats.free

@free
trait DataStore {
  type DataStoreF[A] = Free[DataStoreGrammar, A]
  sealed trait DataStoreGrammar[A]
  
  def getAll[T: JsonReader](): List[T]
}

At the moment we are working around the issue by using:
def getAll[T: JsonReader](unit: Unit): List[T]

Freasy Monad Plugin Kills IntelliJ

I used the freasy-monad-plugin-assembly-0.4.0.jar plugin with intelliJ (running on Ubuntu) and it causes the following error:

NoSuchMethodError: org.jetbrains.plugins.scala.lang.psi.api.statements.params.ScParameters.text()Ljava/lang/String;

After a while, the IDE either freezes up and I have to reboot or my clipboard stops working until I remove the plugin.

I would appreciate it if this issue were resolved asap.

Thank you!

Plugin exception in IntelliJ IDEA 2017.1

I've got an exception when trying to write free monads in new version of Intellij which just came out recently. Some updates to Scala plugin where part of this major release. It could be that they've changed some API.

Here is the full version of my installation:

IntelliJ IDEA 2017.1
Build #IU-171.3780.107, built on March 22, 2017
JRE: 1.8.0_112-release-736-b13 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Mac OS X 10.12.3

Scala plugin version:

2017.1.15

Exception stack trace:

org.jetbrains.plugins.scala.lang.psi.api.statements.ScFunction.returnType()Lorg/jetbrains/plugins/scala/lang/psi/types/result/TypeResult;
java.lang.NoSuchMethodError: org.jetbrains.plugins.scala.lang.psi.api.statements.ScFunction.returnType()Lorg/jetbrains/plugins/scala/lang/psi/types/result/TypeResult;
	at com.thangiee.freasymonad.injector.FreeInjector$RichFunc.<init>(FreeInjector.scala:28)
	at com.thangiee.freasymonad.injector.FreeInjector$.RichFunc(FreeInjector.scala:13)
	at com.thangiee.freasymonad.injector.FreeInjector$$anonfun$17.apply(FreeInjector.scala:79)
	at com.thangiee.freasymonad.injector.FreeInjector$$anonfun$17.apply(FreeInjector.scala:79)
	at scala.collection.TraversableLike$$anonfun$partition$1.apply(TraversableLike.scala:314)
	at scala.collection.TraversableLike$$anonfun$partition$1.apply(TraversableLike.scala:314)
	at scala.collection.immutable.List.foreach(List.scala:381)
	at scala.collection.TraversableLike$class.partition(TraversableLike.scala:314)
	at scala.collection.AbstractTraversable.partition(Traversable.scala:104)
	at com.thangiee.freasymonad.injector.FreeInjector$class.injectInners(FreeInjector.scala:79)
	at com.thangiee.freasymonad.injector.CatsFreeInjector.injectInners(CatsFreeInjector.scala:3)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.SyntheticMembersInjector$$anonfun$injectInners$1.apply(SyntheticMembersInjector.scala:119)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.SyntheticMembersInjector$$anonfun$injectInners$1.apply(SyntheticMembersInjector.scala:118)
	at scala.collection.immutable.HashSet$HashSet1.foreach(HashSet.scala:316)
	at scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:972)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.SyntheticMembersInjector$.injectInners(SyntheticMembersInjector.scala:118)
	at org.jetbrains.plugins.scala.lang.psi.api.toplevel.typedef.ScTypeDefinition$class.syntheticTypeDefinitionsImpl(ScTypeDefinition.scala:70)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.ScTypeDefinitionImpl.syntheticTypeDefinitionsImpl(ScTypeDefinitionImpl.scala:48)
	at org.jetbrains.plugins.scala.lang.psi.api.toplevel.typedef.ScTemplateDefinition$class.syntheticTypeDefinitions(ScTemplateDefinition.scala:173)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.ScTypeDefinitionImpl.syntheticTypeDefinitions(ScTypeDefinitionImpl.scala:48)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$ParameterlessNodes$.processScala(TypeDefinitionMembers.scala:195)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.MixinNodes.build(MixinNodes.scala:338)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.MixinNodes.build(MixinNodes.scala:310)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$.inner$1(TypeDefinitionMembers.scala:509)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$.getParameterlessSignatures(TypeDefinitionMembers.scala:511)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$$anonfun$processDeclarations$2.apply(TypeDefinitionMembers.scala:662)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$$anonfun$processDeclarations$2.apply(TypeDefinitionMembers.scala:662)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$Lazy.apply(TypeDefinitionMembers.scala:713)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$.privateProcessDeclarations(TypeDefinitionMembers.scala:960)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$.processDeclarations(TypeDefinitionMembers.scala:661)
	at org.jetbrains.plugins.scala.lang.resolve.processor.BaseProcessor.processElement(BaseProcessor.scala:296)
	at org.jetbrains.plugins.scala.lang.resolve.processor.BaseProcessor.processType(BaseProcessor.scala:202)
	at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.processQualifierResolveResult(ScStableCodeReferenceElementImpl.scala:344)
	at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.processQualifier(ScStableCodeReferenceElementImpl.scala:323)
	at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.doResolve(ScStableCodeReferenceElementImpl.scala:455)
	at org.jetbrains.plugins.scala.lang.resolve.StableCodeReferenceElementResolver.resolve(StableCodeReferenceElementResolver.scala:41)
	at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.multiResolve(ScStableCodeReferenceElementImpl.scala:283)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.imports.ScImportStmtImpl.workWithImportExpr$1(ScImportStmtImpl.scala:104)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.imports.ScImportStmtImpl.processDeclarations(ScImportStmtImpl.scala:342)
	at org.jetbrains.plugins.scala.lang.psi.ScImportsHolder$class.processDeclarations(ScImportsHolder.scala:60)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.templates.ScTemplateBodyImpl.processDeclarations(ScTemplateBodyImpl.scala:79)
	at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.treeWalkUp$1(ScStableCodeReferenceElementImpl.scala:299)
	at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.processQualifier(ScStableCodeReferenceElementImpl.scala:310)
	at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.doResolve(ScStableCodeReferenceElementImpl.scala:455)
	at org.jetbrains.plugins.scala.lang.resolve.StableCodeReferenceElementResolver.resolve(StableCodeReferenceElementResolver.scala:41)
	at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.multiResolve(ScStableCodeReferenceElementImpl.scala:283)
	at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScReferenceElementImpl.bind(ScReferenceElementImpl.scala:35)
	at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.processQualifier(ScStableCodeReferenceElementImpl.scala:322)
	at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.doResolve(ScStableCodeReferenceElementImpl.scala:455)
	at org.jetbrains.plugins.scala.lang.resolve.StableCodeReferenceElementResolver.resolve(StableCodeReferenceElementResolver.scala:41)
	at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$Ext$.resolveNoConstructor$extension(ResolvableStableCodeReferenceElement.scala:70)
	at org.jetbrains.plugins.scala.lang.psi.impl.base.types.ScSimpleTypeElementImpl.org$jetbrains$plugins$scala$lang$psi$impl$base$types$ScSimpleTypeElementImpl$$innerNonValueType(ScSimpleTypeElementImpl.scala:272)
	at org.jetbrains.plugins.scala.lang.psi.impl.base.types.ScSimpleTypeElementImpl.innerType(ScSimpleTypeElementImpl.scala:39)
	at org.jetbrains.plugins.scala.lang.psi.api.base.types.ScTypeElement$class.getType(ScTypeElement.scala:25)
	at org.jetbrains.plugins.scala.lang.psi.impl.base.types.ScSimpleTypeElementImpl.getType(ScSimpleTypeElementImpl.scala:38)
	at org.jetbrains.plugins.scala.lang.psi.impl.base.types.ScParameterizedTypeElementImpl.innerType(ScParameterizedTypeElementImpl.scala:158)
	at org.jetbrains.plugins.scala.lang.psi.api.base.types.ScTypeElement$class.getType(ScTypeElement.scala:25)
	at org.jetbrains.plugins.scala.lang.psi.impl.base.types.ScParameterizedTypeElementImpl.getType(ScParameterizedTypeElementImpl.scala:29)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.templates.ScClassParentsImpl.superTypes(ScClassParentsImpl.scala:41)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.templates.ScExtendsBlockImpl.superTypes(ScExtendsBlockImpl.scala:81)
	at org.jetbrains.plugins.scala.lang.psi.api.toplevel.typedef.ScTemplateDefinition$class.superTypes(ScTemplateDefinition.scala:190)
	at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScNewTemplateDefinitionImpl.superTypes(ScNewTemplateDefinitionImpl.scala:38)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.MixinNodes$.inner$1(MixinNodes.scala:475)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.MixinNodes$.linearization(MixinNodes.scala:491)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.MixinNodes.build(MixinNodes.scala:366)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.MixinNodes.build(MixinNodes.scala:310)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$.buildNodesClass$1(TypeDefinitionMembers.scala:526)
	at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$.getSignatures(TypeDefinitionMembers.scala:528)
	at org.jetbrains.plugins.scala.lang.psi.api.statements.ScFunction$class.superSignaturesIncludingSelfType(ScFunction.scala:461)
	at org.jetbrains.plugins.scala.lang.psi.impl.statements.ScFunctionImpl.superSignaturesIncludingSelfType(ScFunctionImpl.scala:27)
	at org.jetbrains.plugins.scala.annotator.gutter.ScalaLineMarkerProvider.getGatorInfo(ScalaLineMarkerProvider.scala:94)
	at org.jetbrains.plugins.scala.annotator.gutter.ScalaLineMarkerProvider.getLineMarkerInfo(ScalaLineMarkerProvider.scala:44)
	at com.intellij.codeInsight.daemon.impl.LineMarkersPass.a(LineMarkersPass.java:186)
	at com.intellij.codeInsight.daemon.impl.LineMarkersPass.a(LineMarkersPass.java:111)
	at com.intellij.codeInsight.daemon.impl.Divider.divideInsideAndOutsideInOneRoot(Divider.java:96)
	at com.intellij.codeInsight.daemon.impl.LineMarkersPass.doCollectInformation(LineMarkersPass.java:106)
	at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:70)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.a(PassExecutorService.java:438)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1153)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.b(PassExecutorService.java:431)
	at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:556)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:501)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:66)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.d(PassExecutorService.java:430)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.c(PassExecutorService.java:406)
	at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:142)
	at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:242)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:404)
	at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:165)
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

Intellij Idea plugin fails with the following exception at startup

and if i ignore it long enough, intellij crashes.
i am using:
IntelliJ IDEA (Community Edition) 2016.3 EAP
Build #IC-163.5219.11, built on September 27, 2016
JRE: 1.8.0_112-release-b403 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

loader constraint violation: loader (instance of com/intellij/ide/plugins/cl/PluginClassLoader) previously initiated loading for a different type with name "scala/collection/Seq"
java.lang.LinkageError: loader constraint violation: loader (instance of com/intellij/ide/plugins/cl/PluginClassLoader) previously initiated loading for a different type with name "scala/collection/Seq"
at com.thangiee.freasymonad.injector.FreeInjector$class.injectInners(FreeInjector.scala:176)
at com.thangiee.freasymonad.injector.CatsFreeInjector.injectInners(CatsFreeInjector.scala:3)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.SyntheticMembersInjector$$anonfun$injectInners$1.apply(SyntheticMembersInjector.scala:112)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.SyntheticMembersInjector$$anonfun$injectInners$1.apply(SyntheticMembersInjector.scala:111)
at scala.collection.immutable.HashSet$HashSet1.foreach(HashSet.scala:322)
at scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:978)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.SyntheticMembersInjector$.injectInners(SyntheticMembersInjector.scala:111)
at org.jetbrains.plugins.scala.lang.psi.api.toplevel.typedef.ScTypeDefinition$class.syntheticTypeDefinitionsImpl(ScTypeDefinition.scala:73)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.ScTypeDefinitionImpl.syntheticTypeDefinitionsImpl(ScTypeDefinitionImpl.scala:50)
at org.jetbrains.plugins.scala.lang.psi.api.toplevel.typedef.ScTemplateDefinition$class.cachedFun$macro$48$1(ScTemplateDefinition.scala:178)
at org.jetbrains.plugins.scala.lang.psi.api.toplevel.typedef.ScTemplateDefinition$$anonfun$syntheticTypeDefinitions$1$$anonfun$apply$3.apply(ScTemplateDefinition.scala:177)
at org.jetbrains.plugins.scala.lang.psi.api.toplevel.typedef.ScTemplateDefinition$$anonfun$syntheticTypeDefinitions$1$$anonfun$apply$3.apply(ScTemplateDefinition.scala:177)
at org.jetbrains.plugins.scala.caches.CachesUtil$MyProvider.compute(CachesUtil.scala:155)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:65)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at org.jetbrains.plugins.scala.caches.CachesUtil$.get(CachesUtil.scala:150)
at org.jetbrains.plugins.scala.lang.psi.api.toplevel.typedef.ScTemplateDefinition$class.syntheticTypeDefinitions(ScTemplateDefinition.scala:177)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.ScTypeDefinitionImpl.syntheticTypeDefinitions(ScTypeDefinitionImpl.scala:50)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$TypeNodes$.processScala(TypeDefinitionMembers.scala:276)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.MixinNodes.build(MixinNodes.scala:349)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.MixinNodes.build(MixinNodes.scala:321)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$.org$jetbrains$plugins$scala$lang$psi$impl$toplevel$typedef$TypeDefinitionMembers$$cachedFun$macro$463$1(TypeDefinitionMembers.scala:519)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$$anonfun$inner$2$1$$anonfun$apply$19.apply(TypeDefinitionMembers.scala:518)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$$anonfun$inner$2$1$$anonfun$apply$19.apply(TypeDefinitionMembers.scala:518)
at org.jetbrains.plugins.scala.caches.CachesUtil$MyProvider.compute(CachesUtil.scala:155)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:65)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at org.jetbrains.plugins.scala.caches.CachesUtil$.get(CachesUtil.scala:150)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$.inner$2(TypeDefinitionMembers.scala:518)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$.getTypes(TypeDefinitionMembers.scala:530)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$.getSelfTypeTypes(TypeDefinitionMembers.scala:643)
at org.jetbrains.plugins.scala.lang.psi.ScalaPsiUtil$.superTypeMembersAndSubstitutors(ScalaPsiUtil.scala:1083)
at org.jetbrains.plugins.scala.lang.psi.ScalaPsiUtil$.superTypeMembers(ScalaPsiUtil.scala:1073)
at org.jetbrains.plugins.scala.annotator.gutter.ScalaLineMarkerProvider.getGatorInfo(ScalaLineMarkerProvider.scala:123)
at org.jetbrains.plugins.scala.annotator.gutter.ScalaLineMarkerProvider.getLineMarkerInfo(ScalaLineMarkerProvider.scala:45)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.queryProviders(LineMarkersPass.java:186)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.lambda$doCollectInformation$3(LineMarkersPass.java:111)
at com.intellij.codeInsight.daemon.impl.Divider.divideInsideAndOutsideInOneRoot(Divider.java:96)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.doCollectInformation(LineMarkersPass.java:106)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:70)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$null$0(PassExecutorService.java:433)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1049)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$1(PassExecutorService.java:426)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:568)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:519)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:425)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:405)
at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:155)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

java.lang.LinkageError: scala/collection/Seq
at com.thangiee.freasymonad.injector.FreeInjector$class.injectInners(FreeInjector.scala:176)
at com.thangiee.freasymonad.injector.CatsFreeInjector.injectInners(CatsFreeInjector.scala:3)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.SyntheticMembersInjector$$anonfun$injectInners$1.apply(SyntheticMembersInjector.scala:112)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.SyntheticMembersInjector$$anonfun$injectInners$1.apply(SyntheticMembersInjector.scala:111)
at scala.collection.immutable.HashSet$HashSet1.foreach(HashSet.scala:322)
at scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:978)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.SyntheticMembersInjector$.injectInners(SyntheticMembersInjector.scala:111)
at org.jetbrains.plugins.scala.lang.psi.api.toplevel.typedef.ScTypeDefinition$class.syntheticTypeDefinitionsImpl(ScTypeDefinition.scala:73)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.ScTypeDefinitionImpl.syntheticTypeDefinitionsImpl(ScTypeDefinitionImpl.scala:50)
at org.jetbrains.plugins.scala.lang.psi.api.toplevel.typedef.ScTemplateDefinition$class.cachedFun$macro$48$1(ScTemplateDefinition.scala:178)
at org.jetbrains.plugins.scala.lang.psi.api.toplevel.typedef.ScTemplateDefinition$$anonfun$syntheticTypeDefinitions$1$$anonfun$apply$3.apply(ScTemplateDefinition.scala:177)
at org.jetbrains.plugins.scala.lang.psi.api.toplevel.typedef.ScTemplateDefinition$$anonfun$syntheticTypeDefinitions$1$$anonfun$apply$3.apply(ScTemplateDefinition.scala:177)
at org.jetbrains.plugins.scala.caches.CachesUtil$MyProvider.compute(CachesUtil.scala:155)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:65)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at org.jetbrains.plugins.scala.caches.CachesUtil$.get(CachesUtil.scala:150)
at org.jetbrains.plugins.scala.lang.psi.api.toplevel.typedef.ScTemplateDefinition$class.syntheticTypeDefinitions(ScTemplateDefinition.scala:177)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.ScTypeDefinitionImpl.syntheticTypeDefinitions(ScTypeDefinitionImpl.scala:50)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$ParameterlessNodes$.processScala(TypeDefinitionMembers.scala:190)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.MixinNodes.build(MixinNodes.scala:349)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.MixinNodes.build(MixinNodes.scala:321)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$.org$jetbrains$plugins$scala$lang$psi$impl$toplevel$typedef$TypeDefinitionMembers$$cachedFun$macro$459$1(TypeDefinitionMembers.scala:502)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$$anonfun$inner$1$1$$anonfun$apply$18.apply(TypeDefinitionMembers.scala:501)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$$anonfun$inner$1$1$$anonfun$apply$18.apply(TypeDefinitionMembers.scala:501)
at org.jetbrains.plugins.scala.caches.CachesUtil$MyProvider.compute(CachesUtil.scala:155)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:65)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at org.jetbrains.plugins.scala.caches.CachesUtil$.get(CachesUtil.scala:150)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$.inner$1(TypeDefinitionMembers.scala:501)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$.getParameterlessSignatures(TypeDefinitionMembers.scala:513)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$$anonfun$processDeclarations$2.apply(TypeDefinitionMembers.scala:684)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$$anonfun$processDeclarations$2.apply(TypeDefinitionMembers.scala:684)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$Lazy.apply(TypeDefinitionMembers.scala:735)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$.privateProcessDeclarations(TypeDefinitionMembers.scala:982)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.typedef.TypeDefinitionMembers$.processDeclarations(TypeDefinitionMembers.scala:683)
at org.jetbrains.plugins.scala.lang.resolve.processor.BaseProcessor.processElement(BaseProcessor.scala:298)
at org.jetbrains.plugins.scala.lang.resolve.processor.BaseProcessor.processType(BaseProcessor.scala:206)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.processQualifierResolveResult(ResolvableStableCodeReferenceElement.scala:105)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.processQualifierResolveResult(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.processQualifier(ResolvableStableCodeReferenceElement.scala:233)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.processQualifier(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.doResolve(ResolvableStableCodeReferenceElement.scala:190)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.doResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.StableCodeReferenceElementResolver.resolve(StableCodeReferenceElementResolver.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anon$6.compute(ResolvableStableCodeReferenceElement.scala:91)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.org$jetbrains$plugins$scala$lang$resolve$ResolvableStableCodeReferenceElement$$multiResolveCached(ResolvableStableCodeReferenceElement.scala:90)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.resolveWithCompiled(ResolvableStableCodeReferenceElement.scala:86)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.multiResolve(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.multiResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.imports.ScImportStmtImpl.workWithImportExpr$1(ScImportStmtImpl.scala:100)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.imports.ScImportStmtImpl.processDeclarations(ScImportStmtImpl.scala:326)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.treeWalkUp$1(ResolvableStableCodeReferenceElement.scala:210)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.processQualifier(ResolvableStableCodeReferenceElement.scala:220)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.processQualifier(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.doResolve(ResolvableStableCodeReferenceElement.scala:190)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.doResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.StableCodeReferenceElementResolver.resolve(StableCodeReferenceElementResolver.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anon$6.compute(ResolvableStableCodeReferenceElement.scala:91)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.org$jetbrains$plugins$scala$lang$resolve$ResolvableStableCodeReferenceElement$$multiResolveCached(ResolvableStableCodeReferenceElement.scala:90)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.resolveWithCompiled(ResolvableStableCodeReferenceElement.scala:86)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.multiResolve(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.multiResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceElement$ResolvableReferenceElementExt$.bind$extension(ResolvableReferenceElement.scala:32)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.processQualifier(ResolvableStableCodeReferenceElement.scala:232)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.processQualifier(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.doResolve(ResolvableStableCodeReferenceElement.scala:190)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.doResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.StableCodeReferenceElementResolver.resolve(StableCodeReferenceElementResolver.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anon$6.compute(ResolvableStableCodeReferenceElement.scala:91)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.org$jetbrains$plugins$scala$lang$resolve$ResolvableStableCodeReferenceElement$$multiResolveCached(ResolvableStableCodeReferenceElement.scala:90)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.resolveWithCompiled(ResolvableStableCodeReferenceElement.scala:86)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.multiResolve(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.multiResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceElement$ResolvableReferenceElementExt$.bind$extension(ResolvableReferenceElement.scala:32)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.processQualifier(ResolvableStableCodeReferenceElement.scala:232)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.processQualifier(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.doResolve(ResolvableStableCodeReferenceElement.scala:190)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.doResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.StableCodeReferenceElementResolver.resolve(StableCodeReferenceElementResolver.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anon$6.compute(ResolvableStableCodeReferenceElement.scala:91)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.org$jetbrains$plugins$scala$lang$resolve$ResolvableStableCodeReferenceElement$$multiResolveCached(ResolvableStableCodeReferenceElement.scala:90)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.resolveWithCompiled(ResolvableStableCodeReferenceElement.scala:86)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.multiResolve(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.multiResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceElement$ResolvableReferenceElementExt$.bind$extension(ResolvableReferenceElement.scala:32)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.processQualifier(ResolvableStableCodeReferenceElement.scala:232)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.processQualifier(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.doResolve(ResolvableStableCodeReferenceElement.scala:190)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.doResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.StableCodeReferenceElementResolver.resolve(StableCodeReferenceElementResolver.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anon$6.compute(ResolvableStableCodeReferenceElement.scala:91)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.org$jetbrains$plugins$scala$lang$resolve$ResolvableStableCodeReferenceElement$$multiResolveCached(ResolvableStableCodeReferenceElement.scala:90)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.resolveWithCompiled(ResolvableStableCodeReferenceElement.scala:86)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.multiResolve(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.multiResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceElement$ResolvableReferenceElementExt$.bind$extension(ResolvableReferenceElement.scala:32)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.processQualifier(ResolvableStableCodeReferenceElement.scala:232)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.processQualifier(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.doResolve(ResolvableStableCodeReferenceElement.scala:190)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.doResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.StableCodeReferenceElementResolver.resolve(StableCodeReferenceElementResolver.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anon$6.compute(ResolvableStableCodeReferenceElement.scala:91)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.org$jetbrains$plugins$scala$lang$resolve$ResolvableStableCodeReferenceElement$$multiResolveCached(ResolvableStableCodeReferenceElement.scala:90)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.resolveWithCompiled(ResolvableStableCodeReferenceElement.scala:86)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.multiResolve(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.multiResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceElement$ResolvableReferenceElementExt$.bind$extension(ResolvableReferenceElement.scala:32)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.processQualifier(ResolvableStableCodeReferenceElement.scala:232)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.processQualifier(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.doResolve(ResolvableStableCodeReferenceElement.scala:190)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.doResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.StableCodeReferenceElementResolver.resolve(StableCodeReferenceElementResolver.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anon$6.compute(ResolvableStableCodeReferenceElement.scala:91)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.org$jetbrains$plugins$scala$lang$resolve$ResolvableStableCodeReferenceElement$$multiResolveCached(ResolvableStableCodeReferenceElement.scala:90)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.resolveWithCompiled(ResolvableStableCodeReferenceElement.scala:86)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.multiResolve(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.multiResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.imports.ScImportStmtImpl.workWithImportExpr$1(ScImportStmtImpl.scala:100)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.imports.ScImportStmtImpl.processDeclarations(ScImportStmtImpl.scala:326)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.treeWalkUp$1(ResolvableStableCodeReferenceElement.scala:210)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.processQualifier(ResolvableStableCodeReferenceElement.scala:220)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.processQualifier(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.doResolve(ResolvableStableCodeReferenceElement.scala:190)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.doResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.StableCodeReferenceElementResolver.resolve(StableCodeReferenceElementResolver.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anon$6.compute(ResolvableStableCodeReferenceElement.scala:91)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.org$jetbrains$plugins$scala$lang$resolve$ResolvableStableCodeReferenceElement$$multiResolveCached(ResolvableStableCodeReferenceElement.scala:90)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.resolveWithCompiled(ResolvableStableCodeReferenceElement.scala:86)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.multiResolve(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.multiResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceElement$ResolvableReferenceElementExt$.bind$extension(ResolvableReferenceElement.scala:32)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.processQualifier(ResolvableStableCodeReferenceElement.scala:232)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.processQualifier(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.doResolve(ResolvableStableCodeReferenceElement.scala:190)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.doResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.StableCodeReferenceElementResolver.resolve(StableCodeReferenceElementResolver.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anon$6.compute(ResolvableStableCodeReferenceElement.scala:91)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.org$jetbrains$plugins$scala$lang$resolve$ResolvableStableCodeReferenceElement$$multiResolveCached(ResolvableStableCodeReferenceElement.scala:90)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.resolveWithCompiled(ResolvableStableCodeReferenceElement.scala:86)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.multiResolve(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.multiResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceElement$ResolvableReferenceElementExt$.bind$extension(ResolvableReferenceElement.scala:32)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.processQualifier(ResolvableStableCodeReferenceElement.scala:232)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.processQualifier(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.doResolve(ResolvableStableCodeReferenceElement.scala:190)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.doResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.StableCodeReferenceElementResolver.resolve(StableCodeReferenceElementResolver.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anon$6.compute(ResolvableStableCodeReferenceElement.scala:91)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.org$jetbrains$plugins$scala$lang$resolve$ResolvableStableCodeReferenceElement$$multiResolveCached(ResolvableStableCodeReferenceElement.scala:90)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.resolveWithCompiled(ResolvableStableCodeReferenceElement.scala:86)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.multiResolve(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.multiResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceElement$ResolvableReferenceElementExt$.bind$extension(ResolvableReferenceElement.scala:32)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.processQualifier(ResolvableStableCodeReferenceElement.scala:232)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.processQualifier(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.doResolve(ResolvableStableCodeReferenceElement.scala:190)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.doResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.StableCodeReferenceElementResolver.resolve(StableCodeReferenceElementResolver.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anon$6.compute(ResolvableStableCodeReferenceElement.scala:91)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.org$jetbrains$plugins$scala$lang$resolve$ResolvableStableCodeReferenceElement$$multiResolveCached(ResolvableStableCodeReferenceElement.scala:90)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.resolveWithCompiled(ResolvableStableCodeReferenceElement.scala:86)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.multiResolve(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.multiResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceElement$ResolvableReferenceElementExt$.bind$extension(ResolvableReferenceElement.scala:32)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.processQualifier(ResolvableStableCodeReferenceElement.scala:232)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.processQualifier(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.doResolve(ResolvableStableCodeReferenceElement.scala:190)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.doResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.StableCodeReferenceElementResolver.resolve(StableCodeReferenceElementResolver.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anon$6.compute(ResolvableStableCodeReferenceElement.scala:91)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.org$jetbrains$plugins$scala$lang$resolve$ResolvableStableCodeReferenceElement$$multiResolveCached(ResolvableStableCodeReferenceElement.scala:90)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.resolveWithCompiled(ResolvableStableCodeReferenceElement.scala:86)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.multiResolve(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.multiResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.imports.ScImportStmtImpl.workWithImportExpr$1(ScImportStmtImpl.scala:100)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.imports.ScImportStmtImpl.processDeclarations(ScImportStmtImpl.scala:326)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.treeWalkUp$1(ResolvableStableCodeReferenceElement.scala:210)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.processQualifier(ResolvableStableCodeReferenceElement.scala:220)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.processQualifier(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.doResolve(ResolvableStableCodeReferenceElement.scala:190)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.doResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.StableCodeReferenceElementResolver.resolve(StableCodeReferenceElementResolver.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anon$6.compute(ResolvableStableCodeReferenceElement.scala:91)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.org$jetbrains$plugins$scala$lang$resolve$ResolvableStableCodeReferenceElement$$multiResolveCached(ResolvableStableCodeReferenceElement.scala:90)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.resolveWithCompiled(ResolvableStableCodeReferenceElement.scala:86)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.multiResolve(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.multiResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.imports.ScImportStmtImpl.workWithImportExpr$1(ScImportStmtImpl.scala:100)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.imports.ScImportStmtImpl.processDeclarations(ScImportStmtImpl.scala:326)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.treeWalkUp$1(ResolvableStableCodeReferenceElement.scala:210)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.processQualifier(ResolvableStableCodeReferenceElement.scala:220)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.processQualifier(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.doResolve(ResolvableStableCodeReferenceElement.scala:190)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.doResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.StableCodeReferenceElementResolver.resolve(StableCodeReferenceElementResolver.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anon$6.compute(ResolvableStableCodeReferenceElement.scala:91)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.org$jetbrains$plugins$scala$lang$resolve$ResolvableStableCodeReferenceElement$$multiResolveCached(ResolvableStableCodeReferenceElement.scala:90)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.resolveWithCompiled(ResolvableStableCodeReferenceElement.scala:86)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.multiResolve(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.multiResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceElement$ResolvableReferenceElementExt$.bind$extension(ResolvableReferenceElement.scala:32)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.processQualifier(ResolvableStableCodeReferenceElement.scala:232)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.processQualifier(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.doResolve(ResolvableStableCodeReferenceElement.scala:190)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.doResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.StableCodeReferenceElementResolver.resolve(StableCodeReferenceElementResolver.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anon$6.compute(ResolvableStableCodeReferenceElement.scala:91)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.org$jetbrains$plugins$scala$lang$resolve$ResolvableStableCodeReferenceElement$$multiResolveCached(ResolvableStableCodeReferenceElement.scala:90)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.resolveWithCompiled(ResolvableStableCodeReferenceElement.scala:86)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.multiResolve(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.multiResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.imports.ScImportStmtImpl.workWithImportExpr$1(ScImportStmtImpl.scala:100)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.imports.ScImportStmtImpl.processDeclarations(ScImportStmtImpl.scala:326)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.treeWalkUp$1(ResolvableStableCodeReferenceElement.scala:210)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.processQualifier(ResolvableStableCodeReferenceElement.scala:220)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.processQualifier(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.doResolve(ResolvableStableCodeReferenceElement.scala:190)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.doResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.StableCodeReferenceElementResolver.resolve(StableCodeReferenceElementResolver.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anon$6.compute(ResolvableStableCodeReferenceElement.scala:91)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.org$jetbrains$plugins$scala$lang$resolve$ResolvableStableCodeReferenceElement$$multiResolveCached(ResolvableStableCodeReferenceElement.scala:90)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$multiResolve$1.apply(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.resolveWithCompiled(ResolvableStableCodeReferenceElement.scala:86)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.multiResolve(ResolvableStableCodeReferenceElement.scala:69)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.multiResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.imports.ScImportStmtImpl.workWithImportExpr$1(ScImportStmtImpl.scala:100)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.imports.ScImportStmtImpl.processDeclarations(ScImportStmtImpl.scala:326)
at org.jetbrains.plugins.scala.lang.psi.ScImportsHolder$class.processDeclarations(ScImportsHolder.scala:58)
at org.jetbrains.plugins.scala.lang.psi.api.FileDeclarationsHolder$class.processDeclarations(FileDeclarationsHolder.scala:46)
at org.jetbrains.plugins.scala.lang.psi.impl.ScalaFileImpl.processDeclarations(ScalaFileImpl.scala:47)
at org.jetbrains.sbt.language.SbtFileImpl.processImplicitImports(SbtFileImpl.scala:49)
at org.jetbrains.sbt.language.SbtFileImpl.processDeclarations(SbtFileImpl.scala:30)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.treeWalkUp$1(ResolvableStableCodeReferenceElement.scala:210)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.processQualifier(ResolvableStableCodeReferenceElement.scala:220)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.processQualifier(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.doResolve(ResolvableStableCodeReferenceElement.scala:190)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.doResolve(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.resolve.StableCodeReferenceElementResolver.resolve(StableCodeReferenceElementResolver.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anon$4.compute(ResolvableStableCodeReferenceElement.scala:63)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.doResolve$2(ResolvableStableCodeReferenceElement.scala:62)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$resolveMethodsOnly$1.apply(ResolvableStableCodeReferenceElement.scala:65)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$$anonfun$resolveMethodsOnly$1.apply(ResolvableStableCodeReferenceElement.scala:65)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.resolveWithCompiled(ResolvableStableCodeReferenceElement.scala:86)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableStableCodeReferenceElement$class.resolveMethodsOnly(ResolvableStableCodeReferenceElement.scala:65)
at org.jetbrains.plugins.scala.lang.psi.impl.base.ScStableCodeReferenceElementImpl.resolveMethodsOnly(ScStableCodeReferenceElementImpl.scala:34)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.imports.ScImportStmtImpl.workWithImportExpr$1(ScImportStmtImpl.scala:99)
at org.jetbrains.plugins.scala.lang.psi.impl.toplevel.imports.ScImportStmtImpl.processDeclarations(ScImportStmtImpl.scala:326)
at org.jetbrains.plugins.scala.lang.psi.ScImportsHolder$class.processDeclarations(ScImportsHolder.scala:58)
at org.jetbrains.plugins.scala.lang.psi.api.FileDeclarationsHolder$class.processDeclarations(FileDeclarationsHolder.scala:46)
at org.jetbrains.sbt.language.SbtFileImpl.processDeclarations(SbtFileImpl.scala:28)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceExpression$class.treeWalkUp$1(ResolvableReferenceExpression.scala:107)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceExpression$class.resolveUnqualifiedExpression(ResolvableReferenceExpression.scala:127)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceExpression$class.resolveUnqalified(ResolvableReferenceExpression.scala:98)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceExpression$class.doResolve(ResolvableReferenceExpression.scala:79)
at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScReferenceExpressionImpl.doResolve(ScReferenceExpressionImpl.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ReferenceExpressionResolver.nonAssignResolve$1(ReferenceExpressionResolver.scala:117)
at org.jetbrains.plugins.scala.lang.resolve.ReferenceExpressionResolver.resolve(ReferenceExpressionResolver.scala:142)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceExpression$class.cachedFun$macro$328$1(ResolvableReferenceExpression.scala:50)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceExpression$$anonfun$shapeResolveImpl$1$$anonfun$apply$1.apply(ResolvableReferenceExpression.scala:49)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceExpression$$anonfun$shapeResolveImpl$1$$anonfun$apply$1.apply(ResolvableReferenceExpression.scala:49)
at org.jetbrains.plugins.scala.caches.CachesUtil$MyProvider.compute(CachesUtil.scala:155)
at org.jetbrains.plugins.scala.caches.CachesUtil$$anon$2$$anon$3.compute(CachesUtil.scala:107)
at org.jetbrains.plugins.scala.caches.CachesUtil$$anon$2$$anon$3.compute(CachesUtil.scala:104)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.caches.CachesUtil$$anon$2.compute(CachesUtil.scala:104)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:65)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at org.jetbrains.plugins.scala.caches.CachesUtil$.getWithRecursionPreventingWithRollback(CachesUtil.scala:132)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceExpression$class.shapeResolveImpl(ResolvableReferenceExpression.scala:49)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceExpression$class.shapeResolve(ResolvableReferenceExpression.scala:55)
at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScReferenceExpressionImpl.shapeResolve(ScReferenceExpressionImpl.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ReferenceExpressionResolver$$anon$1.candidatesS(ReferenceExpressionResolver.scala:106)
at org.jetbrains.plugins.scala.lang.resolve.ReferenceExpressionResolver.nonAssignResolve$1(ReferenceExpressionResolver.scala:119)
at org.jetbrains.plugins.scala.lang.resolve.ReferenceExpressionResolver.resolve(ReferenceExpressionResolver.scala:142)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceExpression$$anon$2.compute(ResolvableReferenceExpression.scala:42)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceExpression$class.multiResolveImpl(ResolvableReferenceExpression.scala:41)
at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScReferenceExpressionImpl.multiResolveImpl(ScReferenceExpressionImpl.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceExpression$class.multiResolve(ResolvableReferenceExpression.scala:46)
at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScReferenceExpressionImpl.multiResolve(ScReferenceExpressionImpl.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceElement$ResolvableReferenceElementExt$.bind$extension(ResolvableReferenceElement.scala:32)
at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScReferenceExpressionImpl.innerType(ScReferenceExpressionImpl.scala:169)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$$anon$6.compute(ScExpression.scala:400)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$class.org$jetbrains$plugins$scala$lang$psi$api$expr$ScExpression$$getNonValueTypeImpl(ScExpression.scala:395)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$ScExpressionExt$.getNonValueType$extension(ScExpression.scala:593)
at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScReferenceExpressionImpl.getPrevTypeInfoParams(ScReferenceExpressionImpl.scala:491)
at org.jetbrains.plugins.scala.lang.resolve.ReferenceExpressionResolver.resolve(ReferenceExpressionResolver.scala:95)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceExpression$$anon$2.compute(ResolvableReferenceExpression.scala:42)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceExpression$class.multiResolveImpl(ResolvableReferenceExpression.scala:41)
at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScReferenceExpressionImpl.multiResolveImpl(ScReferenceExpressionImpl.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceExpression$class.multiResolve(ResolvableReferenceExpression.scala:46)
at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScReferenceExpressionImpl.multiResolve(ScReferenceExpressionImpl.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceElement$ResolvableReferenceElementExt$.bind$extension(ResolvableReferenceElement.scala:32)
at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScReferenceExpressionImpl.innerType(ScReferenceExpressionImpl.scala:169)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$$anon$6.compute(ScExpression.scala:400)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$class.org$jetbrains$plugins$scala$lang$psi$api$expr$ScExpression$$getNonValueTypeImpl(ScExpression.scala:395)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$ScExpressionExt$.getNonValueType$extension(ScExpression.scala:593)
at org.jetbrains.plugins.scala.lang.psi.api.expr.MethodInvocation$class.tryToGetInnerType(MethodInvocation.scala:146)
at org.jetbrains.plugins.scala.lang.psi.api.expr.MethodInvocation$class.innerType(MethodInvocation.scala:138)
at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScMethodCallImpl.innerType(ScMethodCallImpl.scala:19)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$$anon$6.compute(ScExpression.scala:400)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$class.org$jetbrains$plugins$scala$lang$psi$api$expr$ScExpression$$getNonValueTypeImpl(ScExpression.scala:395)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$ScExpressionExt$.getNonValueType$extension(ScExpression.scala:593)
at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScReferenceExpressionImpl.getPrevTypeInfoParams(ScReferenceExpressionImpl.scala:491)
at org.jetbrains.plugins.scala.lang.resolve.ReferenceExpressionResolver.resolve(ReferenceExpressionResolver.scala:95)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceExpression$$anon$2.compute(ResolvableReferenceExpression.scala:42)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceExpression$class.multiResolveImpl(ResolvableReferenceExpression.scala:41)
at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScReferenceExpressionImpl.multiResolveImpl(ScReferenceExpressionImpl.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceExpression$class.multiResolve(ResolvableReferenceExpression.scala:46)
at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScReferenceExpressionImpl.multiResolve(ScReferenceExpressionImpl.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceElement$ResolvableReferenceElementExt$.bind$extension(ResolvableReferenceElement.scala:32)
at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScReferenceExpressionImpl.innerType(ScReferenceExpressionImpl.scala:169)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$$anon$6.compute(ScExpression.scala:400)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$class.org$jetbrains$plugins$scala$lang$psi$api$expr$ScExpression$$getNonValueTypeImpl(ScExpression.scala:395)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$ScExpressionExt$.getNonValueType$extension(ScExpression.scala:593)
at org.jetbrains.plugins.scala.lang.psi.api.expr.MethodInvocation$class.tryToGetInnerType(MethodInvocation.scala:146)
at org.jetbrains.plugins.scala.lang.psi.api.expr.MethodInvocation$class.innerType(MethodInvocation.scala:138)
at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScMethodCallImpl.innerType(ScMethodCallImpl.scala:19)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$$anon$6.compute(ScExpression.scala:400)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$class.org$jetbrains$plugins$scala$lang$psi$api$expr$ScExpression$$getNonValueTypeImpl(ScExpression.scala:395)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$ScExpressionExt$.getNonValueType$extension(ScExpression.scala:593)
at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScReferenceExpressionImpl.getPrevTypeInfoParams(ScReferenceExpressionImpl.scala:491)
at org.jetbrains.plugins.scala.lang.resolve.ReferenceExpressionResolver.resolve(ReferenceExpressionResolver.scala:95)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceExpression$$anon$2.compute(ResolvableReferenceExpression.scala:42)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceExpression$class.multiResolveImpl(ResolvableReferenceExpression.scala:41)
at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScReferenceExpressionImpl.multiResolveImpl(ScReferenceExpressionImpl.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceExpression$class.multiResolve(ResolvableReferenceExpression.scala:46)
at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScReferenceExpressionImpl.multiResolve(ScReferenceExpressionImpl.scala:41)
at org.jetbrains.plugins.scala.lang.resolve.ResolvableReferenceElement$ResolvableReferenceElementExt$.bind$extension(ResolvableReferenceElement.scala:32)
at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScReferenceExpressionImpl.innerType(ScReferenceExpressionImpl.scala:169)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$$anon$6.compute(ScExpression.scala:400)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$class.org$jetbrains$plugins$scala$lang$psi$api$expr$ScExpression$$getNonValueTypeImpl(ScExpression.scala:395)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$ScExpressionExt$.getNonValueType$extension(ScExpression.scala:593)
at org.jetbrains.plugins.scala.lang.psi.api.expr.MethodInvocation$class.tryToGetInnerType(MethodInvocation.scala:146)
at org.jetbrains.plugins.scala.lang.psi.api.expr.MethodInvocation$class.innerType(MethodInvocation.scala:138)
at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScMethodCallImpl.innerType(ScMethodCallImpl.scala:19)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$$anon$6.compute(ScExpression.scala:400)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$class.org$jetbrains$plugins$scala$lang$psi$api$expr$ScExpression$$getNonValueTypeImpl(ScExpression.scala:395)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$ScExpressionExt$.getNonValueType$extension(ScExpression.scala:593)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$$anon$4.compute(ScExpression.scala:159)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$class.getTypeWithoutImplicitsImpl(ScExpression.scala:156)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$class.getTypeWithoutImplicits(ScExpression.scala:338)
at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScMethodCallImpl.getTypeWithoutImplicits(ScMethodCallImpl.scala:19)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$$anon$2.compute(ScExpression.scala:70)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$class.getTypeAfterImplicitConversion(ScExpression.scala:51)
at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScMethodCallImpl.getTypeAfterImplicitConversion(ScMethodCallImpl.scala:19)
at org.jetbrains.plugins.scala.lang.psi.api.expr.ScExpression$class.getType(ScExpression.scala:348)
at org.jetbrains.plugins.scala.lang.psi.impl.expr.ScMethodCallImpl.getType(ScMethodCallImpl.scala:19)
at org.jetbrains.plugins.scala.lang.psi.impl.statements.ScPatternDefinitionImpl$$anonfun$getType$1.apply(ScPatternDefinitionImpl.scala:56)
at org.jetbrains.plugins.scala.lang.psi.impl.statements.ScPatternDefinitionImpl$$anonfun$getType$1.apply(ScPatternDefinitionImpl.scala:56)
at scala.Option.map(Option.scala:146)
at org.jetbrains.plugins.scala.lang.psi.impl.statements.ScPatternDefinitionImpl.getType(ScPatternDefinitionImpl.scala:56)
at org.jetbrains.plugins.scala.lang.psi.api.base.patterns.ScPattern$class.cachedFun$macro$215$1(ScPattern.scala:263)
at org.jetbrains.plugins.scala.lang.psi.api.base.patterns.ScPattern$$anonfun$expectedType$1$$anonfun$apply$5.apply(ScPattern.scala:259)
at org.jetbrains.plugins.scala.lang.psi.api.base.patterns.ScPattern$$anonfun$expectedType$1$$anonfun$apply$5.apply(ScPattern.scala:259)
at org.jetbrains.plugins.scala.caches.CachesUtil$MyProvider.compute(CachesUtil.scala:155)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:65)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at org.jetbrains.plugins.scala.caches.CachesUtil$.get(CachesUtil.scala:150)
at org.jetbrains.plugins.scala.lang.psi.api.base.patterns.ScPattern$class.expectedType(ScPattern.scala:259)
at org.jetbrains.plugins.scala.lang.psi.impl.base.patterns.ScReferencePatternImpl.expectedType(ScReferencePatternImpl.scala:31)
at org.jetbrains.plugins.scala.lang.psi.impl.base.patterns.ScReferencePatternImpl.getType(ScReferencePatternImpl.scala:52)
at org.jetbrains.plugins.scala.annotator.PatternAnnotatorUtil$.patternType(PatternAnnotator.scala:245)
at org.jetbrains.plugins.scala.annotator.PatternAnnotator$.checkPattern(PatternAnnotator.scala:43)
at org.jetbrains.plugins.scala.annotator.PatternAnnotator$class.annotatePattern(PatternAnnotator.scala:33)
at org.jetbrains.plugins.scala.annotator.ScalaAnnotator.annotatePattern(ScalaAnnotator.scala:61)
at org.jetbrains.plugins.scala.annotator.ScalaAnnotator$$anon$2.visitPattern(ScalaAnnotator.scala:226)
at org.jetbrains.plugins.scala.lang.psi.api.base.patterns.ScPattern$class.accept(ScPattern.scala:85)
at org.jetbrains.plugins.scala.lang.psi.impl.base.patterns.ScReferencePatternImpl.accept(ScReferencePatternImpl.scala:35)
at org.jetbrains.plugins.scala.annotator.ScalaAnnotator.annotate(ScalaAnnotator.scala:399)
at org.jetbrains.plugins.scala.annotator.ScalaAnnotatorHighlightVisitor.runAnnotator(ScalaAnnotatorHighlightVisitor.scala:85)
at org.jetbrains.plugins.scala.annotator.ScalaAnnotatorHighlightVisitor.visit(ScalaAnnotatorHighlightVisitor.scala:37)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.runVisitors(GeneralHighlightingPass.java:363)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.lambda$collectHighlights$5(GeneralHighlightingPass.java:298)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:322)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.lambda$analyzeByVisitors$6(GeneralHighlightingPass.java:325)
at org.jetbrains.plugins.scala.annotator.importsTracker.ScalaRefCountHolder.analyze(ScalaRefCountHolder.scala:91)
at org.jetbrains.plugins.scala.annotator.ScalaAnnotatorHighlightVisitor.analyze(ScalaAnnotatorHighlightVisitor.scala:59)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:325)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.lambda$analyzeByVisitors$6(GeneralHighlightingPass.java:325)
at com.intellij.codeInsight.daemon.impl.analysis.HighlightVisitorImpl.lambda$analyze$2(HighlightVisitorImpl.java:176)
at com.intellij.codeInsight.daemon.impl.analysis.RefCountHolder.analyze(RefCountHolder.java:347)
at com.intellij.codeInsight.daemon.impl.analysis.HighlightVisitorImpl.analyze(HighlightVisitorImpl.java:175)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:325)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.lambda$analyzeByVisitors$6(GeneralHighlightingPass.java:325)
at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.analyze(DefaultHighlightVisitor.java:86)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:325)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectHighlights(GeneralHighlightingPass.java:297)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectInformationWithProgress(GeneralHighlightingPass.java:237)
at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:82)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:70)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$null$0(PassExecutorService.java:433)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1049)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$1(PassExecutorService.java:426)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:568)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:519)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:425)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:405)
at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:155)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.