Class PassFactory

java.lang.Object
com.google.javascript.jscomp.PassFactory

public abstract class PassFactory extends Object
A factory for creating JSCompiler passes based on the Options injected.

Contains all meta-data about compiler passes (like whether it can be run multiple times, a human-readable name for logging, etc.).

  • Method Details

    • getName

      public abstract String getName()
      The name of the pass as it will appear in logs.
    • getCondition

      public abstract Function<CompilerOptions,Boolean> getCondition()
    • isRunInFixedPointLoop

      public abstract boolean isRunInFixedPointLoop()
      Whether this factory must or must not appear in a PhaseOptimizer loop.
    • toBuilder

      public abstract PassFactory.Builder toBuilder()
    • builder

      public static PassFactory.Builder builder()
    • createEmptyPass

      public static PassFactory createEmptyPass(String name)
      Create a no-op pass that can only run once. Used to break up loops.
    • create

      public final CompilerPass create(AbstractCompiler compiler)
      Creates a new compiler pass to be run.