Package

org.scalajs.core.tools

optimizer

Permalink

package optimizer

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. optimizer
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. trait Analysis extends AnyRef

    Permalink
  2. final class Analyzer extends Analysis

    Permalink
  3. final class Emitter extends AnyRef

    Permalink

    Emits a desugared JS tree to a builder

  4. abstract class GenIncOptimizer extends AnyRef

    Permalink

    Incremental optimizer.

    Incremental optimizer. An incremental optimizer consumes the reachability Analysis produced by an Analyzer, as well as trees for classes, and optimizes them in an incremental way. It maintains state between runs to do a minimal amount of work on every run, based on detecting what parts of the program must be re-optimized, and keeping optimized results from previous runs for the rest.

  5. class IRChecker extends AnyRef

    Permalink

    Checker for the validity of the IR.

  6. class IncOptimizer extends GenIncOptimizer

    Permalink
  7. class InfoChecker extends AnyRef

    Permalink

    Checker for the validity of the IR.

  8. trait JSTreeBuilder extends AnyRef

    Permalink

    An abstract builder taking IR or JSTrees

  9. final class LinkedClass extends AnyRef

    Permalink

    A ClassDef after linking.

    A ClassDef after linking.

    Note that the version in the LinkedClass does not cover staticMethods, memberMethods, abstractMethods and exportedMembers as they have their individual versions. (The collections themselves are not versioned).

    Moreover, the version is relative to the identity of a LinkedClass. The definition of identity varies as linked classes progress through the linking pipeline, but it only gets stronger, i.e., if two linked classes are id-different at phase P, then they must also be id-different at phase P+1. The converse is not true. This guarantees that versions can be used reliably to determine at phase P+1 whether a linked class coming from phase P must be reprocessed.

  10. final case class LinkedMember[+T <: Tree](info: MethodInfo, tree: T, version: Option[String]) extends Product with Serializable

    Permalink

    A MethodDef or a PropertyDef after linking.

    A MethodDef or a PropertyDef after linking.

    Note that the version is relative to the identity of a LinkedMember. The definition of identity varies as linked members progress through the linking pipeline, but it only gets stronger, i.e., if two linked members are id-different at phase P, then they must also be id-different at phase P+1. The converse is not true. This guarantees that versions can be used reliably to determine at phase P+1 whether a linked member coming from phase P must be reprocessed.

  11. final class Linker extends AnyRef

    Permalink

    Links the information from VirtualScalaJSIRFiles into LinkedClassDefs.

    Links the information from VirtualScalaJSIRFiles into LinkedClassDefs. Does a dead code elimination pass.

  12. final class LinkingUnit extends AnyRef

    Permalink
  13. final class Refiner extends AnyRef

    Permalink

    Does a dead code elimination pass on LinkedClasses

  14. class ScalaJSOptimizer extends AnyRef

    Permalink

    Scala.js optimizer: does type-aware global dce.

Value Members

  1. object Analysis

    Permalink
  2. object Analyzer

    Permalink
  3. object Emitter

    Permalink
  4. object GenIncOptimizer

    Permalink
  5. object IRChecker

    Permalink
  6. object IncOptimizer

    Permalink
  7. object LinkedClass

    Permalink
  8. object LinkingUnit

    Permalink
  9. object ScalaJSOptimizer

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped