overridefunprocess(p0: MutableSet<outTypeElement>, p1: RoundEnvironment): Boolean { println("[Start] build Annotation processor") // 获取所有使用HookItem注解的类 for (element in p0){ for (anno in p1.getElementsAnnotatedWith(element)) { allItemClassNames.add("${anno.enclosingElement}.${anno.simpleName}") } } val allHookItemClass = PropertySpec.builder("allHookItemClass",List::class.parameterizedBy(Any::class)) .initializer("%L",buildCodeBlock { val sb = StringBuilder() for (itemClassName in allItemClassNames){ sb.append("${itemClassName}::class.java").append(",") } add("listOf<Class<*>>(${sb})") }) .build() val allHookItem = TypeSpec.objectBuilder("AllHookItem") .addProperty(allHookItemClass) .build()
public object AllHookItem { public val allHookItemClass: List<Any> = listOf<Class<*>>(top.artmoe.inao.hook.item.NtQQSettingInject::class.java,top.artmoe.inao.hook.item.NtQQSettingPurify::class.java) }