compiler-plugin / arrow.meta.quotes.expression / IsExpression
class IsExpression :
Scope
<KtIsExpression>
””“$left $operation $type”””.is
A template destructuring Scope for a KtIsExpression.
import arrow.meta.Meta
import arrow.meta.CliPlugin
import arrow.meta.invoke
import arrow.meta.quotes.Transform
import arrow.meta.quotes.isExpression
val Meta.reformatIs: CliPlugin
get() =
"Reformat Is Expression" {
meta(
isExpression(this, { true }) { expression ->
Transform.replace(
replacing = expression,
newDeclaration = """$left $operation $type""".`is`
)
}
)
}
<init> | ””“$left $operation $type”””.is IsExpression(value: KtIsExpression?, left: Scope <KtExpression> = Scope(value?.leftHandSide), operation: Scope <KtSimpleNameExpression> = Scope(value?.operationReference), type: TypeReference = TypeReference(value?.typeReference)) |
left | val left: Scope <KtExpression> |
operation | val operation: Scope <KtSimpleNameExpression> |
type | val type: TypeReference |
value | val value: KtIsExpression? |
identity | fun ElementScope .identity(): IsExpression |
map | fun <K : KtElement> Scope <K>.map(f: (K) -> K): Scope <K> |
orEmpty | fun <K : KtElement> Scope <K>?.orEmpty(): Scope <K> |
Do you like Arrow?
✖