NavEaseProcessor

class NavEaseProcessor(codeGenerator: CodeGenerator, logger: KSPLogger, generatedPackage: String = "io.github.alimsrepo.navease.generated") : SymbolProcessor

NavEase KSP symbol processor.

Discovers all classes annotated with io.github.alimsrepo.navease.runtime.annotations.NavEaseScreen and generates five files:

  • AppScreens.kt — sealed NavKey hierarchy

  • ScreenFactory.kt — key-to-NavScreen mapping

  • NavEaseExtensions.kt — typed navigateToXxx() / xxxArgs() extensions

  • NavEaseResults.kt — typed result data classes + extensions (only if any @NavEaseResult exists)

  • NavEaseHost.kt — generated @Composable NavEaseHost(…) entry point

All files are emitted into generatedPackage.

Parameters

codeGenerator

KSP code generator, provided by the KSP runtime.

logger

KSP logger used to report errors and warnings during processing.

generatedPackage

Package for all generated files. Configured via the navease.generatedPackage KSP option; defaults to io.github.alimsrepo.navease.generated.

Constructors

Link copied to clipboard
constructor(codeGenerator: CodeGenerator, logger: KSPLogger, generatedPackage: String = "io.github.alimsrepo.navease.generated")

Functions

Link copied to clipboard
open fun finish()
Link copied to clipboard
open fun onError()
Link copied to clipboard
open override fun process(resolver: Resolver): List<KSAnnotated>