Class DefaultPassConfig

java.lang.Object
com.google.javascript.jscomp.PassConfig
com.google.javascript.jscomp.DefaultPassConfig

public final class DefaultPassConfig extends PassConfig
Pass factories and meta-data for native JSCompiler passes.

NOTE(johnlenz): this needs some non-trivial refactoring. The pass config should use as little state as possible. The recommended way for a pass to leave behind some state for a subsequent pass is through the compiler object. Any other state remaining here should only be used when the pass config is creating the list of checks and optimizations, not after passes have started executing.

The general goal is for this class to be as minimal as possible. Option validation should occur before this class configures the compiler, business logic should live here (passes should not be inlined, etc).

  • Constructor Details

  • Method Details

    • getTranspileOnlyPasses

      protected PassListBuilder getTranspileOnlyPasses()
      Description copied from class: PassConfig
      Gets the transpilation passes
      Overrides:
      getTranspileOnlyPasses in class PassConfig
    • getWhitespaceOnlyPasses

      protected PassListBuilder getWhitespaceOnlyPasses()
      Description copied from class: PassConfig
      Gets additional checking passes that are run always, even in "whitespace only" mode. For very specific cases where processing is required even in a mode which is intended not to have any processing - specifically introduced to support goog.module() usage.
      Overrides:
      getWhitespaceOnlyPasses in class PassConfig
    • getChecks

      protected PassListBuilder getChecks()
      Description copied from class: PassConfig
      Gets the checking passes to run.

      Checking passes revolve around emitting warnings and errors. They also may include pre-processor passes needed to do error analysis more effectively.

      Clients that only want to analyze code (like IDEs) and not emit code will only run checks and not optimizations.

      Specified by:
      getChecks in class PassConfig
    • getOptimizations

      protected PassListBuilder getOptimizations(PassConfig.OptimizationPasses optimizationPasses)
      Description copied from class: PassConfig
      Gets the optimization passes to run.

      Optimization passes revolve around producing smaller and faster code. They should always run after checking passes.

      Specified by:
      getOptimizations in class PassConfig
    • getFinalizations

      protected PassListBuilder getFinalizations()
      Description copied from class: PassConfig
      Gets the finalization passes to run.

      Finalization passes include the injection of locale-specific code and converting the AST to its final form for output.

      Specified by:
      getFinalizations in class PassConfig