Package-level declarations

Types

Link copied to clipboard
sealed interface CoercionPlan

How the generator fills one parameter of a generated dynamic function body.

Link copied to clipboard

Decides, at build time, how each @QFunction parameter is filled at call time.

Link copied to clipboard
data class FactoryCandidate(val functionName: String, val unwrappedTypeQualifiedName: String, val requiresContext: Boolean)

One @FromDynamicType-annotated function on ValueFactory, as read off the compile classpath.

Link copied to clipboard
data class TypeShape(val qualifiedName: String, val simpleName: String, val supertypeQualifiedNames: Set<String>, val isEnum: Boolean, val isNullable: Boolean)

The parts of a parameter's resolved type that the CoercionPlanner needs.

Link copied to clipboard

Reads the @FromDynamicType dispatch table off ValueFactory on the compile classpath.

Functions

Link copied to clipboard
fun KSType.toTypeShape(): TypeShape

Projects a resolved KSP type down to the TypeShape the CoercionPlanner consumes.