Package

org.ensime

core

Permalink

package core

Visibility
  1. Public
  2. All

Type Members

  1. class Analyzer extends Actor with Stash with ActorLogging with RefactoringHandler

    Permalink
  2. class Broadcaster extends Actor with ActorLogging

    Permalink

    An actor that will forward all received messages onto actors that have registered to receive messages.

    An actor that will forward all received messages onto actors that have registered to receive messages. Messages wrapped with Persist will be held and sent to all new subscribers (to cater for legacy EnsimeEvents that older clients expect to see on startup).

    To avoid memory leaks, non-restarting Actors should unregister when they stop. Additional register requests for the same actor will result in all Persist messages being sent again.

    It feels crazy to be writing this because it seems like something that should be in a standard library:

    1. the EventStream very nearly does what we want but doesn't retain information about the sender and uses method calls (not tell). NOTE: although undocumented, subscribing to a trait will subscribe to implementations.

    2. the PubSub requires named subscriptions and requires non-tell boilerplate on both publisher and subscriber side (although has the advantage of better networked behaviour).

    3. neither Akka solution has the concept of the "Persist" message.

  3. final case class CompilerFatalError(e: Throwable) extends Product with Serializable

    Permalink
  4. trait Completion extends AnyRef

    Permalink
  5. trait CompletionControl extends AnyRef

    Permalink
  6. trait DocFinding extends AnyRef

    Permalink
  7. final case class DocFqn(pack: String, typeName: String) extends Product with Serializable

    Permalink

    Information necessary to create a javadoc or scaladoc URI for a particular type or type member.

  8. trait DocJarReading extends AnyRef

    Permalink
  9. class DocResolver extends Actor with ActorLogging with DocUsecaseHandling

    Permalink
  10. final case class DocSig(fqn: DocFqn, member: Option[String]) extends Product with Serializable

    Permalink
  11. final case class DocSigPair(scala: DocSig, java: DocSig) extends Product with Serializable

    Permalink

    We generate DocSigs for java and scala at the same time, since we don't know a priori whether the docs will be in scaladoc or javadoc format.

  12. trait DocUsecaseHandling extends AnyRef

    Permalink
  13. trait FqnToSymbol extends AnyRef

    Permalink

    The inverse of SymbolToFqn

  14. trait Helpers extends AnyRef

    Permalink
  15. class ImplicitAnalyzer extends AnyRef

    Permalink
  16. class Indexer extends Actor with ActorLogging

    Permalink
  17. class JavaAnalyzer extends Actor with Stash with ActorLogging

    Permalink
  18. trait PositionBackCompat extends AnyRef

    Permalink
  19. trait PresentationCompilerBackCompat extends AnyRef

    Permalink

    Simulate methods that were added in later versions of the scalac API, or to generate fake methods that we can use in both versions.

  20. class Project extends Actor with ActorLogging with Stash

    Permalink

    The Project actor simply forwards messages coming from the user to the respective subcomponent.

  21. trait Protocol extends AnyRef

    Permalink

    Provides a generic message encoding/dblocking I/O API for reading and writing to the wire.

  22. trait RefactoringControl extends AnyRef

    Permalink
  23. abstract class RefactoringEnvironment extends AnyRef

    Permalink
  24. trait RefactoringHandler extends AnyRef

    Permalink
  25. trait RefactoringImpl extends AnyRef

    Permalink
  26. trait RichCompilerControl extends CompilerControl with RefactoringControl with CompletionControl with DocFinding

    Permalink
  27. class RichPresentationCompiler extends Global with ModelBuilders with RichCompilerControl with RefactoringImpl with Completion with Helpers with PresentationCompilerBackCompat with PositionBackCompat with StructureViewBuilder with SymbolToFqn with FqnToSymbol with TypeToScalaName

    Permalink
  28. final class ScalaName extends AnyVal

    Permalink

    Type safety around Scala type names, scalac uses raw Strings.

  29. class SemanticHighlighting extends CompilerAccess with EnrichedTrees

    Permalink
  30. final case class ShutdownRequest(reason: String, isError: Boolean = false) extends Product with Serializable

    Permalink
  31. trait StructureViewBuilder extends AnyRef

    Permalink
  32. trait SymbolToFqn extends AnyRef

    Permalink

    Resolves scalac scala.reflect.internal.Symbols.Symbol to Java bytecode FQNs (including descriptors for methods).

    Resolves scalac scala.reflect.internal.Symbols.Symbol to Java bytecode FQNs (including descriptors for methods).

    Note this does not work for scala.tools.scalap.scalax.rules.scalasig.Symbol which must be handled separately (going from a Symbols.Symbol to a scalasig.Symbol would involve invoking the Pickler phase - which we can't do - to generate a byte array that could be reparsed by scalap).

    See also DocFinding.javaFqnString (which should be rewritten to use this).

  33. final case class TypeCompletionsReq(prefix: String, maxResults: Int) extends Product with Serializable

    Permalink
  34. trait TypeToScalaName extends AnyRef

    Permalink

Value Members

  1. object Analyzer

    Permalink
  2. object Broadcaster

    Permalink
  3. object Canon extends Poly1

    Permalink

    Goes through sealed families and gets the canonical path of File instances.

    Goes through sealed families and gets the canonical path of File instances. Not to be confused with "the other" Cannon ;-)

  4. object Canonised

    Permalink
  5. object CompletionUtil

    Permalink
  6. object DocResolver

    Permalink
  7. object Indexer

    Permalink
  8. object JavaAnalyzer

    Permalink
  9. object Keywords

    Permalink
  10. object Project

    Permalink
  11. package debug

    Permalink
  12. package javac

    Permalink

Ungrouped