Skip to content

Commit 51a577a

Browse files
authored
Merge pull request #20713 from aschackmull/dataflow/qldoc1
Dataflow: Minor drive-by qldoc addition.
2 parents 558ca74 + 4ea90e0 commit 51a577a

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,13 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
317317

318318
predicate returnMayFlowThrough(RetNd ret, ReturnKindExt kind);
319319

320+
/**
321+
* Holds if this stage makes use of a store step of content `c` from
322+
* `node1` to `node2`.
323+
*
324+
* `contentType` and `containerType` are the types of the content being
325+
* stored, and the type of the resulting container, respectively.
326+
*/
320327
predicate storeStepCand(Nd node1, Content c, Nd node2, Type contentType, Type containerType);
321328

322329
predicate readStepCand(Nd n1, Content c, Nd n2);
@@ -486,6 +493,14 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
486493
)
487494
}
488495

496+
/**
497+
* Holds if a node with type `containerType` is compatible with an
498+
* access path with head content `apc`. This is determined by checking
499+
* type compatibility against the possible types of nodes that are
500+
* targets of store steps with content `apc`.
501+
*
502+
* Excludes the case where `apc` is compatible with all types.
503+
*/
489504
bindingset[apc, containerType]
490505
pragma[inline_late]
491506
private predicate compatibleContainer(ApHeadContent apc, Type containerType) {

0 commit comments

Comments
 (0)