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
@@ -859,7 +825,7 @@ If the query file starts with whitespace followed by a QLDoc comment, then the t
859
825
Top-level entities
860
826
------------------
861
827
862
-
Modules include five kinds of top-level entity: predicates, classes, modules, aliases, and select clauses.
828
+
Modules include five kinds of top-level entity: predicates, classes, modules, aliases, signatures, and select clauses.
863
829
864
830
Non-member predicates
865
831
~~~~~~~~~~~~~~~~~~~~~
@@ -1013,6 +979,37 @@ A valid field must override another field if it is annotated ``override``.
1013
979
1014
980
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.
1008
+
1009
+
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.
1010
+
1011
+
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