Skip to content

Commit 951b6be

Browse files
committed
Swift: Untangle the confusion between 'getParameter' and 'asParameter'.
1 parent 78e08cf commit 951b6be

File tree

3 files changed

+13
-13
lines changed

3 files changed

+13
-13
lines changed

swift/ql/lib/codeql/swift/dataflow/internal/DataFlowPrivate.qll

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -163,9 +163,9 @@ private module Cached {
163163
private predicate localSsaFlowStepUseUse(Ssa::Definition def, Node nodeFrom, Node nodeTo) {
164164
def.adjacentReadPair(nodeFrom.getCfgNode(), nodeTo.getCfgNode()) and
165165
(
166-
nodeTo instanceof InoutReturnNode
166+
nodeTo instanceof InoutReturnNodeImpl
167167
implies
168-
nodeTo.(InoutReturnNode).getParameter() = def.getSourceVariable().asVarDecl()
168+
nodeTo.(InoutReturnNodeImpl).getParameter() = def.getSourceVariable().asVarDecl()
169169
)
170170
}
171171

@@ -180,7 +180,7 @@ private module Cached {
180180
* Holds if `nodeFrom` is a parameter node, and `nodeTo` is a corresponding SSA node.
181181
*/
182182
private predicate localFlowSsaParamInput(Node nodeFrom, Node nodeTo) {
183-
nodeTo = getParameterDefNode(nodeFrom.(ParameterNode).getParameter())
183+
nodeTo = getParameterDefNode(nodeFrom.asParameter())
184184
}
185185

186186
private predicate localFlowStepCommon(Node nodeFrom, Node nodeTo) {
@@ -193,9 +193,9 @@ private module Cached {
193193
nodeFrom.asDefinition() = def and
194194
nodeTo.getCfgNode() = def.getAFirstRead() and
195195
(
196-
nodeTo instanceof InoutReturnNode
196+
nodeTo instanceof InoutReturnNodeImpl
197197
implies
198-
nodeTo.(InoutReturnNode).getParameter() = def.getSourceVariable().asVarDecl()
198+
nodeTo.(InoutReturnNodeImpl).getParameter() = def.getSourceVariable().asVarDecl()
199199
)
200200
or
201201
// use-use flow
@@ -394,7 +394,7 @@ private module ParameterNodes {
394394
predicate isParameterOf(DataFlowCallable c, ParameterPosition pos) { none() }
395395

396396
/** Gets the parameter associated with this node, if any. */
397-
override ParamDecl getParameter() { none() }
397+
ParamDecl getParameter() { none() }
398398
}
399399

400400
class SourceParameterNode extends ParameterNodeImpl, TSourceParameterNode {
@@ -700,7 +700,7 @@ private module ReturnNodes {
700700
result = TDataFlowFunc(param.getDeclaringFunction())
701701
}
702702

703-
override ParamDecl getParameter() { result = param }
703+
ParamDecl getParameter() { result = param }
704704

705705
override Location getLocationImpl() { result = exit.getLocation() }
706706

@@ -952,7 +952,7 @@ private CaptureFlow::ClosureNode asClosureNode(Node n) {
952952
result.(CaptureFlow::ExprPostUpdateNode).getExpr() =
953953
n.(PostUpdateNode).getPreUpdateNode().asExpr()
954954
or
955-
result.(CaptureFlow::ParameterNode).getParameter() = n.getParameter()
955+
result.(CaptureFlow::ParameterNode).getParameter() = n.asParameter()
956956
or
957957
result.(CaptureFlow::ThisParameterNode).getCallable() = n.(ClosureSelfParameterNode).getClosure()
958958
or

swift/ql/lib/codeql/swift/dataflow/internal/DataFlowPublic.qll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ class Node extends TNode {
5555
/**
5656
* Gets the parameter that corresponds to this node, if any.
5757
*/
58-
ParamDecl getParameter() { none() }
58+
ParamDecl asParameter() { none() }
5959
}
6060

6161
/**
@@ -101,7 +101,7 @@ class ParameterNode extends Node instanceof ParameterNodeImpl {
101101
result = this.(ParameterNodeImpl).getEnclosingCallable()
102102
}
103103

104-
override ParamDecl getParameter() { result = this.(ParameterNodeImpl).getParameter() }
104+
override ParamDecl asParameter() { result = this.(ParameterNodeImpl).getParameter() }
105105
}
106106

107107
/**
@@ -156,7 +156,7 @@ ExprNode exprNode(DataFlowExpr e) { result.asExpr() = e }
156156
/**
157157
* Gets the node corresponding to the value of parameter `p` at function entry.
158158
*/
159-
ParameterNode parameterNode(ParamDecl p) { result.getParameter() = p }
159+
ParameterNode parameterNode(ParamDecl p) { result.asParameter() = p }
160160

161161
/**
162162
* Holds if data flows from `nodeFrom` to `nodeTo` in exactly one local

swift/ql/lib/codeql/swift/frameworks/StandardLibrary/WebView.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ private class WKNavigationDelegateSource extends RemoteFlowSource {
6666
] and
6767
p.getDeclaringFunction() = f and
6868
p.getIndex() = 1 and
69-
this.(DataFlow::ParameterNode).getParameter() = p
69+
this.asParameter() = p
7070
)
7171
}
7272

@@ -173,7 +173,7 @@ private class JsExportedSource extends RemoteFlowSource {
173173
base.getEnclosingDecl().asNominalTypeDecl() instanceof JsExportedProto and
174174
adopter.getEnclosingDecl().asNominalTypeDecl() instanceof JsExportedType
175175
|
176-
this.(DataFlow::ParameterNode).getParameter().getDeclaringFunction() = adopter and
176+
this.asParameter().getDeclaringFunction() = adopter and
177177
pragma[only_bind_out](adopter.getName()) = pragma[only_bind_out](base.getName())
178178
)
179179
or

0 commit comments

Comments
 (0)