VariableBindingUtil

Utility to query for free and bound variable occurrences. It takes (inline) function parameters into account as well.

Note that in an XPath expression EQNames can play different roles: variable names (including function parameters), function names, type names, and any kind of name in node tests (kind tests and name tests). This utility only cares about variables (including function parameters).

class Object
trait Matchable
class Any

Value members

Concrete methods

def findAllBoundVariables(elem: XPathElem, inheritedIntroducedVariables: Set[EQName]): IndexedSeq[VarRef]

Returns all VarRef elements that are bound, given the passed inherited "introduced" variables and the variable bindings of and in the given element itself. Note that function parameters (in inline functions) must also be treated as "introduced" variables. All bound VarRefs that are descendant-or-self elements of the parameter element are returned.

Returns all VarRef elements that are bound, given the passed inherited "introduced" variables and the variable bindings of and in the given element itself. Note that function parameters (in inline functions) must also be treated as "introduced" variables. All bound VarRefs that are descendant-or-self elements of the parameter element are returned.

The "introduced" variables are those in variable bindings as well as function parameters.

def findAllBoundVariables(elem: XPathElem): IndexedSeq[VarRef]

Returns findAllBoundVariables(elem, Set()).

Returns findAllBoundVariables(elem, Set()).

def findAllFreeVariables(elem: XPathElem, inheritedIntroducedVariables: Set[EQName]): IndexedSeq[VarRef]

Returns all VarRef elements that are free despite the passed inherited "introduced" variables and the variable bindings of and in the given element itself. Note that function parameters (in inline functions) must also be treated as "introduced" variables. All free VarRefs that are descendant-or-self elements of the parameter element are returned.

Returns all VarRef elements that are free despite the passed inherited "introduced" variables and the variable bindings of and in the given element itself. Note that function parameters (in inline functions) must also be treated as "introduced" variables. All free VarRefs that are descendant-or-self elements of the parameter element are returned.

The "introduced" variables are those in variable bindings as well as function parameters.

def findAllFreeVariables(elem: XPathElem): IndexedSeq[VarRef]

Returns findAllFreeVariables(elem, Set()).

Returns findAllFreeVariables(elem, Set()).