Package-level declarations

Types

Link copied to clipboard
Link copied to clipboard
interface Interpolator<T, R>
Link copied to clipboard

NOTE: Normally in Interpoator we have a type T that defines the input and a type R that defines the output. However since the batch interpolator desires to allow the user to returnt he param function which takes a generic A (which is deinfed on the invoke/interploate functions) any R paramter defined on the InterpolatorBatching-level would need to somehow have this information. For example, if we wanted invoke/interploate to return some kind of Out then we would need to have a way to define this on the InterpolatorBatching interface. This would likely require some other assumptions such as the R (i.e. Out) parameter being a higher-order type Out<_> which is not even supported in Kotlin. So for now we will just assume that invoke and interpolate have the same type in the macro and treat whatever type comes out from invoke as the same type that comes out of interpolate.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.FUNCTION])
annotation class InterpolatorFunction<T : Any>(val cls: KClass<T>)
Link copied to clipboard
Link copied to clipboard
object Messages
Link copied to clipboard
class ParseError(val msg: String) : Throwable
Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.FUNCTION])
annotation class StrictType
Link copied to clipboard
class UnzipPartsParams<T>(val isPart: (T) -> Boolean, val concatPart: (T, T) -> T, val emptyPart: () -> T)
Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class WrapFailureMessage(val msg: String)

Functions

Link copied to clipboard
Link copied to clipboard
fun <R> printSource(f: () -> R): String
Link copied to clipboard
Link copied to clipboard
fun <T> wrapSplice(locationPath: String, code: String, codeIsApproximate: Boolean, spliceTermNumber: Int, totalTerms: Int, splice: () -> T): T