Skip to content

Commit a97afee

Browse files
committed
Parameterize UI5PathGraph on PathNodeSig and PathGraphSig
1 parent fe90260 commit a97afee

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

  • javascript/frameworks/ui5/lib/advanced_security/javascript/frameworks/ui5/dataflow

javascript/frameworks/ui5/lib/advanced_security/javascript/frameworks/ui5/dataflow/DataFlow.qll

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import advanced_security.javascript.frameworks.ui5.UI5
44
import advanced_security.javascript.frameworks.ui5.UI5View
55
import advanced_security.javascript.frameworks.ui5.RemoteFlowSources
66
import advanced_security.javascript.frameworks.ui5.dataflow.FlowSteps
7-
private import StdLibDataFlow::DataFlow::PathGraph as DataFlowPathGraph
7+
// private import StdLibDataFlow::DataFlow::PathGraph as DataFlowPathGraph
88
private import PatchDataFlow
99

1010
/**
@@ -60,7 +60,7 @@ class LocalModelContentBoundBidirectionallyToHtmlISinkControl extends DomBasedXs
6060
UI5Control getControlDeclaration() { result = controlDeclaration }
6161
}
6262

63-
module UI5PathGraph {
63+
module UI5PathGraph<PathNodeSig ConfigPathNode, PathGraphSig<ConfigPathNode> ConfigModule> {
6464
private newtype TNode =
6565
TUI5BindingPathNode(UI5BindingPath path) or
6666
TDataFlowNode(DataFlow::Node node)
@@ -92,7 +92,7 @@ module UI5PathGraph {
9292
.hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn)
9393
}
9494

95-
DataFlow::PathNode getPathNode() { result.getNode() = this.asDataFlowNode() }
95+
ConfigPathNode getPathNode() { result.getNode() = this.asDataFlowNode() }
9696

9797
UI5PathNode getAPrimarySource() {
9898
if this.asDataFlowNode() instanceof LocalModelContentBoundBidirectionallyToSourceControl
@@ -124,9 +124,9 @@ module UI5PathGraph {
124124
query predicate nodes(UI5PathNode ui5PathNode) {
125125
exists(ui5PathNode.asUI5BindingPathNode())
126126
or
127-
exists(DataFlow::PathNode pathNode |
127+
exists(ConfigPathNode pathNode |
128128
pathNode.getNode() = ui5PathNode.asDataFlowNode() and
129-
DataFlowPathGraph::nodes(pathNode)
129+
ConfigModule::nodes(pathNode, _, _)
130130
)
131131
}
132132

@@ -182,10 +182,10 @@ module UI5PathGraph {
182182

183183
query predicate edges(UI5PathNode ui5PathNodePred, UI5PathNode ui5PathNodeSucc) {
184184
/* Include all existing dataflow edges */
185-
exists(DataFlow::PathNode pathNodeFrom, DataFlow::PathNode pathNodeTo |
185+
exists(ConfigPathNode pathNodeFrom, ConfigPathNode pathNodeTo |
186186
pathNodeFrom.getNode() = ui5PathNodePred.asDataFlowNode() and
187187
pathNodeTo.getNode() = ui5PathNodeSucc.asDataFlowNode() and
188-
DataFlowPathGraph::edges(pathNodeFrom, pathNodeTo)
188+
ConfigModule::edges(pathNodeFrom, pathNodeTo, _, _)
189189
) and
190190
/* ========= TODO: Legacy code ========= */
191191
/* Exclude duplicate edge from model to handler parameter */

0 commit comments

Comments
 (0)