in libraries/rib-compiler-test/src/main/kotlin/com/uber/rib/compiler/InteractorTestGenerator.kt [41:60]
override fun generate(annotatedInteractor: InteractorAnnotatedClass) {
if (annotatedInteractor.isCodeGenerated) {
return
}
val interactorTestBaseClassName =
(Constants.INTERACTOR_TEST_CREATOR_PREFIX +
annotatedInteractor.rootName +
Constants.INTERACTOR_TEST_CREATOR_SUFFIX)
val constructor = MethodSpec.constructorBuilder().addModifiers(Modifier.PRIVATE).build()
val createInteractor = createMethodSpec(annotatedInteractor)
val testBaseClass =
TypeSpec.classBuilder(interactorTestBaseClassName)
.addMethod(constructor)
.addMethod(createInteractor)
.addModifiers(Modifier.PUBLIC)
.build()
val packageName = packageNameOf(annotatedInteractor.typeElement)
JavaFile.builder(packageName, testBaseClass).build().writeTo(processingEnvironment.filer)
annotatedInteractor.isCodeGenerated = true
}