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/codeql-overview/system-requirements.rst
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,6 +42,10 @@ For Ruby extraction:
42
42
43
43
- On Windows, the ``msvcp140.dll`` must be installed and available on the system. This can be installed by downloading the appropriate Microsoft Visual C++ Redistributable for Visual Studio.
44
44
45
+
For Rust extraction:
46
+
47
+
- ``rustup`` and ``cargo`` must be installed.
48
+
45
49
For Java extraction:
46
50
47
51
- There must be a ``java`` or ``java.exe`` executable available on the ``PATH``, and the ``JAVA_HOME`` environment variable must point to the corresponding JDK's home directory.
and the CodeQL library pack ``codeql/rust-all`` (`changelog <https://github.com/github/codeql/tree/codeql-cli/latest/rust/ql/lib/CHANGELOG.md>`__, `source <https://github.com/github/codeql/tree/codeql-cli/latest/rust/ql/lib>`__).
Copy file name to clipboardExpand all lines: docs/codeql/writing-codeql-queries/creating-path-queries.rst
+4-3Lines changed: 4 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,6 +33,7 @@ For more language-specific information on analyzing data flow, see:
33
33
- ":ref:`Analyzing data flow in JavaScript/TypeScript <analyzing-data-flow-in-javascript-and-typescript>`"
34
34
- ":ref:`Analyzing data flow in Python <analyzing-data-flow-in-python>`"
35
35
- ":ref:`Analyzing data flow in Ruby <analyzing-data-flow-in-ruby>`"
36
+
- ":ref:`Analyzing data flow in Rust <analyzing-data-flow-in-rust>`"
36
37
- ":ref:`Analyzing data flow in Swift <analyzing-data-flow-in-swift>`"
37
38
38
39
Path query examples
@@ -59,7 +60,7 @@ You should use the following template:
59
60
*/
60
61
61
62
import <language>
62
-
// For some languages (Java/C++/Python/Swift) you need to explicitly import the data flow library, such as
63
+
// For some languages (Java/C++/Python/Rust/Swift) you need to explicitly import the data flow library, such as
63
64
// import semmle.code.java.dataflow.DataFlow or import codeql.swift.dataflow.DataFlow
64
65
...
65
66
@@ -124,7 +125,7 @@ Declaring sources and sinks
124
125
You must provide information about the ``source`` and ``sink`` in your path query. These are objects that correspond to the nodes of the paths that you are exploring.
125
126
The name and the type of the ``source`` and the ``sink`` must be declared in the ``from`` statement of the query, and the types must be compatible with the nodes of the graph computed by the ``edges`` predicate.
126
127
127
-
If you are querying C/C++, C#, Go, Java/Kotlin, JavaScript/TypeScript, Python, or Ruby code (and you have used ``import MyFlow::PathGraph`` in your query), the definitions of the ``source`` and ``sink`` are accessed via the module resulting from the application of the ``Global<..>`` module in the data flow library. You should declare both of these objects in the ``from`` statement.
128
+
If you are querying C/C++, C#, Go, Java/Kotlin, JavaScript/TypeScript, Python, Ruby, or Rust code (and you have used ``import MyFlow::PathGraph`` in your query), the definitions of the ``source`` and ``sink`` are accessed via the module resulting from the application of the ``Global<..>`` module in the data flow library. You should declare both of these objects in the ``from`` statement.
128
129
For example:
129
130
130
131
.. code-block:: ql
@@ -145,7 +146,7 @@ The configuration module must be defined to include definitions of sources and s
145
146
- ``isSource()`` defines where data may flow from.
146
147
- ``isSink()`` defines where data may flow to.
147
148
148
-
For more information on using the configuration class in your analysis see the sections on global data flow in ":ref:`Analyzing data flow in C/C++ <analyzing-data-flow-in-cpp>`," ":ref:`Analyzing data flow in C# <analyzing-data-flow-in-csharp>`," and ":ref:`Analyzing data flow in Python <analyzing-data-flow-in-python>`."
149
+
For more information on using the configuration class in your analysis see the sections on global data flow in ":ref:`Analyzing data flow in C/C++ <analyzing-data-flow-in-cpp>`," ":ref:`Analyzing data flow in C# <analyzing-data-flow-in-csharp>`," ":ref:`Analyzing data flow in Python <analyzing-data-flow-in-python>`," and ":ref:`Analyzing data flow in Rust <analyzing-data-flow-in-rust>`."
149
150
150
151
You can also create a configuration for different frameworks and environments by extending the ``Configuration`` class. For more information, see ":ref:`Types <defining-a-class>`" in the QL language reference.
0 commit comments