! ) .filterIsInstance<KSClassDeclaration>() .map { declaration -> val funSpec = FunSpec .getterBuilder() .addStatement("return %S", declaration.simpleName.asString()) .build() PropertySpec .builder("TAG", String :: class) .receiver(declaration.toClassName()) .mutable(false) .getter(funSpec) .addOriginatingKSFile(declaration.containingFile !! ) .build() } .toList() .takeIf { it.isNotEmpty() } ?. let { propertySpecs -> FileSpec .builder("com.tagger.generated", "Tags") .addProperties(propertySpecs) .build() } ?. writeTo(codeGenerator, true) return emptyList() }