Skip to content

Commit 7b3cdc8

Browse files
committed
C#: Drop caching for deprecated predicates.
1 parent 19f11cd commit 7b3cdc8

1 file changed

Lines changed: 37 additions & 43 deletions

File tree

  • csharp/ql/lib/semmle/code/csharp/dataflow/internal

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

Lines changed: 37 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -813,14 +813,6 @@ private module Cached {
813813
)
814814
}
815815

816-
cached
817-
deprecated AssignableDefinition getADefinition(Ssa::ExplicitDefinition def) {
818-
exists(Ssa::SourceVariable v, AssignableDefinition ad | explicitDefinition(def, v, ad) |
819-
result = ad or
820-
result = getASameOutRefDefAfter(v, ad)
821-
)
822-
}
823-
824816
/**
825817
* Holds if `call` may change the value of field or property `fp`. The actual
826818
* update occurs in `setter`.
@@ -846,36 +838,6 @@ private module Cached {
846838
not updatesNamedFieldOrProp(bb, i, _, v, _)
847839
}
848840

849-
cached
850-
deprecated predicate explicitDefinition(
851-
WriteDefinition def, Ssa::SourceVariable v, AssignableDefinition ad
852-
) {
853-
exists(BasicBlock bb, int i |
854-
def.definesAt(v, bb, i) and
855-
variableDefinition(bb, i, v, ad)
856-
)
857-
}
858-
859-
cached
860-
deprecated predicate isLiveAtEndOfBlock(Definition def, BasicBlock bb) {
861-
Impl::ssaDefReachesEndOfBlock(bb, def, _)
862-
}
863-
864-
cached
865-
deprecated Definition phiHasInputFromBlock(Ssa::PhiNode phi, BasicBlock bb) {
866-
Impl::phiHasInputFromBlock(phi, result, bb)
867-
}
868-
869-
cached
870-
deprecated AssignableRead getAReadAtNode(Definition def, ControlFlowNode cfn) {
871-
exists(Ssa::SourceVariable v, BasicBlock bb, int i |
872-
Impl::ssaDefReachesRead(v, def, bb, i) and
873-
variableReadActual(bb, i, v) and
874-
cfn = bb.getNode(i) and
875-
result.getControlFlowNode() = cfn
876-
)
877-
}
878-
879841
/**
880842
* Holds if the value defined at SSA definition `def` can reach a read at `cfn`,
881843
* without passing through any other read.
@@ -900,11 +862,6 @@ private module Cached {
900862
)
901863
}
902864

903-
cached
904-
deprecated Definition uncertainWriteDefinitionInput(UncertainWriteDefinition def) {
905-
Impl::uncertainWriteDefinitionInput(def, result)
906-
}
907-
908865
/**
909866
* Holds if the SSA definition `def` assigns to `out`/`ref` parameter `p`, and the
910867
* parameter may remain unchanged throughout the rest of the enclosing callable.
@@ -994,6 +951,43 @@ private module Cached {
994951

995952
import Cached
996953

954+
deprecated AssignableDefinition getADefinition(Ssa::ExplicitDefinition def) {
955+
exists(Ssa::SourceVariable v, AssignableDefinition ad | explicitDefinition(def, v, ad) |
956+
result = ad or
957+
result = getASameOutRefDefAfter(v, ad)
958+
)
959+
}
960+
961+
deprecated predicate explicitDefinition(
962+
WriteDefinition def, Ssa::SourceVariable v, AssignableDefinition ad
963+
) {
964+
exists(BasicBlock bb, int i |
965+
def.definesAt(v, bb, i) and
966+
variableDefinition(bb, i, v, ad)
967+
)
968+
}
969+
970+
deprecated predicate isLiveAtEndOfBlock(Definition def, BasicBlock bb) {
971+
Impl::ssaDefReachesEndOfBlock(bb, def, _)
972+
}
973+
974+
deprecated Definition phiHasInputFromBlock(Ssa::PhiNode phi, BasicBlock bb) {
975+
Impl::phiHasInputFromBlock(phi, result, bb)
976+
}
977+
978+
deprecated AssignableRead getAReadAtNode(Definition def, ControlFlowNode cfn) {
979+
exists(Ssa::SourceVariable v, BasicBlock bb, int i |
980+
Impl::ssaDefReachesRead(v, def, bb, i) and
981+
variableReadActual(bb, i, v) and
982+
cfn = bb.getNode(i) and
983+
result.getControlFlowNode() = cfn
984+
)
985+
}
986+
987+
deprecated Definition uncertainWriteDefinitionInput(UncertainWriteDefinition def) {
988+
Impl::uncertainWriteDefinitionInput(def, result)
989+
}
990+
997991
private module DataFlowIntegrationInput implements Impl::DataFlowIntegrationInputSig {
998992
private import codeql.util.Boolean
999993

0 commit comments

Comments
 (0)