INNER CODE UNIT · Java
className
xiaojinzi123/Component · ComponentCompiler/src/main/java/com/xiaojinzi/component/AutowireProcessor.java:200
String className = fullClassName.substring(lastPointIndex + 1);
TypeSpec.Builder classBuilder = TypeSpec
.classBuilder(className + ComponentConstants.INJECT_SUFFIX)
.addAnnotation(mClassNameKeep)
.addAnnotation(mClassNameComponentGeneratedAnno)
.addModifiers(Modifier.PUBLIC, Modifier.FINAL)
.addSuperinterface(ParameterizedTypeName.get(injectClassName, TypeName.get(mElements.getTypeElement(fullClassName).asType())))
.addMethod(injectAttrValueMethod1(targetClass))
.addMethod(injectAttrValueMethod2(targetClass, isKotlinFile, parameterFieldSet))
.addMethod(injectServiceMethod(isKotlinFile, targetClass, parameterFieldSet));
try {
JavaFile.builder(pkg, classBuilder.build()
).indent(" ").build().writeTo(mFiler);
} catch (IOException ignore) {
// ignore
}
}