我有一个简单的注释处理器,其应用如下:
@DiffElement(diffReceiver = Renderer.class)
class ViewState {
String getHello();
int getWorld();
}
class Renderer {
void renderHello(String hello);
void renderWorld(int world);
}
为了使该处理器工作,get
-functions 和Renderer
-interface 函数参数的名称必须匹配。它检查这一点并使用注释的参数来查看提供的类并基于该类进行一些代码生成。
它生成一个文件。
我已阅读有关增量注释处理的文档,但我无法决定应用于该处理器的类别。以下是我的考虑:
它不可能isolating
,因为它不会从带注释的元素的 AST 派生所有内容,因为它还从注释参数检查类
不可能aggregating
,因为它在类上没有任何注释Renderer
,所以根据上面的文档,每当类发生变化时,处理器都不会被调用Renderer
,因为处理器还没有注册来处理这个文件,所以这会导致生成结果中的错误。
问题:
我正确理解文档吗?或者某些类别是否仍适用于该处理器
如果它不属于任一类别,我如何告诉 Gradle 它不是增量的,因此像“kotlin kapt”这样的工具不会向用户抱怨我的处理器不是增量的
慕容森
DIEA
相关分类