/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved. * Use of this file is governed by the BSD 3-clause license that * can be found in the LICENSE.txt file in the project root. */ #include "XPath.h" #include "tree/ParseTree.h" #include "tree/Trees.h" #include "XPathWildcardAnywhereElement.h" using namespace antlr4::tree; using namespace antlr4::tree::xpath; XPathWildcardAnywhereElement::XPathWildcardAnywhereElement() : XPathElement(XPath::WILDCARD) { } std::vector XPathWildcardAnywhereElement::evaluate(ParseTree *t) { if (_invert) { return {}; // !* is weird but valid (empty) } return Trees::getDescendants(t); }