INNER CODE UNIT · Java
createImpl
xiaojinzi123/Component · ComponentCompiler/src/main/java/com/xiaojinzi/component/AutowireProcessor.java:178
private void createImpl() {
Set<Map.Entry<TypeElement, Set<VariableElement>>> entrySet = map.entrySet();
for (Map.Entry<TypeElement, Set<VariableElement>> entry : entrySet) {
// 标记注解的类
TypeElement targetClass = entry.getKey();
// 这个类标记了注解的字段集合
Set<VariableElement> parameterFieldSet = entry.getValue();
createInjectClass(targetClass, parameterFieldSet);
}
}
/**
* 创建某个类的Inject实现
*/
private void createInjectClass(TypeElement targetClass, Set<VariableElement> parameterFieldSet) {
boolean isKotlinFile = Utils.isKotlinFile(targetClass);
// 拿到注解类的全类名
String fullClassName = targetClass.getQualifiedName().toString();