Skip to content

Commit 0f431c9

Browse files
committed
C#: Simplify library instantiations.
1 parent 437e2b7 commit 0f431c9

3 files changed

Lines changed: 4 additions & 30 deletions

File tree

csharp/ql/lib/semmle/code/csharp/controlflow/ControlFlowReachability.qll

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,7 @@ private module ControlFlowInput implements InputSig<Location, ControlFlowNode, B
2626

2727
class Expr = CS::Expr;
2828

29-
class SourceVariable = Ssa::SourceVariable;
30-
31-
class SsaDefinition = Ssa::Definition;
32-
33-
class SsaExplicitWrite extends SsaDefinition instanceof Ssa::ExplicitDefinition {
34-
Expr getValue() { result = super.getADefinition().getSource() }
35-
}
36-
37-
class SsaPhiDefinition = Ssa::PhiNode;
38-
39-
class SsaUncertainWrite = Ssa::UncertainDefinition;
29+
import Ssa
4030

4131
class GuardValue = Guards::GuardValue;
4232

csharp/ql/lib/semmle/code/csharp/controlflow/Guards.qll

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -191,23 +191,7 @@ private module GuardsImpl = SharedGuards::Make<Location, Cfg, GuardsInput>;
191191
class GuardValue = GuardsImpl::GuardValue;
192192

193193
private module LogicInput implements GuardsImpl::LogicInputSig {
194-
class SsaDefinition extends Ssa::Definition {
195-
Expr getARead() { super.getARead() = result }
196-
}
197-
198-
class SsaExplicitWrite extends SsaDefinition instanceof Ssa::ExplicitDefinition {
199-
Expr getValue() { result = super.getADefinition().getSource() }
200-
}
201-
202-
class SsaPhiDefinition extends SsaDefinition instanceof Ssa::PhiNode {
203-
predicate hasInputFromBlock(SsaDefinition inp, BasicBlock bb) {
204-
super.hasInputFromBlock(inp, bb)
205-
}
206-
}
207-
208-
class SsaParameterInit extends SsaDefinition instanceof Ssa::ImplicitParameterDefinition {
209-
Parameter getParameter() { result = super.getParameter() }
210-
}
194+
import Ssa
211195

212196
predicate additionalNullCheck(GuardsImpl::PreGuard guard, GuardValue val, Expr e, boolean isNull) {
213197
// Comparison with a non-`null` value, for example `x?.Length > 0`

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -264,9 +264,9 @@ private predicate defReaches(Ssa::Definition def, ControlFlowNode cfn) {
264264
}
265265

266266
private module NullnessConfig implements ControlFlowReachability::ConfigSig {
267-
predicate source(ControlFlowNode node, Ssa::Definition def) { defMaybeNull(def, node, _, _) }
267+
predicate source(ControlFlowNode node, SsaDefinition def) { defMaybeNull(def, node, _, _) }
268268

269-
predicate sink(ControlFlowNode node, Ssa::Definition def) {
269+
predicate sink(ControlFlowNode node, SsaDefinition def) {
270270
exists(Dereference d |
271271
dereferenceAt(node, def, d) and
272272
not d instanceof NonNullExpr

0 commit comments

Comments
 (0)