31 lines
989 B
Kotlin
31 lines
989 B
Kotlin
package program
|
|
|
|
import jetbrains.mps.logic.reactor.evaluation.ConstraintOccurrence
|
|
import jetbrains.mps.logic.reactor.logical.LogicalContext
|
|
import jetbrains.mps.logic.reactor.logical.MetaLogical
|
|
import jetbrains.mps.logic.reactor.program.Constraint
|
|
import jetbrains.mps.logic.reactor.program.ConstraintSymbol
|
|
import jetbrains.mps.logic.reactor.program.Predicate
|
|
import java.util.*
|
|
|
|
/**
|
|
* @author Fedor Isakov
|
|
*/
|
|
|
|
data class MockConstraint(val symbol: ConstraintSymbol, val arguments: List<Any>) : Constraint {
|
|
|
|
constructor(symbol: ConstraintSymbol, vararg args: Any) : this(symbol, listOf(* args)) {}
|
|
|
|
override fun arguments(): List<Any> = arguments
|
|
|
|
override fun patternPredicates(args: Collection<*>): Collection<Predicate> = emptyList()
|
|
|
|
override fun symbol(): ConstraintSymbol = symbol
|
|
|
|
override fun argumentTypes(): List<Class<*>> = arguments.map { arg -> arg.javaClass }
|
|
|
|
override fun toString(): String = "${symbol()}(${arguments().joinToString()})"
|
|
|
|
}
|
|
|