Skip to content

Commit 0c4eb68

Browse files
committed
introduce concept of fully instantiated entity
1 parent 6848cba commit 0c4eb68

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

docs/codeql/ql-language-reference/ql-language-specification.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,8 @@ For a *completely uninstantiated* parameter, the *bottom-up instantiation-resolu
323323
- If the entity is an *instantiated module* or an *instantiation-nested* entity, the *bottom-up instantiation-resolution* is the *instantiation-relative* entity of the *bottom-up instantiation-resolution* relative to the *underlying module*.
324324
- Otherwise, the *bottom-up instantiation-resolution* is the parameter itself.
325325

326+
An entity is called *fully instantiated* if none of the *bottom-up instantiation-resolutions* of the parameters in the *relevant set of parameters* of the entity's *underlying completely uninstantiated* entity are parameters.
327+
326328
Two *instantiated modules* or two *instantiation-nested* entities are considered *equivalent* if they have the same *underlying completely uninstantiated* entity and each parameter in its *relevant set of parameters* has the same *bottom-up instantiation-resolution* relative to either *instantiated module*.
327329

328330
Module instantiation is applicative, meaning that *equivalent* *instantiated modules* and *equivalent* *instantiation-nested* entities are indistinguishable.
@@ -2040,7 +2042,7 @@ Stratification
20402042

20412043
A QL program can be *stratified* to a sequence of *layers*. A layer is a set of predicates and types.
20422044

2043-
A valid stratification must include each predicate and type in the QL program. It must not include any other predicates or types.
2045+
A valid stratification must include each predicate and type in the QL program that is *fully instantiated*. It must not include any other predicates or types.
20442046

20452047
A valid stratification must not include the same predicate in multiple layers.
20462048

0 commit comments

Comments
 (0)