mirror of
https://github.com/github/codeql.git
synced 2026-04-24 00:05:14 +02:00
Merge pull request #19777 from hvitved/shared/summary-stack-mad-repr-unique
Shared: Make sure `getMadRepresentation` is unique
This commit is contained in:
@@ -4,9 +4,9 @@ extensions:
|
||||
extensible: summaryModel
|
||||
data:
|
||||
# Iterator
|
||||
- ["lang:core", "<[_]>::iter", "Argument[Self].Element", "ReturnValue.Element", "value", "manual"]
|
||||
- ["lang:core", "<[_]>::iter_mut", "Argument[Self].Element", "ReturnValue.Element", "value", "manual"]
|
||||
- ["lang:core", "<[_]>::into_iter", "Argument[Self].Element", "ReturnValue.Element", "value", "manual"]
|
||||
- ["lang:core", "<[_]>::iter", "Argument[self].Element", "ReturnValue.Element", "value", "manual"]
|
||||
- ["lang:core", "<[_]>::iter_mut", "Argument[self].Element", "ReturnValue.Element", "value", "manual"]
|
||||
- ["lang:core", "<[_]>::into_iter", "Argument[self].Element", "ReturnValue.Element", "value", "manual"]
|
||||
- ["lang:core", "crate::iter::traits::iterator::Iterator::nth", "Argument[self].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "manual"]
|
||||
- ["lang:core", "crate::iter::traits::iterator::Iterator::next", "Argument[self].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "manual"]
|
||||
- ["lang:core", "crate::iter::traits::iterator::Iterator::collect", "Argument[self].Element", "ReturnValue.Element", "value", "manual"]
|
||||
|
||||
@@ -686,6 +686,11 @@ module Make<
|
||||
derivedFluentFlowPush(_, _, _, head, tail, _)
|
||||
}
|
||||
|
||||
pragma[nomagic]
|
||||
private string getUniqueMadRepresentation(SummaryComponent c) {
|
||||
result = strictconcat(string s | s = c.getMadRepresentation() | s, "/")
|
||||
}
|
||||
|
||||
/**
|
||||
* A (non-empty) stack of summary components.
|
||||
*
|
||||
@@ -732,7 +737,7 @@ module Make<
|
||||
exists(SummaryComponent head, SummaryComponentStack tail |
|
||||
head = this.head() and
|
||||
tail = this.tail() and
|
||||
result = tail.getMadRepresentation() + "." + head.getMadRepresentation()
|
||||
result = tail.getMadRepresentation() + "." + getUniqueMadRepresentation(head)
|
||||
)
|
||||
or
|
||||
exists(SummaryComponent c |
|
||||
|
||||
Reference in New Issue
Block a user