All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.org.antlr.v4.kotlinruntime.tree.xpath.XPathWildcardElement.kt Maven / Gradle / Ivy

// Copyright 2017-present Strumenta and contributors, licensed under Apache 2.0.
// Copyright 2024-present Strumenta and contributors, licensed under BSD 3-Clause.
package org.antlr.v4.kotlinruntime.tree.xpath

import org.antlr.v4.kotlinruntime.tree.ParseTree
import org.antlr.v4.kotlinruntime.tree.Trees

public open class XPathWildcardElement : XPathElement(XPath.WILDCARD) {
  override fun evaluate(t: ParseTree): Collection {
    if (invert) {
      // !* is weird but valid (empty)
      return emptyList()
    }

    val children = Trees.getChildren(t)
    val kids = ArrayList(children.size)

    for (c in children) {
      kids.add(c as ParseTree)
    }

    return kids
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy