@Override
    public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
      if (roundEnv.processingOver()) {
        ecjCompilation.elements = processingEnv.getElementUtils();
        ecjCompilation.types = processingEnv.getTypeUtils();
        try {
          statement.evaluate();
        } catch (Throwable t) {
          thrown = t;
        }
      }
      return false;
    }
An equivalent to {@link CompilationRule} that uses ecj (the Eclipse compiler) instead of javac.
If the parameterized test is not selecting ecj then this rule has no effect.
common/src/test/java/com/google/auto/common/OverridesTest.java