You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/codeql/ql-language-reference/ql-language-specification.rst
+32-35Lines changed: 32 additions & 35 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -334,40 +334,6 @@ Active types
334
334
335
335
In a QL program, the *active* types are those defined in active modules. In the remainder of this specification, any reference to the types in the program refers only to the active types.
336
336
337
-
338
-
Signatures
339
-
----------
340
-
341
-
Signature definitions
342
-
~~~~~~~~~~~~~~~~~~~~~
343
-
344
-
A QL signature definition has the following syntax:
A predicate signature definition extends the current module's declared predicate signature environment with a mapping from the predicate signature name and arity to the predicate signature definition.
366
-
367
-
A type signature definition extends the current module's declared type signature environment with a mapping from the type signature name to the type signature definition.
368
-
369
-
A module signature definition extends the current module's declared module signature environment with a mapping from the module signature name to the module signature definition.
370
-
371
337
Values
372
338
------
373
339
@@ -850,7 +816,7 @@ If the query file starts with whitespace followed by a QLDoc comment, then the t
850
816
Top-level entities
851
817
------------------
852
818
853
-
Modules include five kinds of top-level entity: predicates, classes, modules, aliases, and select clauses.
819
+
Modules include five kinds of top-level entity: predicates, classes, modules, aliases, signatures, and select clauses.
854
820
855
821
Non-member predicates
856
822
~~~~~~~~~~~~~~~~~~~~~
@@ -1004,6 +970,37 @@ A valid field must override another field if it is annotated ``override``.
1004
970
1005
971
When field ``f`` overrides field ``g`` the type of ``f`` must be a subtype of the type of ``g``. ``f`` may not be a final field.
A predicate signature definition extends the current module's declared predicate signature environment with a mapping from the predicate signature name and arity to the predicate signature definition.
999
+
1000
+
A type signature definition extends the current module's declared type signature environment with a mapping from the type signature name to the type signature definition.
1001
+
1002
+
A module signature definition extends the current module's declared module signature environment with a mapping from the module signature name to the module signature definition.
0 commit comments