Apply suggestions from code review

Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com>
This commit is contained in:
Asger F
2024-12-16 13:14:27 +01:00
committed by GitHub
parent 889100a243
commit 0edb30638a

View File

@@ -996,8 +996,12 @@ module DataFlowMake<LocationSig Location, InputSig<Location> Lang> {
predicate discriminatedPathNode(InputPathNode pathNode) { discriminatedPathNode(pathNode, _) } predicate discriminatedPathNode(InputPathNode pathNode) { discriminatedPathNode(pathNode, _) }
} }
private InputPathNode getUniqPathNode(Node node, string toString) {
result = unique(InputPathNode pathNode | pathNode = getAPathNode(node, toString))
}
private predicate initialCandidate(Node node, string toString) { private predicate initialCandidate(Node node, string toString) {
exists(getAPathNode(node, toString)) exists(getAPathNode(node, toString)) and not exists(getUniqPathNode(node, toString))
} }
private module Pass1 = private module Pass1 =
@@ -1017,7 +1021,7 @@ module DataFlowMake<LocationSig Location, InputSig<Location> Lang> {
MakeDiscriminatorPass<Pass1::discriminatedPair/2, edgesRev/4, subpathsRev/4>; MakeDiscriminatorPass<Pass1::discriminatedPair/2, edgesRev/4, subpathsRev/4>;
private newtype TPathNode = private newtype TPathNode =
TPreservedPathNode(InputPathNode node) { Pass2::discriminatedPathNode(node) } or TPreservedPathNode(InputPathNode node) { Pass2::discriminatedPathNode(node) or node = getUniqPathNode(_, _) } or
TCollapsedPathNode(Node node, string toString) { TCollapsedPathNode(Node node, string toString) {
initialCandidate(node, toString) and initialCandidate(node, toString) and
not Pass2::discriminatedPair(node, toString) not Pass2::discriminatedPair(node, toString)