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
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)
|
|
} |