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: CONTRIBUTING.md
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
We welcome contributions to our CodeQL libraries and queries. Got an idea for a new check, or how to improve an existing query? Then please go ahead and open a pull request! Contributions to this project are [released](https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license) to the public under the [project's open source license](LICENSE).
4
4
5
-
There is lots of useful documentation to help you write queries, ranging from information about query file structure to tutorials for specific target languages. For more information on the documentation available, see [Writing CodeQL queries](https://help.semmle.com/QL/learn-ql/writing-queries/writing-queries.html) on [help.semmle.com](https://help.semmle.com).
5
+
There is lots of useful documentation to help you write queries, ranging from information about query file structure to tutorials for specific target languages. For more information on the documentation available, see [CodeQL queries](https://help.semmle.com/QL/learn-ql/writing-queries/writing-queries.html) on [help.semmle.com](https://help.semmle.com).
6
6
7
7
8
8
## Submitting a new experimental query
@@ -32,7 +32,7 @@ If you have an idea for a query that you would like to share with other CodeQL u
32
32
33
33
For details, see the [guide on query metadata](docs/query-metadata-style-guide.md).
34
34
35
-
Make sure the `select` statement is compatible with the query `@kind`. See [Introduction to query files](https://help.semmle.com/QL/learn-ql/writing-queries/introduction-to-queries.html#select-clause) on help.semmle.com.
35
+
Make sure the `select` statement is compatible with the query `@kind`. See [About CodeQL queries](https://help.semmle.com/QL/learn-ql/writing-queries/introduction-to-queries.html#select-clause) on help.semmle.com.
Copy file name to clipboardExpand all lines: docs/ql-style-guide.md
+6-6Lines changed: 6 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -216,7 +216,7 @@ class Type extends ... {
216
216
217
217
General requirements:
218
218
219
-
1. Documentation *must* adhere to the [QLDoc specification](https://help.semmle.com/QL/QLDocSpecification.html).
219
+
1. Documentation *must* adhere to the [QLDoc specification](https://help.semmle.com/QL/ql-handbook/qldoc.html).
220
220
1. Use `/** ... */` for documentation, even for single line comments.
221
221
1. For single-line documentation, the `/**` and `*/` are written on the same line as the comment.
222
222
1. For multi-line documentation, the `/**` and `*/` are written on separate lines. There is a `*` preceding each comment line, aligned on the first `*`.
|*[annotation](https://help.semmle.com/QL/QLLanguageSpecification.html#annotations)*| An additional specifier used to modify a declaration, such as `private`, `override`, `deprecated`, `pragma`, `bindingset`, or `cached`. |
420
+
|*[annotation](https://help.semmle.com/QL/ql-handbook/language.html#annotations)*| An additional specifier used to modify a declaration, such as `private`, `override`, `deprecated`, `pragma`, `bindingset`, or `cached`. |
421
421
|*body*| The text inside `{ }`, `( )`, or each section of an `if`-`then`-`else` or `from`-`where`-`select`. |
422
422
|*binary operator*| An operator with two operands, such as comparison operators, `and`, `or`, `implies`, or arithmetic operators. |
423
423
|*call*| A *formula* that invokes a predicate, e.g. `this.isStatic()` or `calls(a,b)`. |
424
-
|*[conjunct](https://help.semmle.com/QL/QLLanguageSpecification.html#conjunctions)*| A formula that is an operand to an `and`. |
424
+
|*[conjunct](https://help.semmle.com/QL/ql-handbook/language.html#conjunctions)*| A formula that is an operand to an `and`. |
425
425
|*declaration*| A class, module, predicate, field or newtype. |
426
-
|*[disjunct](https://help.semmle.com/QL/QLLanguageSpecification.html#disjunctions)*| A formula that is an operand to an `or`. |
427
-
|*[formula](https://help.semmle.com/QL/QLLanguageSpecification.html#formulas)*| A logical expression, such as `A = B`, a *call*, a *quantifier*, `and`, `or`, `not`, `in` or `instanceof`. |
426
+
|*[disjunct](https://help.semmle.com/QL/ql-handbook/language.html#disjunctions)*| A formula that is an operand to an `or`. |
427
+
|*[formula](https://help.semmle.com/QL/ql-handbook/language.html#formulas)*| A logical expression, such as `A = B`, a *call*, a *quantifier*, `and`, `or`, `not`, `in` or `instanceof`. |
428
428
|*should/should not/avoid/prefer*| Adhere to this rule wherever possible, where it makes sense. |
429
429
|*may/can*| This is a reasonable alternative, to be used with discretion. |
430
430
|*must/always/do not*| Always adhere to this rule. |
431
-
|*[quantifier/aggregation](https://help.semmle.com/QL/QLLanguageSpecification.html#aggregations)*|`exists`, `count`, `strictcount`, `any`, `forall`, `forex` and so on. |
431
+
|*[quantifier/aggregation](https://help.semmle.com/QL/ql-handbook/language.html#aggregations)*|`exists`, `count`, `strictcount`, `any`, `forall`, `forex` and so on. |
432
432
|*variable*| A parameter to a predicate, a field, a from variable, or a variable introduced by a *quantifier* or *aggregation*. |
Copy file name to clipboardExpand all lines: docs/query-help-style-guide.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -36,7 +36,7 @@ Section-level elements are used to group the information within the query help f
36
36
3.`example`—an example of code showing the problem. Where possible, this section should also include a solution to the issue.
37
37
4.`references`—relevant references, such as authoritative sources on language semantics and best practice.
38
38
39
-
For further information about the other section-level, block, list and table elements supported by query help files, see the [Query help reference](https://help.semmle.com/QL/learn-ql/ql/writing-queries/query-help.html) on help.semmle.com.
39
+
For further information about the other section-level, block, list and table elements supported by query help files, see [Query help files](https://help.semmle.com/QL/learn-ql/ql/writing-queries/query-help.html) on help.semmle.com.
Copy file name to clipboardExpand all lines: docs/query-metadata-style-guide.md
+8-6Lines changed: 8 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -11,22 +11,22 @@ Query files have the extension `.ql`. Each file has two distinct areas:
11
11
* Metadata area–displayed at the top of the file, contains the metadata that defines how results for the query are interpreted and gives a brief description of the purpose of the query.
12
12
* Query definition–defined using QL. The query includes a select statement, which defines the content and format of the results. For further information about writing QL, see the following topics:
Query file metadata contains important information that defines the identifier and purpose of the query. The metadata is included as the content of a valid [QLDoc](https://help.semmle.com/QL/ql-spec/qldoc.html) comment, on lines with leading whitespace followed by `*`, between an initial `/**` and a trailing `*/`. For example:
29
+
Query file metadata contains important information that defines the identifier and purpose of the query. The metadata is included as the content of a valid [QLDoc](https://help.semmle.com/QL/ql-handbook/qldoc.html) comment, on lines with leading whitespace followed by `*`, between an initial `/**` and a trailing `*/`. For example:
30
30
31
31
```
32
32
/**
@@ -134,6 +134,7 @@ There are also more specific `@tags` that can be added. See, the following pages
@@ -158,7 +159,7 @@ When you tag a query like this, the associated CWE pages from [MITRE.org](http:/
158
159
159
160
## QL area
160
161
161
-
### Alert messages
162
+
### Alert messages
162
163
163
164
The select clause of each alert query defines the alert message that is displayed for each result found by the query. Alert messages are strings that concisely describe the problem that the alert is highlighting and, if possible, also provide some context. For consistency, alert messages should adhere to the following guidelines:
164
165
@@ -167,14 +168,15 @@ The select clause of each alert query defines the alert message that is displaye
167
168
* Program element references should be in 'single quotes' to distinguish them from ordinary words. Quotes are not needed around substitutions ($@).
168
169
* Avoid constant alert message strings and include some context, if possible. For example, `The class 'Foo' is duplicated as 'Bar'.` is preferable to `This class is duplicated here.`
169
170
* Where you reference another program element, link to it if possible using a substitution (`$@`). Links should be used inline in the sentence, rather than as parenthesised lists or appositions.
170
-
* When a message contains multiple links, construct a sentence that has the most variable link (that is, the link with most targets) last. For further information, see [Defining select statements](https://help.semmle.com/QL/learn-ql/ql/writing-queries/select-statement.html).
171
+
* When a message contains multiple links, construct a sentence that has the most variable link (that is, the link with most targets) last. For further information, see [Defining the results of a query](https://help.semmle.com/QL/learn-ql/ql/writing-queries/select-statement.html).
171
172
172
173
For examples of select clauses and alert messages, see the query source files at the following pages:
For further information on query writing, see [Writing CodeQL queries](https://help.semmle.com/QL/learn-ql/ql/writing-queries/writing-queries.html). For more information on learning CodeQL, see [Learning CodeQL](https://help.semmle.com/QL/learn-ql/index.html).
182
+
For further information on query writing, see [CodeQL queries](https://help.semmle.com/QL/learn-ql/ql/writing-queries/writing-queries.html). For more information on learning CodeQL, see [Learning CodeQL](https://help.semmle.com/QL/learn-ql/index.html).
0 commit comments