transformExprAfterTransformedDefault

inline fun <In : KExpr<T>, Out : KExpr<T>, T : KSort, A : KSort> transformExprAfterTransformedDefault(expr: In, dependencies: List<KExpr<A>>, ifNotTransformed: (In) -> KExpr<T>, transformer: KContext.(List<KExpr<A>>) -> Out): KExpr<T>

Transform expressions dependencies before expression transformation. If all dependencies remain unchanged after transformation invoke ifNotTransformed on the original expression and return it result. Otherwise, apply transformer to the modified dependencies.


inline fun <In : KExpr<T>, Out : KExpr<T>, T : KSort, A : KSort> transformExprAfterTransformedDefault(expr: In, dependency: KExpr<A>, ifNotTransformed: (In) -> KExpr<T>, transformer: KContext.(KExpr<A>) -> Out): KExpr<T>

Specialized version of transformExprAfterTransformedDefault for expression with single argument.


inline fun <In : KExpr<T>, Out : KExpr<T>, T : KSort, A0 : KSort, A1 : KSort> transformExprAfterTransformedDefault(expr: In, dependency0: KExpr<A0>, dependency1: KExpr<A1>, ifNotTransformed: (In) -> KExpr<T>, transformer: KContext.(KExpr<A0>, KExpr<A1>) -> Out): KExpr<T>

Specialized version of transformExprAfterTransformedDefault for expression with two arguments.


inline fun <In : KExpr<T>, Out : KExpr<T>, T : KSort, A0 : KSort, A1 : KSort, A2 : KSort> transformExprAfterTransformedDefault(expr: In, dependency0: KExpr<A0>, dependency1: KExpr<A1>, dependency2: KExpr<A2>, ifNotTransformed: (In) -> KExpr<T>, transformer: KContext.(KExpr<A0>, KExpr<A1>, KExpr<A2>) -> Out): KExpr<T>

Specialized version of transformExprAfterTransformedDefault for expression with three arguments.


inline fun <In : KExpr<T>, Out : KExpr<T>, T : KSort, A0 : KSort, A1 : KSort, A2 : KSort, A3 : KSort> transformExprAfterTransformedDefault(expr: In, dependency0: KExpr<A0>, dependency1: KExpr<A1>, dependency2: KExpr<A2>, dependency3: KExpr<A3>, ifNotTransformed: (In) -> KExpr<T>, transformer: KContext.(KExpr<A0>, KExpr<A1>, KExpr<A2>, KExpr<A3>) -> Out): KExpr<T>

Specialized version of transformExprAfterTransformedDefault for expression with four arguments.


inline fun <In : KExpr<T>, Out : KExpr<T>, T : KSort, A0 : KSort, A1 : KSort, A2 : KSort, A3 : KSort, A4 : KSort> transformExprAfterTransformedDefault(expr: In, d0: KExpr<A0>, d1: KExpr<A1>, d2: KExpr<A2>, d3: KExpr<A3>, d4: KExpr<A4>, ifNotTransformed: (In) -> KExpr<T>, transformer: KContext.(KExpr<A0>, KExpr<A1>, KExpr<A2>, KExpr<A3>, KExpr<A4>) -> Out): KExpr<T>

Specialized version of transformExprAfterTransformedDefault for expression with five arguments.