python: model XPathEvaluator

This commit is contained in:
Rasmus Lerchedahl Petersen
2022-03-01 14:40:13 +01:00
parent 3bb17be389
commit f55d7d627e
2 changed files with 16 additions and 1 deletions

View File

@@ -70,4 +70,19 @@ private module Lxml {
override string getName() { result = "lxml.etree" }
}
class XPathEvaluatorCall extends XPathExecution::Range, DataFlow::CallCfgNode {
XPathEvaluatorCall() {
this =
API::moduleImport("lxml")
.getMember("etree")
.getMember("XPathEvaluator")
.getReturn()
.getACall()
}
override DataFlow::Node getXPath() { result = this.getArg(0) }
override string getName() { result = "lxml.etree" }
}
}

View File

@@ -18,4 +18,4 @@ def test_ETXpath_class():
def test_XPathEvaluator_class():
root = etree.XML("<root><a>TEXT</a></root>")
search_root = etree.XPathEvaluator(root)
text = search_root("path")[0] # $ MISSING: getXPath="path"
text = search_root("path")[0] # $ getXPath="path"