@Test
  public void testErrorTypes() {
    JavaFileObject source =
        JavaFileObjects.forSourceString(
            "ExtendsUndefinedType", "class ExtendsUndefinedType extends UndefinedParent {}");
    Compilation compilation = javac().withProcessors(new ErrorTestProcessor()).compile(source);
    assertThat(compilation).failed();
    assertThat(compilation).hadErrorContaining("UndefinedParent");
    assertThat(compilation).hadErrorCount(1);
  }
Returns a "base type" for TypeSimplifier that does not contain any nested types. The point
being that every {@code TypeSimplifier} has a base type that the class being generated is going
to extend, and if that class has nested types they will be in scope, and therefore a possible
source of ambiguity.
value/src/test/java/com/google/auto/value/processor/TypeEncoderTest.java