Skip to content

Commit 62a9243

Browse files
committed
Java: Replace usages of isParameterDefinition.
1 parent 487b5d2 commit 62a9243

File tree

8 files changed

+11
-9
lines changed

8 files changed

+11
-9
lines changed

java/ql/lib/semmle/code/java/dataflow/DefUse.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,6 @@ predicate defUsePair(VariableUpdate def, VarRead use) {
4747
*/
4848
predicate parameterDefUsePair(Parameter p, VarRead use) {
4949
exists(SsaVariable v |
50-
v.getAUse() = use and v.getAnUltimateDefinition().(SsaImplicitInit).isParameterDefinition(p)
50+
v.getAUse() = use and v.getAnUltimateDefinition().(SsaParameterInit).getParameter() = p
5151
)
5252
}

java/ql/lib/semmle/code/java/dataflow/Nullness.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ private predicate varMaybeNull(SsaVariable v, ControlFlowNode node, string msg,
156156
or
157157
// A parameter might be null if there is a null argument somewhere.
158158
exists(Parameter p, Expr arg |
159-
v.(SsaImplicitInit).isParameterDefinition(p) and
159+
v.(SsaParameterInit).getParameter() = p and
160160
node = v.getCfgNode() and
161161
p.getAnArgument() = arg and
162162
reason = arg and

java/ql/lib/semmle/code/java/dataflow/SSA.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,8 @@ class SsaImplicitInit extends SsaVariable instanceof WriteDefinition {
317317
predicate captures(SsaVariable capturedvar) { captures(this, capturedvar) }
318318

319319
/**
320+
* DEPRECATED: Use `SsaParameterInit::getParameter()` instead.
321+
*
320322
* Holds if the SSA variable is a parameter defined by its initial value in the callable.
321323
*/
322324
predicate isParameterDefinition(Parameter p) {

java/ql/lib/semmle/code/java/dataflow/internal/DataFlowNodes.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ module SsaFlow {
4646
or
4747
exists(Parameter p |
4848
n = TExplicitParameterNode(p) and
49-
result.(Impl::WriteDefSourceNode).getDefinition().(SsaImplicitInit).isParameterDefinition(p)
49+
result.(Impl::WriteDefSourceNode).getDefinition().(SsaParameterInit).getParameter() = p
5050
)
5151
or
5252
ssaDefAssigns(result.(Impl::WriteDefSourceNode).getDefinition(), n.asExpr())

java/ql/lib/semmle/code/java/dataflow/internal/DataFlowPrivate.qll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -551,15 +551,15 @@ private class ConstantBooleanArgumentNode extends ArgumentNode, ExprNode {
551551
*/
552552
predicate isUnreachableInCall(NodeRegion nr, DataFlowCall call) {
553553
exists(
554-
ExplicitParameterNode paramNode, ConstantBooleanArgumentNode arg, SsaImplicitInit param,
554+
ExplicitParameterNode paramNode, ConstantBooleanArgumentNode arg, SsaParameterInit param,
555555
Guard guard
556556
|
557557
// get constant bool argument and parameter for this call
558558
viableParamArg(call, pragma[only_bind_into](paramNode), arg) and
559559
// get the ssa variable definition for this parameter
560-
param.isParameterDefinition(paramNode.getParameter()) and
560+
param.getParameter() = paramNode.getParameter() and
561561
// which is used in a guard
562-
param.getAUse() = guard and
562+
param.getARead() = guard and
563563
// which controls `n` with the opposite value of `arg`
564564
guard
565565
.controls(nr,

java/ql/lib/semmle/code/java/dataflow/internal/SsaImpl.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -669,7 +669,7 @@ private module DataFlowIntegrationInput implements Impl::DataFlowIntegrationInpu
669669
Expr getARead(Definition def) { result = getAUse(def) }
670670

671671
predicate ssaDefHasSource(WriteDefinition def) {
672-
def instanceof SsaExplicitUpdate or def.(SsaImplicitInit).isParameterDefinition(_)
672+
def instanceof SsaExplicitUpdate or def instanceof SsaParameterInit
673673
}
674674

675675
predicate allowFlowIntoUncertainDef(UncertainWriteDefinition def) {

java/ql/lib/semmle/code/java/dataflow/internal/rangeanalysis/SignAnalysisSpecific.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ private module Impl {
273273
}
274274

275275
/** Holds if the variable underlying the implicit SSA variable `v` is not a field. */
276-
predicate nonFieldImplicitSsaDefinition(SsaImplicitInit v) { v.isParameterDefinition(_) }
276+
predicate nonFieldImplicitSsaDefinition(SsaParameterInit v) { any() }
277277

278278
/** Returned an expression that is assigned to `f`. */
279279
Expr getAssignedValueToField(Field f) {

java/ql/lib/semmle/code/java/frameworks/InputStream.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ private class InputStreamWrapperCapturedLocalStep extends AdditionalTaintStep {
5757
|
5858
n1.asExpr() = captured.(SsaExplicitUpdate).getDefiningExpr().(VariableAssign).getSource()
5959
or
60-
captured.(SsaImplicitInit).isParameterDefinition(n1.asParameter())
60+
captured.(SsaParameterInit).getParameter() = n1.asParameter()
6161
)
6262
}
6363
}

0 commit comments

Comments
 (0)