You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

13 lines
441 B
Kotlin

package me.eater.hefbrug.selector
import me.eater.hefbrug.dsl.annotation.HefbrugDSL
import me.eater.hefbrug.node.Node
@HefbrugDSL
interface SelectorInterface {
fun matches(node: Node): Boolean
operator fun not(): SelectorInterface = NotSelector(this)
infix fun and(right: SelectorInterface): SelectorInterface = AndSelector(this, right)
infix fun or(right: SelectorInterface): SelectorInterface = OrSelector(this, right)
}