Incremental optimizer.
Checker for the validity of the IR.
An abstract builder taking IR or JSTrees
A Google Closure Error Manager that forwards to a tools.logging.Logger
Optimizer core.
Optimizer core. Designed to be "mixed in" IncOptimizer#MethodImpl#Optimizer. This is the core of the optimizer. It contains all the smart things the optimizer does. To perform inlining, it relies on abstract protected methods to identify the target of calls.
Scala.js Closure optimizer: does advanced optimizations with Closure.
Scala.js optimizer: does type-aware global dce.
Incremental optimizer. An incremental optimizer consumes the reachability analysis produced by an Analyzer, as well as trees for classes, trait impls, etc., 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.