diff --git a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll index e9ff5dbf5e48..536e1750fd2f 100644 --- a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll +++ b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll @@ -380,18 +380,20 @@ private module LogicInput_v1 implements GuardsImpl::LogicInputSig { GuardsInput::Expr getARead() { result = this.getAUse().getDef() } } - class SsaWriteDefinition extends SsaDefinition instanceof ExplicitDefinition { - GuardsInput::Expr getDefinition() { result = super.getAssignedInstruction() } + class SsaExplicitWrite extends SsaDefinition instanceof ExplicitDefinition { + GuardsInput::Expr getValue() { result = super.getAssignedInstruction() } } - class SsaPhiNode extends SsaDefinition instanceof PhiNode { + class SsaPhiDefinition extends SsaDefinition instanceof PhiNode { predicate hasInputFromBlock(SsaDefinition inp, BasicBlock bb) { super.hasInputFromBlock(inp, bb) } } - predicate parameterDefinition(GuardsInput::Parameter p, SsaDefinition def) { - def.isParameterDefinition(p) + class SsaParameterInit extends SsaDefinition { + SsaParameterInit() { this.isParameterDefinition(_) } + + GuardsInput::Parameter getParameter() { this.isParameterDefinition(result) } } predicate additionalImpliesStep( diff --git a/csharp/ql/lib/semmle/code/csharp/controlflow/ControlFlowReachability.qll b/csharp/ql/lib/semmle/code/csharp/controlflow/ControlFlowReachability.qll index 9d9e3f8d458b..aafe14402c7f 100644 --- a/csharp/ql/lib/semmle/code/csharp/controlflow/ControlFlowReachability.qll +++ b/csharp/ql/lib/semmle/code/csharp/controlflow/ControlFlowReachability.qll @@ -33,13 +33,13 @@ private module ControlFlowInput implements class SsaDefinition = Ssa::Definition; - class SsaWriteDefinition extends SsaDefinition instanceof Ssa::ExplicitDefinition { - Expr getDefinition() { result = super.getADefinition().getSource() } + class SsaExplicitWrite extends SsaDefinition instanceof Ssa::ExplicitDefinition { + Expr getValue() { result = super.getADefinition().getSource() } } - class SsaPhiNode = Ssa::PhiNode; + class SsaPhiDefinition = Ssa::PhiNode; - class SsaUncertainDefinition = Ssa::UncertainDefinition; + class SsaUncertainWrite = Ssa::UncertainDefinition; class GuardValue = Guards::GuardValue; diff --git a/csharp/ql/lib/semmle/code/csharp/controlflow/Guards.qll b/csharp/ql/lib/semmle/code/csharp/controlflow/Guards.qll index f12fa66dde8a..3e33807991a9 100644 --- a/csharp/ql/lib/semmle/code/csharp/controlflow/Guards.qll +++ b/csharp/ql/lib/semmle/code/csharp/controlflow/Guards.qll @@ -207,18 +207,18 @@ private module LogicInput implements GuardsImpl::LogicInputSig { Expr getARead() { super.getARead() = result } } - class SsaWriteDefinition extends SsaDefinition instanceof Ssa::ExplicitDefinition { - Expr getDefinition() { result = super.getADefinition().getSource() } + class SsaExplicitWrite extends SsaDefinition instanceof Ssa::ExplicitDefinition { + Expr getValue() { result = super.getADefinition().getSource() } } - class SsaPhiNode extends SsaDefinition instanceof Ssa::PhiNode { + class SsaPhiDefinition extends SsaDefinition instanceof Ssa::PhiNode { predicate hasInputFromBlock(SsaDefinition inp, BasicBlock bb) { super.hasInputFromBlock(inp, bb) } } - predicate parameterDefinition(Parameter p, SsaDefinition def) { - def.(Ssa::ImplicitParameterDefinition).getParameter() = p + class SsaParameterInit extends SsaDefinition instanceof Ssa::ImplicitParameterDefinition { + Parameter getParameter() { result = super.getParameter() } } predicate additionalNullCheck(GuardsImpl::PreGuard guard, GuardValue val, Expr e, boolean isNull) { diff --git a/java/ql/lib/semmle/code/java/controlflow/ControlFlowReachability.qll b/java/ql/lib/semmle/code/java/controlflow/ControlFlowReachability.qll index fbb384e2b0ed..9fe6b9b0b1df 100644 --- a/java/ql/lib/semmle/code/java/controlflow/ControlFlowReachability.qll +++ b/java/ql/lib/semmle/code/java/controlflow/ControlFlowReachability.qll @@ -31,16 +31,16 @@ private module ControlFlowInput implements InputSig