org.scalajs.core.tools

optimizer

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
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. trait Analysis extends AnyRef

  2. final class Analyzer extends Analysis

  3. final class Emitter extends AnyRef

    Emits a desugared JS tree to a builder

  4. abstract class GenIncOptimizer extends AnyRef

    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

    Checker for the validity of the IR.

  6. class IncOptimizer extends GenIncOptimizer

  7. class InfoChecker extends AnyRef

    Checker for the validity of the IR.

  8. trait JSTreeBuilder extends AnyRef

    An abstract builder taking IR or JSTrees

  9. final class LinkedClass extends AnyRef

    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

    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

    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

  13. final class Refiner extends AnyRef

    Does a dead code elimination pass on LinkedClasses

  14. class ScalaJSOptimizer extends AnyRef

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

Value Members

  1. object Analysis

  2. object Analyzer

  3. object Emitter

  4. object GenIncOptimizer

  5. object IRChecker

  6. object IncOptimizer

  7. object LinkedClass

  8. object LinkingUnit

  9. object ScalaJSOptimizer

Inherited from AnyRef

Inherited from Any

Ungrouped