Skip to content

Commit 5373b4d

Browse files
committed
Dataflow: Remove superfluous predicates.
1 parent b534e7b commit 5373b4d

File tree

1 file changed

+1
-23
lines changed

1 file changed

+1
-23
lines changed

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

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2521,9 +2521,6 @@ module Impl<FullStateConfigSig Config> {
25212521
}
25222522
}
25232523

2524-
/** Gets the access path obtained by pushing `c` onto the `t,apa` pair. */
2525-
private AccessPathApprox push(Content c, DataFlowType t, AccessPathApprox apa) { result.isCons(c, t, apa) }
2526-
25272524
private newtype TAccessPathApproxOption =
25282525
TAccessPathApproxNone() or
25292526
TAccessPathApproxSome(AccessPathApprox apa)
@@ -2551,7 +2548,7 @@ module Impl<FullStateConfigSig Config> {
25512548
Typ getTyp(DataFlowType t) { result = t }
25522549

25532550
bindingset[c, t, tail]
2554-
Ap apCons(Content c, Typ t, Ap tail) { result = push(c, t, tail) }
2551+
Ap apCons(Content c, Typ t, Ap tail) { result.isCons(c, t, tail) }
25552552

25562553
class ApHeadContent = Content;
25572554

@@ -2664,8 +2661,6 @@ module Impl<FullStateConfigSig Config> {
26642661

26652662
SummaryCtxSome() { this = TSummaryCtxSome(p, s, t, ap) }
26662663

2667-
ParameterPosition getParameterPos() { p.isParameterOf(_, result) }
2668-
26692664
ParamNodeEx getParamNode() { result = p }
26702665

26712666
override string toString() { result = p + ": " + ap }
@@ -2832,9 +2827,6 @@ module Impl<FullStateConfigSig Config> {
28322827
/** Gets the head of this access path, if any. */
28332828
abstract Content getHead();
28342829

2835-
/** Gets the tail of this access path, if any. */
2836-
abstract AccessPath getTail();
2837-
28382830
/** Holds if this is a representation of `head` followed by the `typ,tail` pair. */
28392831
abstract predicate isCons(Content head, DataFlowType typ, AccessPath tail);
28402832

@@ -2854,8 +2846,6 @@ module Impl<FullStateConfigSig Config> {
28542846
private class AccessPathNil extends AccessPath, TAccessPathNil {
28552847
override Content getHead() { none() }
28562848

2857-
override AccessPath getTail() { none() }
2858-
28592849
override predicate isCons(Content head, DataFlowType typ, AccessPath tail) { none() }
28602850

28612851
override AccessPathFrontNil getFront() { result = TFrontNil() }
@@ -2876,8 +2866,6 @@ module Impl<FullStateConfigSig Config> {
28762866

28772867
override Content getHead() { result = head_ }
28782868

2879-
override AccessPath getTail() { result = tail_ }
2880-
28812869
override predicate isCons(Content head, DataFlowType typ, AccessPath tail) {
28822870
head = head_ and typ = t and tail = tail_
28832871
}
@@ -2933,12 +2921,6 @@ module Impl<FullStateConfigSig Config> {
29332921

29342922
override Content getHead() { result = head1 }
29352923

2936-
override AccessPath getTail() {
2937-
Stage5::consCand(head1, t, result.getApprox()) and
2938-
result.getHead() = head2 and
2939-
result.length() = len - 1
2940-
}
2941-
29422924
override predicate isCons(Content head, DataFlowType typ, AccessPath tail) {
29432925
head = head1 and
29442926
typ = t and
@@ -2973,10 +2955,6 @@ module Impl<FullStateConfigSig Config> {
29732955

29742956
override Content getHead() { result = head_ }
29752957

2976-
override AccessPath getTail() {
2977-
Stage5::consCand(head_, _, result.getApprox()) and result.length() = len - 1
2978-
}
2979-
29802958
override predicate isCons(Content head, DataFlowType typ, AccessPath tail) {
29812959
head = head_ and
29822960
Stage5::consCand(head_, typ, tail.getApprox()) and tail.length() = len - 1

0 commit comments

Comments
 (0)