Packages

trait Imports extends AnyRef

Self Type
IMain
Source
Imports.scala
Linear Supertypes
AnyRef, Any
Known Subclasses
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Imports
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class ComputedImports(header: String, prepend: String, append: String, access: String) extends Product with Serializable

    Compute imports that allow definitions from previous requests to be visible in a new request.

    Compute imports that allow definitions from previous requests to be visible in a new request. Returns three or four pieces of related code:

    0. Header code fragment that should go at the beginning of the compilation unit, specifically, import Predef.

    1. An initial code fragment that should go before the code of the new request.

    2. A code fragment that should go after the code of the new request.

    3. An access path which can be traversed to access any bindings inside code wrapped by #1 and #2 .

    The argument is a set of Names that need to be imported.

    Limitations: This method is not as precise as it could be. (1) It does not process wildcard imports to see what exactly they import. (2) If it imports any names from a request, it imports all of them, which is not really necessary. (3) It imports multiple same-named implicits, but only the last one imported is actually usable.

Value Members

  1. def allImportedNames: collection.immutable.List[Global.Name]
  2. def implicitSymbolsBySource: List[(Global.Symbol, List[Global.Symbol])]
  3. def importedSymbols: collection.immutable.List[Global.Symbol]
  4. def importedSymbolsBySource: List[(Global.Symbol, List[Global.Symbol])]

    Tuples of (source, imported symbols) in the order they were imported.

  5. def importedTermSymbols: collection.immutable.List[Global.TermSymbol]
  6. def languageSymbols: collection.immutable.List[Global.Symbol]
  7. def languageWildcardHandlers: collection.immutable.List[(memberHandlers)#ImportHandler]
  8. def languageWildcardSyms: List[Global.Symbol]

    Symbols whose contents are language-defined to be imported.

  9. def sessionImportedSymbols: collection.immutable.List[Global.Symbol]
  10. def sessionWildcards: List[Global.Type]

    Types which have been wildcard imported, such as: val x = "abc" ; import x._ // type java.lang.String import java.lang.String._ // object java.lang.String

    Types which have been wildcard imported, such as: val x = "abc" ; import x._ // type java.lang.String import java.lang.String._ // object java.lang.String

    Used by tab completion.

    XXX right now this gets import x._ and import java.lang.String._, but doesn't figure out import String._. There's a lot of ad hoc scope twiddling which should be swept away in favor of digging into the compiler scopes.