## org.plovr
Class CompilerPassFactory

    java.lang.Object
      org.plovr.CompilerPassFactory

    public class CompilerPassFactory

extends Object

`CompilerPassFactory` instantiates `CompilerPass`es using reflection, based on the class names that are provided to the "custom-passes" option in a plovr config.

Author:
  bolinfest@gmail.com (Michael Bolin)

Constructor Summary
`CompilerPassFactory(Class<?> clazz)`

Method Summary
`CompilerPass` `createCompilerPass(AbstractCompiler compiler, Config config)` Creates an instance of the `CompilerPass` that this factory is designed to produce.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### CompilerPassFactory

    public CompilerPassFactory(Class<?> clazz)

Parameters:
  `clazz` - a class that implements `CompilerPass` that will be instantiated by this factory

Method Detail

### createCompilerPass

    public CompilerPass createCompilerPass(AbstractCompiler compiler,
                                           Config config)

  Creates an instance of the `CompilerPass` that this factory is designed to produce. It does so via reflection, using the first constructor it finds that matches one of the following signatures (in priority order):
  - `CompilerPass(AbstractCompiler, Config)`
  - `CompilerPass(AbstractCompiler)`
  - `CompilerPass()`