Date: Tue, 9 Aug 2022 18:58:27 +0100
Subject: [PATCH 089/600] Inline qhelp overview
A at the top isn't allowed, and for some reason the inclusion is required to be a valid qhelp file.
---
.../Security/CWE/CWE-023/PartialPathTraversal.qhelp | 5 ++++-
.../CWE/CWE-023/PartialPathTraversalFromRemote.qhelp | 5 ++++-
.../CWE/CWE-023/PartialPathTraversalOverview.inc.qhelp | 10 ----------
3 files changed, 8 insertions(+), 12 deletions(-)
delete mode 100644 java/ql/src/Security/CWE/CWE-023/PartialPathTraversalOverview.inc.qhelp
diff --git a/java/ql/src/Security/CWE/CWE-023/PartialPathTraversal.qhelp b/java/ql/src/Security/CWE/CWE-023/PartialPathTraversal.qhelp
index f83ee17b550..afb8847a7d4 100644
--- a/java/ql/src/Security/CWE/CWE-023/PartialPathTraversal.qhelp
+++ b/java/ql/src/Security/CWE/CWE-023/PartialPathTraversal.qhelp
@@ -3,7 +3,10 @@
"qhelp.dtd">
-
+A common way to check that a user-supplied path SUBDIR falls inside a directory DIR
+is to use getCanonicalPath() to remove any path-traversal elements and then check that DIR
+is a prefix. However, if DIR is not slash-terminated, this can unexpectedly allow accessing siblings of DIR.
+
See also java/partial-path-traversal-from-remote, which is similar to this query but only flags instances with evidence of remote exploitability
diff --git a/java/ql/src/Security/CWE/CWE-023/PartialPathTraversalFromRemote.qhelp b/java/ql/src/Security/CWE/CWE-023/PartialPathTraversalFromRemote.qhelp
index f5f71109018..d43cf4b3daf 100644
--- a/java/ql/src/Security/CWE/CWE-023/PartialPathTraversalFromRemote.qhelp
+++ b/java/ql/src/Security/CWE/CWE-023/PartialPathTraversalFromRemote.qhelp
@@ -3,7 +3,10 @@
"qhelp.dtd">
-
+A common way to check that a user-supplied path SUBDIR falls inside a directory DIR
+is to use getCanonicalPath() to remove any path-traversal elements and then check that DIR
+is a prefix. However, if DIR is not slash-terminated, this can unexpectedly allow accessing siblings of DIR.
+
See also java/partial-path-traversal, which is similar to this query,
but may also flag non-remotely-exploitable instances of Partial Path Traversal.
diff --git a/java/ql/src/Security/CWE/CWE-023/PartialPathTraversalOverview.inc.qhelp b/java/ql/src/Security/CWE/CWE-023/PartialPathTraversalOverview.inc.qhelp
deleted file mode 100644
index 63f17afb3f6..00000000000
--- a/java/ql/src/Security/CWE/CWE-023/PartialPathTraversalOverview.inc.qhelp
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-A common way to check that a user-supplied path SUBDIR falls inside a directory DIR
-is to use getCanonicalPath() to remove any path-traversal elements and then check that DIR
-is a prefix. However, if DIR is not slash-terminated, this can unexpectedly allow accessing siblings of DIR.
-
-
\ No newline at end of file
From 09e4c6b66b45c965bb3ebf3360b90196879ef448 Mon Sep 17 00:00:00 2001
From: Chris Smowton
Date: Wed, 10 Aug 2022 10:33:30 +0100
Subject: [PATCH 090/600] Add dataflow path-graph
---
.../src/Security/CWE/CWE-023/PartialPathTraversalFromRemote.ql | 1 +
1 file changed, 1 insertion(+)
diff --git a/java/ql/src/Security/CWE/CWE-023/PartialPathTraversalFromRemote.ql b/java/ql/src/Security/CWE/CWE-023/PartialPathTraversalFromRemote.ql
index 9003003f4a2..0c6731bf43e 100644
--- a/java/ql/src/Security/CWE/CWE-023/PartialPathTraversalFromRemote.ql
+++ b/java/ql/src/Security/CWE/CWE-023/PartialPathTraversalFromRemote.ql
@@ -11,6 +11,7 @@
*/
import semmle.code.java.security.PartialPathTraversalQuery
+import DataFlow::PathGraph
from DataFlow::PathNode source, DataFlow::PathNode sink
where any(PartialPathTraversalFromRemoteConfig config).hasFlowPath(source, sink)
From 2abd1f77f4015a6114ecd26e01689f4423ff73bc Mon Sep 17 00:00:00 2001
From: Chris Smowton
Date: Tue, 9 Aug 2022 18:42:06 +0100
Subject: [PATCH 091/600] Go: implement conservative cross-thread dataflow
Steps into captured variables are moved into jumpStep where they always should have been, and the store/load step implementation for channels is completed.
For the time being this takes a very conservative approach to identify channels that are likely connected: if there is exactly one receive site and one send site for a field, the two are presumed connected.
---
.../go/controlflow/ControlFlowGraph.qll | 12 ++++++-
.../go/dataflow/internal/ContainerFlow.qll | 4 +--
.../go/dataflow/internal/DataFlowNodes.qll | 4 +--
.../go/dataflow/internal/DataFlowPrivate.qll | 32 ++++++++++++++++---
4 files changed, 41 insertions(+), 11 deletions(-)
diff --git a/go/ql/lib/semmle/go/controlflow/ControlFlowGraph.qll b/go/ql/lib/semmle/go/controlflow/ControlFlowGraph.qll
index 51e03de3ab7..c6ec9926329 100644
--- a/go/ql/lib/semmle/go/controlflow/ControlFlowGraph.qll
+++ b/go/ql/lib/semmle/go/controlflow/ControlFlowGraph.qll
@@ -166,11 +166,21 @@ module ControlFlow {
)
}
+ /**
+ * Holds if this node writes `rhs` to `channel`.
+ */
+ predicate writesToChannel(DataFlow::Node channel, DataFlow::Node rhs) {
+ exists(SendStmt send |
+ send.getChannel() = channel.(DataFlow::ExprNode).asExpr() and
+ send.getValue() = rhs.(DataFlow::ExprNode).asExpr()
+ )
+ }
+
/**
* Holds if this node sets any field or element of `base` to `rhs`.
*/
predicate writesComponent(DataFlow::Node base, DataFlow::Node rhs) {
- writesElement(base, _, rhs) or writesField(base, _, rhs)
+ writesElement(base, _, rhs) or writesField(base, _, rhs) or writesToChannel(base, rhs)
}
}
diff --git a/go/ql/lib/semmle/go/dataflow/internal/ContainerFlow.qll b/go/ql/lib/semmle/go/dataflow/internal/ContainerFlow.qll
index b6c1005daac..657ac9a3d33 100644
--- a/go/ql/lib/semmle/go/dataflow/internal/ContainerFlow.qll
+++ b/go/ql/lib/semmle/go/dataflow/internal/ContainerFlow.qll
@@ -24,9 +24,7 @@ predicate containerStoreStep(Node node1, Node node2, Content c) {
)
or
c instanceof CollectionContent and
- exists(SendStmt send |
- send.getChannel() = node2.(ExprNode).asExpr() and send.getValue() = node1.(ExprNode).asExpr()
- )
+ exists(Write w | w.writesToChannel(node2, node1))
or
c instanceof MapKeyContent and
node2.getType() instanceof MapType and
diff --git a/go/ql/lib/semmle/go/dataflow/internal/DataFlowNodes.qll b/go/ql/lib/semmle/go/dataflow/internal/DataFlowNodes.qll
index 80c94cafdaa..12f1fa55d24 100644
--- a/go/ql/lib/semmle/go/dataflow/internal/DataFlowNodes.qll
+++ b/go/ql/lib/semmle/go/dataflow/internal/DataFlowNodes.qll
@@ -634,9 +634,7 @@ module Public {
predicate isReceiverOf(MethodDecl m) { parm.isReceiverOf(m) }
}
- private Node getADirectlyWrittenNode() {
- exists(Write w | w.writesField(result, _, _) or w.writesElement(result, _, _))
- }
+ private Node getADirectlyWrittenNode() { exists(Write w | w.writesComponent(result, _)) }
private DataFlow::Node getAccessPathPredecessor(DataFlow::Node node) {
result = node.(PointerDereferenceNode).getOperand()
diff --git a/go/ql/lib/semmle/go/dataflow/internal/DataFlowPrivate.qll b/go/ql/lib/semmle/go/dataflow/internal/DataFlowPrivate.qll
index 9b8cfb194d7..1a60fc7c355 100644
--- a/go/ql/lib/semmle/go/dataflow/internal/DataFlowPrivate.qll
+++ b/go/ql/lib/semmle/go/dataflow/internal/DataFlowPrivate.qll
@@ -70,10 +70,7 @@ predicate basicLocalFlowStep(Node nodeFrom, Node nodeTo) {
)
or
// SSA -> SSA
- exists(SsaDefinition pred, SsaDefinition succ |
- succ.(SsaVariableCapture).getSourceVariable() = pred.(SsaExplicitDefinition).getSourceVariable() or
- succ.(SsaPseudoDefinition).getAnInput() = pred
- |
+ exists(SsaDefinition pred, SsaPseudoDefinition succ | succ.getAnInput() = pred |
nodeFrom = ssaNode(pred) and
nodeTo = ssaNode(succ)
)
@@ -90,6 +87,12 @@ predicate basicLocalFlowStep(Node nodeFrom, Node nodeTo) {
any(GlobalFunctionNode fn | fn.getFunction() = nodeTo.asExpr().(FunctionName).getTarget())
}
+pragma[noinline]
+private Field getASparselyUsedChannelTypedField() {
+ result.getType() instanceof ChanType and
+ count(result.getARead()) = 2
+}
+
/**
* Holds if data can flow from `node1` to `node2` in a way that loses the
* calling context. For example, this would happen with flow through a
@@ -102,6 +105,27 @@ predicate jumpStep(Node n1, Node n2) {
w.writes(v, n1) and
n2 = v.getARead()
)
+ or
+ exists(SsaDefinition pred, SsaDefinition succ |
+ succ.(SsaVariableCapture).getSourceVariable() = pred.(SsaExplicitDefinition).getSourceVariable()
+ |
+ n1 = ssaNode(pred) and
+ n2 = ssaNode(succ)
+ )
+ or
+ // If a channel-typed field is referenced exactly once in the context of
+ // a send statement and once in a receive expression, assume the two are linked.
+ exists(
+ Field f, DataFlow::ReadNode recvRead, DataFlow::ReadNode sendRead, RecvExpr re, SendStmt ss
+ |
+ f = getASparselyUsedChannelTypedField() and
+ recvRead = f.getARead() and
+ sendRead = f.getARead() and
+ recvRead.asExpr() = re.getOperand() and
+ sendRead.asExpr() = ss.getChannel() and
+ n1.(DataFlow::PostUpdateNode).getPreUpdateNode() = sendRead and
+ n2 = recvRead
+ )
}
/**
From ced9ee5f5dc8c12cd88c9461750a88c9abc50cf0 Mon Sep 17 00:00:00 2001
From: Michael Nebel
Date: Tue, 2 Aug 2022 14:24:56 +0200
Subject: [PATCH 092/600] C#: Update FlowSummaries test expected output after
addition of new summaries.
---
.../dataflow/library/FlowSummaries.expected | 15 +++++++++++++--
.../library/FlowSummariesFiltered.expected | 15 +++++++++++++--
2 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected
index 91a6bd12235..77bf7a61b87 100644
--- a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected
+++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected
@@ -3668,8 +3668,19 @@
| System.IO;StreamReader;false;ReadLineAsync;();;Argument[Qualifier];ReturnValue;taint;manual |
| System.IO;StreamReader;false;ReadToEnd;();;Argument[Qualifier];ReturnValue;taint;manual |
| System.IO;StreamReader;false;ReadToEndAsync;();;Argument[Qualifier];ReturnValue;taint;manual |
-| System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated |
-| System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Int32,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated |
+| System.IO;StreamReader;false;StreamReader;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Boolean);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Int32);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.String);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.String,System.IO.FileStreamOptions);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.String,System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.String,System.Text.Encoding,System.Boolean);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.String,System.Text.Encoding,System.Boolean,System.IO.FileStreamOptions);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.String,System.Text.Encoding,System.Boolean,System.Int32);;Argument[0];Argument[Qualifier];taint;manual |
| System.IO;StreamReader;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated |
| System.IO;StreamReader;false;get_CurrentEncoding;();;Argument[Qualifier];ReturnValue;taint;generated |
| System.IO;StreamWriter;false;StreamWriter;(System.IO.Stream,System.Text.Encoding,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated |
diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected
index 8b7bd50931f..a29da0ebb32 100644
--- a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected
+++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected
@@ -2815,8 +2815,19 @@
| System.IO;Stream;true;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint;manual |
| System.IO;Stream;true;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;manual |
| System.IO;Stream;true;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint;manual |
-| System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated |
-| System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Int32,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated |
+| System.IO;StreamReader;false;StreamReader;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Boolean);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Int32);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.String);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.String,System.IO.FileStreamOptions);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.String,System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.String,System.Text.Encoding,System.Boolean);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.String,System.Text.Encoding,System.Boolean,System.IO.FileStreamOptions);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;StreamReader;false;StreamReader;(System.String,System.Text.Encoding,System.Boolean,System.Int32);;Argument[0];Argument[Qualifier];taint;manual |
| System.IO;StreamReader;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated |
| System.IO;StreamReader;false;get_CurrentEncoding;();;Argument[Qualifier];ReturnValue;taint;generated |
| System.IO;StreamWriter;false;StreamWriter;(System.IO.Stream,System.Text.Encoding,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated |
From 1355931b50f3fbdf236c7ec8a0c3f346aaa49784 Mon Sep 17 00:00:00 2001
From: Michael Nebel
Date: Tue, 2 Aug 2022 13:48:28 +0200
Subject: [PATCH 093/600] C#: Update SecondOrder SQL Injection test case
expected output with vulnerability from test case.
---
.../CWE-089/SecondOrderSqlInjection.expected | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-089/SecondOrderSqlInjection.expected b/csharp/ql/test/query-tests/Security Features/CWE-089/SecondOrderSqlInjection.expected
index 7fd65938a60..e53e8006633 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-089/SecondOrderSqlInjection.expected
+++ b/csharp/ql/test/query-tests/Security Features/CWE-089/SecondOrderSqlInjection.expected
@@ -1,8 +1,24 @@
edges
| SecondOrderSqlInjection.cs:25:119:25:145 | call to method GetString : String | SecondOrderSqlInjection.cs:25:71:25:145 | ... + ... |
+| SecondOrderSqlInjection.cs:33:36:33:78 | object creation of type FileStream : FileStream | SecondOrderSqlInjection.cs:35:59:35:60 | access to local variable fs : FileStream |
+| SecondOrderSqlInjection.cs:35:42:35:76 | object creation of type StreamReader : StreamReader | SecondOrderSqlInjection.cs:38:35:38:36 | access to local variable sr : StreamReader |
+| SecondOrderSqlInjection.cs:35:59:35:60 | access to local variable fs : FileStream | SecondOrderSqlInjection.cs:35:42:35:76 | object creation of type StreamReader : StreamReader |
+| SecondOrderSqlInjection.cs:38:35:38:36 | access to local variable sr : StreamReader | SecondOrderSqlInjection.cs:38:35:38:47 | call to method ReadLine : String |
+| SecondOrderSqlInjection.cs:38:35:38:47 | call to method ReadLine : String | SecondOrderSqlInjection.cs:40:31:40:33 | access to local variable sql : String |
+| SecondOrderSqlInjection.cs:40:31:40:33 | access to local variable sql : String | SecondOrderSqlInjection.cs:40:31:40:40 | call to method Trim : String |
+| SecondOrderSqlInjection.cs:40:31:40:40 | call to method Trim : String | SecondOrderSqlInjection.cs:45:57:45:59 | access to local variable sql |
nodes
| SecondOrderSqlInjection.cs:25:71:25:145 | ... + ... | semmle.label | ... + ... |
| SecondOrderSqlInjection.cs:25:119:25:145 | call to method GetString : String | semmle.label | call to method GetString : String |
+| SecondOrderSqlInjection.cs:33:36:33:78 | object creation of type FileStream : FileStream | semmle.label | object creation of type FileStream : FileStream |
+| SecondOrderSqlInjection.cs:35:42:35:76 | object creation of type StreamReader : StreamReader | semmle.label | object creation of type StreamReader : StreamReader |
+| SecondOrderSqlInjection.cs:35:59:35:60 | access to local variable fs : FileStream | semmle.label | access to local variable fs : FileStream |
+| SecondOrderSqlInjection.cs:38:35:38:36 | access to local variable sr : StreamReader | semmle.label | access to local variable sr : StreamReader |
+| SecondOrderSqlInjection.cs:38:35:38:47 | call to method ReadLine : String | semmle.label | call to method ReadLine : String |
+| SecondOrderSqlInjection.cs:40:31:40:33 | access to local variable sql : String | semmle.label | access to local variable sql : String |
+| SecondOrderSqlInjection.cs:40:31:40:40 | call to method Trim : String | semmle.label | call to method Trim : String |
+| SecondOrderSqlInjection.cs:45:57:45:59 | access to local variable sql | semmle.label | access to local variable sql |
subpaths
#select
| SecondOrderSqlInjection.cs:25:71:25:145 | ... + ... | SecondOrderSqlInjection.cs:25:119:25:145 | call to method GetString : String | SecondOrderSqlInjection.cs:25:71:25:145 | ... + ... | $@ flows to here and is used in an SQL query. | SecondOrderSqlInjection.cs:25:119:25:145 | call to method GetString | Stored user-provided value |
+| SecondOrderSqlInjection.cs:45:57:45:59 | access to local variable sql | SecondOrderSqlInjection.cs:33:36:33:78 | object creation of type FileStream : FileStream | SecondOrderSqlInjection.cs:45:57:45:59 | access to local variable sql | $@ flows to here and is used in an SQL query. | SecondOrderSqlInjection.cs:33:36:33:78 | object creation of type FileStream | Stored user-provided value |
From 5c47ae3f9886e476329a0b0390410fb7c4240e0a Mon Sep 17 00:00:00 2001
From: Michael Nebel
Date: Tue, 2 Aug 2022 14:48:05 +0200
Subject: [PATCH 094/600] C#: Add testcase for unsanitized filename used in
Filestream.
---
.../CWE-089/SqlInjectionSqlite.cs | 22 +++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjectionSqlite.cs b/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjectionSqlite.cs
index 0a277a81832..6654a8fdec1 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjectionSqlite.cs
+++ b/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjectionSqlite.cs
@@ -4,6 +4,8 @@ namespace TestSqlite
{
using System.Data;
using System.Data.SQLite;
+ using System.IO;
+ using System.Text;
using System.Web.UI.WebControls;
class SqlInjection
@@ -42,6 +44,26 @@ namespace TestSqlite
adapter = new SQLiteDataAdapter(cmd);
result = new DataSet();
adapter.Fill(result);
+
+ // BAD: untrusted data as filename is not sanitized.
+ using (FileStream fs = new FileStream(untrustedData.Text, FileMode.Open))
+ {
+ using (StreamReader sr = new StreamReader(fs, Encoding.UTF8))
+ {
+ var sql = String.Empty;
+ while ((sql = sr.ReadLine()) != null)
+ {
+ sql = sql.Trim();
+ if (sql.StartsWith("--"))
+ continue;
+ using (var connection = new SQLiteConnection(""))
+ {
+ cmd = new SQLiteCommand(sql, connection);
+ cmd.ExecuteScalar();
+ }
+ }
+ }
+ }
}
}
}
\ No newline at end of file
From 504160fee4febe749122e1cae322a34ebaacfaae Mon Sep 17 00:00:00 2001
From: Michael Nebel
Date: Tue, 2 Aug 2022 14:49:04 +0200
Subject: [PATCH 095/600] C#: Update expected file for Sql injection and Second
Order sql injection (note that this is already a second order sql injection).
---
.../CWE-089/SecondOrderSqlInjection.expected | 16 +++++++
.../CWE-089/SqlInjection.expected | 46 +++++++++----------
2 files changed, 39 insertions(+), 23 deletions(-)
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-089/SecondOrderSqlInjection.expected b/csharp/ql/test/query-tests/Security Features/CWE-089/SecondOrderSqlInjection.expected
index e53e8006633..b283c6b7f70 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-089/SecondOrderSqlInjection.expected
+++ b/csharp/ql/test/query-tests/Security Features/CWE-089/SecondOrderSqlInjection.expected
@@ -7,6 +7,13 @@ edges
| SecondOrderSqlInjection.cs:38:35:38:47 | call to method ReadLine : String | SecondOrderSqlInjection.cs:40:31:40:33 | access to local variable sql : String |
| SecondOrderSqlInjection.cs:40:31:40:33 | access to local variable sql : String | SecondOrderSqlInjection.cs:40:31:40:40 | call to method Trim : String |
| SecondOrderSqlInjection.cs:40:31:40:40 | call to method Trim : String | SecondOrderSqlInjection.cs:45:57:45:59 | access to local variable sql |
+| SqlInjectionSqlite.cs:49:36:49:84 | object creation of type FileStream : FileStream | SqlInjectionSqlite.cs:51:59:51:60 | access to local variable fs : FileStream |
+| SqlInjectionSqlite.cs:51:42:51:76 | object creation of type StreamReader : StreamReader | SqlInjectionSqlite.cs:54:35:54:36 | access to local variable sr : StreamReader |
+| SqlInjectionSqlite.cs:51:59:51:60 | access to local variable fs : FileStream | SqlInjectionSqlite.cs:51:42:51:76 | object creation of type StreamReader : StreamReader |
+| SqlInjectionSqlite.cs:54:35:54:36 | access to local variable sr : StreamReader | SqlInjectionSqlite.cs:54:35:54:47 | call to method ReadLine : String |
+| SqlInjectionSqlite.cs:54:35:54:47 | call to method ReadLine : String | SqlInjectionSqlite.cs:56:31:56:33 | access to local variable sql : String |
+| SqlInjectionSqlite.cs:56:31:56:33 | access to local variable sql : String | SqlInjectionSqlite.cs:56:31:56:40 | call to method Trim : String |
+| SqlInjectionSqlite.cs:56:31:56:40 | call to method Trim : String | SqlInjectionSqlite.cs:61:53:61:55 | access to local variable sql |
nodes
| SecondOrderSqlInjection.cs:25:71:25:145 | ... + ... | semmle.label | ... + ... |
| SecondOrderSqlInjection.cs:25:119:25:145 | call to method GetString : String | semmle.label | call to method GetString : String |
@@ -18,7 +25,16 @@ nodes
| SecondOrderSqlInjection.cs:40:31:40:33 | access to local variable sql : String | semmle.label | access to local variable sql : String |
| SecondOrderSqlInjection.cs:40:31:40:40 | call to method Trim : String | semmle.label | call to method Trim : String |
| SecondOrderSqlInjection.cs:45:57:45:59 | access to local variable sql | semmle.label | access to local variable sql |
+| SqlInjectionSqlite.cs:49:36:49:84 | object creation of type FileStream : FileStream | semmle.label | object creation of type FileStream : FileStream |
+| SqlInjectionSqlite.cs:51:42:51:76 | object creation of type StreamReader : StreamReader | semmle.label | object creation of type StreamReader : StreamReader |
+| SqlInjectionSqlite.cs:51:59:51:60 | access to local variable fs : FileStream | semmle.label | access to local variable fs : FileStream |
+| SqlInjectionSqlite.cs:54:35:54:36 | access to local variable sr : StreamReader | semmle.label | access to local variable sr : StreamReader |
+| SqlInjectionSqlite.cs:54:35:54:47 | call to method ReadLine : String | semmle.label | call to method ReadLine : String |
+| SqlInjectionSqlite.cs:56:31:56:33 | access to local variable sql : String | semmle.label | access to local variable sql : String |
+| SqlInjectionSqlite.cs:56:31:56:40 | call to method Trim : String | semmle.label | call to method Trim : String |
+| SqlInjectionSqlite.cs:61:53:61:55 | access to local variable sql | semmle.label | access to local variable sql |
subpaths
#select
| SecondOrderSqlInjection.cs:25:71:25:145 | ... + ... | SecondOrderSqlInjection.cs:25:119:25:145 | call to method GetString : String | SecondOrderSqlInjection.cs:25:71:25:145 | ... + ... | $@ flows to here and is used in an SQL query. | SecondOrderSqlInjection.cs:25:119:25:145 | call to method GetString | Stored user-provided value |
| SecondOrderSqlInjection.cs:45:57:45:59 | access to local variable sql | SecondOrderSqlInjection.cs:33:36:33:78 | object creation of type FileStream : FileStream | SecondOrderSqlInjection.cs:45:57:45:59 | access to local variable sql | $@ flows to here and is used in an SQL query. | SecondOrderSqlInjection.cs:33:36:33:78 | object creation of type FileStream | Stored user-provided value |
+| SqlInjectionSqlite.cs:61:53:61:55 | access to local variable sql | SqlInjectionSqlite.cs:49:36:49:84 | object creation of type FileStream : FileStream | SqlInjectionSqlite.cs:61:53:61:55 | access to local variable sql | $@ flows to here and is used in an SQL query. | SqlInjectionSqlite.cs:49:36:49:84 | object creation of type FileStream | Stored user-provided value |
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected b/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected
index 5757ff3fb39..64ccb87abc5 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected
+++ b/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected
@@ -16,13 +16,13 @@ edges
| SqlInjectionDapper.cs:57:86:57:94 | access to property Text : String | SqlInjectionDapper.cs:58:42:58:46 | access to local variable query |
| SqlInjectionDapper.cs:66:86:66:94 | access to property Text : String | SqlInjectionDapper.cs:67:42:67:46 | access to local variable query |
| SqlInjectionDapper.cs:75:86:75:94 | access to property Text : String | SqlInjectionDapper.cs:77:52:77:56 | access to local variable query |
-| SqlInjectionSqlite.cs:17:51:17:63 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:17:51:17:68 | access to property Text |
-| SqlInjectionSqlite.cs:22:23:22:71 | object creation of type SQLiteCommand : SQLiteCommand | SqlInjectionSqlite.cs:42:45:42:47 | access to local variable cmd |
-| SqlInjectionSqlite.cs:22:41:22:53 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:22:41:22:58 | access to property Text |
-| SqlInjectionSqlite.cs:22:41:22:53 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:22:41:22:58 | access to property Text : String |
-| SqlInjectionSqlite.cs:22:41:22:58 | access to property Text : String | SqlInjectionSqlite.cs:22:23:22:71 | object creation of type SQLiteCommand : SQLiteCommand |
-| SqlInjectionSqlite.cs:31:49:31:61 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:31:49:31:66 | access to property Text |
-| SqlInjectionSqlite.cs:37:45:37:57 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:37:45:37:62 | access to property Text |
+| SqlInjectionSqlite.cs:19:51:19:63 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:19:51:19:68 | access to property Text |
+| SqlInjectionSqlite.cs:24:23:24:71 | object creation of type SQLiteCommand : SQLiteCommand | SqlInjectionSqlite.cs:44:45:44:47 | access to local variable cmd |
+| SqlInjectionSqlite.cs:24:41:24:53 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:24:41:24:58 | access to property Text |
+| SqlInjectionSqlite.cs:24:41:24:53 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:24:41:24:58 | access to property Text : String |
+| SqlInjectionSqlite.cs:24:41:24:58 | access to property Text : String | SqlInjectionSqlite.cs:24:23:24:71 | object creation of type SQLiteCommand : SQLiteCommand |
+| SqlInjectionSqlite.cs:33:49:33:61 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:33:49:33:66 | access to property Text |
+| SqlInjectionSqlite.cs:39:45:39:57 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:39:45:39:62 | access to property Text |
nodes
| SqlInjection.cs:33:21:33:35 | access to field categoryTextBox : TextBox | semmle.label | access to field categoryTextBox : TextBox |
| SqlInjection.cs:33:21:33:40 | access to property Text : String | semmle.label | access to property Text : String |
@@ -52,17 +52,17 @@ nodes
| SqlInjectionDapper.cs:67:42:67:46 | access to local variable query | semmle.label | access to local variable query |
| SqlInjectionDapper.cs:75:86:75:94 | access to property Text : String | semmle.label | access to property Text : String |
| SqlInjectionDapper.cs:77:52:77:56 | access to local variable query | semmle.label | access to local variable query |
-| SqlInjectionSqlite.cs:17:51:17:63 | access to field untrustedData : TextBox | semmle.label | access to field untrustedData : TextBox |
-| SqlInjectionSqlite.cs:17:51:17:68 | access to property Text | semmle.label | access to property Text |
-| SqlInjectionSqlite.cs:22:23:22:71 | object creation of type SQLiteCommand : SQLiteCommand | semmle.label | object creation of type SQLiteCommand : SQLiteCommand |
-| SqlInjectionSqlite.cs:22:41:22:53 | access to field untrustedData : TextBox | semmle.label | access to field untrustedData : TextBox |
-| SqlInjectionSqlite.cs:22:41:22:58 | access to property Text | semmle.label | access to property Text |
-| SqlInjectionSqlite.cs:22:41:22:58 | access to property Text : String | semmle.label | access to property Text : String |
-| SqlInjectionSqlite.cs:31:49:31:61 | access to field untrustedData : TextBox | semmle.label | access to field untrustedData : TextBox |
-| SqlInjectionSqlite.cs:31:49:31:66 | access to property Text | semmle.label | access to property Text |
-| SqlInjectionSqlite.cs:37:45:37:57 | access to field untrustedData : TextBox | semmle.label | access to field untrustedData : TextBox |
-| SqlInjectionSqlite.cs:37:45:37:62 | access to property Text | semmle.label | access to property Text |
-| SqlInjectionSqlite.cs:42:45:42:47 | access to local variable cmd | semmle.label | access to local variable cmd |
+| SqlInjectionSqlite.cs:19:51:19:63 | access to field untrustedData : TextBox | semmle.label | access to field untrustedData : TextBox |
+| SqlInjectionSqlite.cs:19:51:19:68 | access to property Text | semmle.label | access to property Text |
+| SqlInjectionSqlite.cs:24:23:24:71 | object creation of type SQLiteCommand : SQLiteCommand | semmle.label | object creation of type SQLiteCommand : SQLiteCommand |
+| SqlInjectionSqlite.cs:24:41:24:53 | access to field untrustedData : TextBox | semmle.label | access to field untrustedData : TextBox |
+| SqlInjectionSqlite.cs:24:41:24:58 | access to property Text | semmle.label | access to property Text |
+| SqlInjectionSqlite.cs:24:41:24:58 | access to property Text : String | semmle.label | access to property Text : String |
+| SqlInjectionSqlite.cs:33:49:33:61 | access to field untrustedData : TextBox | semmle.label | access to field untrustedData : TextBox |
+| SqlInjectionSqlite.cs:33:49:33:66 | access to property Text | semmle.label | access to property Text |
+| SqlInjectionSqlite.cs:39:45:39:57 | access to field untrustedData : TextBox | semmle.label | access to field untrustedData : TextBox |
+| SqlInjectionSqlite.cs:39:45:39:62 | access to property Text | semmle.label | access to property Text |
+| SqlInjectionSqlite.cs:44:45:44:47 | access to local variable cmd | semmle.label | access to local variable cmd |
subpaths
#select
| SqlInjection.cs:34:50:34:55 | access to local variable query1 | SqlInjection.cs:33:21:33:35 | access to field categoryTextBox : TextBox | SqlInjection.cs:34:50:34:55 | access to local variable query1 | Query might include code from $@. | SqlInjection.cs:33:21:33:35 | access to field categoryTextBox : TextBox | this ASP.NET user input |
@@ -78,8 +78,8 @@ subpaths
| SqlInjectionDapper.cs:58:42:58:46 | access to local variable query | SqlInjectionDapper.cs:57:86:57:94 | access to property Text : String | SqlInjectionDapper.cs:58:42:58:46 | access to local variable query | Query might include code from $@. | SqlInjectionDapper.cs:57:86:57:94 | access to property Text : String | this TextBox text |
| SqlInjectionDapper.cs:67:42:67:46 | access to local variable query | SqlInjectionDapper.cs:66:86:66:94 | access to property Text : String | SqlInjectionDapper.cs:67:42:67:46 | access to local variable query | Query might include code from $@. | SqlInjectionDapper.cs:66:86:66:94 | access to property Text : String | this TextBox text |
| SqlInjectionDapper.cs:77:52:77:56 | access to local variable query | SqlInjectionDapper.cs:75:86:75:94 | access to property Text : String | SqlInjectionDapper.cs:77:52:77:56 | access to local variable query | Query might include code from $@. | SqlInjectionDapper.cs:75:86:75:94 | access to property Text : String | this TextBox text |
-| SqlInjectionSqlite.cs:17:51:17:68 | access to property Text | SqlInjectionSqlite.cs:17:51:17:63 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:17:51:17:68 | access to property Text | Query might include code from $@. | SqlInjectionSqlite.cs:17:51:17:63 | access to field untrustedData : TextBox | this ASP.NET user input |
-| SqlInjectionSqlite.cs:22:41:22:58 | access to property Text | SqlInjectionSqlite.cs:22:41:22:53 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:22:41:22:58 | access to property Text | Query might include code from $@. | SqlInjectionSqlite.cs:22:41:22:53 | access to field untrustedData : TextBox | this ASP.NET user input |
-| SqlInjectionSqlite.cs:31:49:31:66 | access to property Text | SqlInjectionSqlite.cs:31:49:31:61 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:31:49:31:66 | access to property Text | Query might include code from $@. | SqlInjectionSqlite.cs:31:49:31:61 | access to field untrustedData : TextBox | this ASP.NET user input |
-| SqlInjectionSqlite.cs:37:45:37:62 | access to property Text | SqlInjectionSqlite.cs:37:45:37:57 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:37:45:37:62 | access to property Text | Query might include code from $@. | SqlInjectionSqlite.cs:37:45:37:57 | access to field untrustedData : TextBox | this ASP.NET user input |
-| SqlInjectionSqlite.cs:42:45:42:47 | access to local variable cmd | SqlInjectionSqlite.cs:22:41:22:53 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:42:45:42:47 | access to local variable cmd | Query might include code from $@. | SqlInjectionSqlite.cs:22:41:22:53 | access to field untrustedData : TextBox | this ASP.NET user input |
+| SqlInjectionSqlite.cs:19:51:19:68 | access to property Text | SqlInjectionSqlite.cs:19:51:19:63 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:19:51:19:68 | access to property Text | Query might include code from $@. | SqlInjectionSqlite.cs:19:51:19:63 | access to field untrustedData : TextBox | this ASP.NET user input |
+| SqlInjectionSqlite.cs:24:41:24:58 | access to property Text | SqlInjectionSqlite.cs:24:41:24:53 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:24:41:24:58 | access to property Text | Query might include code from $@. | SqlInjectionSqlite.cs:24:41:24:53 | access to field untrustedData : TextBox | this ASP.NET user input |
+| SqlInjectionSqlite.cs:33:49:33:66 | access to property Text | SqlInjectionSqlite.cs:33:49:33:61 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:33:49:33:66 | access to property Text | Query might include code from $@. | SqlInjectionSqlite.cs:33:49:33:61 | access to field untrustedData : TextBox | this ASP.NET user input |
+| SqlInjectionSqlite.cs:39:45:39:62 | access to property Text | SqlInjectionSqlite.cs:39:45:39:57 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:39:45:39:62 | access to property Text | Query might include code from $@. | SqlInjectionSqlite.cs:39:45:39:57 | access to field untrustedData : TextBox | this ASP.NET user input |
+| SqlInjectionSqlite.cs:44:45:44:47 | access to local variable cmd | SqlInjectionSqlite.cs:24:41:24:53 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:44:45:44:47 | access to local variable cmd | Query might include code from $@. | SqlInjectionSqlite.cs:24:41:24:53 | access to field untrustedData : TextBox | this ASP.NET user input |
From 36a713510cf654529c79adb88d391a6060e8ea56 Mon Sep 17 00:00:00 2001
From: Michael Nebel
Date: Tue, 2 Aug 2022 15:03:32 +0200
Subject: [PATCH 096/600] C#: Add summary models for the FileStream
constructor.
---
.../semmle/code/csharp/frameworks/system/IO.qll | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/IO.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/IO.qll
index 52e6c7a908e..2d9f9b9a47d 100644
--- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/IO.qll
+++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/IO.qll
@@ -201,6 +201,21 @@ private class SystemIOFileStreamSourceModelCsv extends SourceModelCsv {
}
}
+/** Data flow for `System.IO.FileStream`. */
+private class SystemIOFileStreamSummaryModelCsv extends SummaryModelCsv {
+ override predicate row(string row) {
+ row =
+ [
+ "System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.IO.FileOptions);;Argument[0];Argument[Qualifier];taint;manual",
+ "System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32);;Argument[0];Argument[Qualifier];taint;manual",
+ "System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare);;Argument[0];Argument[Qualifier];taint;manual",
+ "System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];taint;manual",
+ "System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess);;Argument[0];Argument[Qualifier];taint;manual",
+ "System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode);;Argument[0];Argument[Qualifier];taint;manual",
+ ]
+ }
+}
+
/** Data flow for `System.IO.StreamReader`. */
private class SystemIOStreamSummaryModelCsv extends SummaryModelCsv {
override predicate row(string row) {
From c3adb990a3b9005b02d7256a3ca60bf81021f1ff Mon Sep 17 00:00:00 2001
From: Michael Nebel
Date: Tue, 2 Aug 2022 15:05:03 +0200
Subject: [PATCH 097/600] C#: Update SQL Injection with testcase with found
vulnerability.
---
.../CWE-089/SqlInjection.expected | 20 +++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected b/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected
index 64ccb87abc5..f42ab5fb795 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected
+++ b/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected
@@ -23,6 +23,15 @@ edges
| SqlInjectionSqlite.cs:24:41:24:58 | access to property Text : String | SqlInjectionSqlite.cs:24:23:24:71 | object creation of type SQLiteCommand : SQLiteCommand |
| SqlInjectionSqlite.cs:33:49:33:61 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:33:49:33:66 | access to property Text |
| SqlInjectionSqlite.cs:39:45:39:57 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:39:45:39:62 | access to property Text |
+| SqlInjectionSqlite.cs:49:36:49:84 | object creation of type FileStream : FileStream | SqlInjectionSqlite.cs:51:59:51:60 | access to local variable fs : FileStream |
+| SqlInjectionSqlite.cs:49:51:49:63 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:49:51:49:68 | access to property Text : String |
+| SqlInjectionSqlite.cs:49:51:49:68 | access to property Text : String | SqlInjectionSqlite.cs:49:36:49:84 | object creation of type FileStream : FileStream |
+| SqlInjectionSqlite.cs:51:42:51:76 | object creation of type StreamReader : StreamReader | SqlInjectionSqlite.cs:54:35:54:36 | access to local variable sr : StreamReader |
+| SqlInjectionSqlite.cs:51:59:51:60 | access to local variable fs : FileStream | SqlInjectionSqlite.cs:51:42:51:76 | object creation of type StreamReader : StreamReader |
+| SqlInjectionSqlite.cs:54:35:54:36 | access to local variable sr : StreamReader | SqlInjectionSqlite.cs:54:35:54:47 | call to method ReadLine : String |
+| SqlInjectionSqlite.cs:54:35:54:47 | call to method ReadLine : String | SqlInjectionSqlite.cs:56:31:56:33 | access to local variable sql : String |
+| SqlInjectionSqlite.cs:56:31:56:33 | access to local variable sql : String | SqlInjectionSqlite.cs:56:31:56:40 | call to method Trim : String |
+| SqlInjectionSqlite.cs:56:31:56:40 | call to method Trim : String | SqlInjectionSqlite.cs:61:53:61:55 | access to local variable sql |
nodes
| SqlInjection.cs:33:21:33:35 | access to field categoryTextBox : TextBox | semmle.label | access to field categoryTextBox : TextBox |
| SqlInjection.cs:33:21:33:40 | access to property Text : String | semmle.label | access to property Text : String |
@@ -63,6 +72,16 @@ nodes
| SqlInjectionSqlite.cs:39:45:39:57 | access to field untrustedData : TextBox | semmle.label | access to field untrustedData : TextBox |
| SqlInjectionSqlite.cs:39:45:39:62 | access to property Text | semmle.label | access to property Text |
| SqlInjectionSqlite.cs:44:45:44:47 | access to local variable cmd | semmle.label | access to local variable cmd |
+| SqlInjectionSqlite.cs:49:36:49:84 | object creation of type FileStream : FileStream | semmle.label | object creation of type FileStream : FileStream |
+| SqlInjectionSqlite.cs:49:51:49:63 | access to field untrustedData : TextBox | semmle.label | access to field untrustedData : TextBox |
+| SqlInjectionSqlite.cs:49:51:49:68 | access to property Text : String | semmle.label | access to property Text : String |
+| SqlInjectionSqlite.cs:51:42:51:76 | object creation of type StreamReader : StreamReader | semmle.label | object creation of type StreamReader : StreamReader |
+| SqlInjectionSqlite.cs:51:59:51:60 | access to local variable fs : FileStream | semmle.label | access to local variable fs : FileStream |
+| SqlInjectionSqlite.cs:54:35:54:36 | access to local variable sr : StreamReader | semmle.label | access to local variable sr : StreamReader |
+| SqlInjectionSqlite.cs:54:35:54:47 | call to method ReadLine : String | semmle.label | call to method ReadLine : String |
+| SqlInjectionSqlite.cs:56:31:56:33 | access to local variable sql : String | semmle.label | access to local variable sql : String |
+| SqlInjectionSqlite.cs:56:31:56:40 | call to method Trim : String | semmle.label | call to method Trim : String |
+| SqlInjectionSqlite.cs:61:53:61:55 | access to local variable sql | semmle.label | access to local variable sql |
subpaths
#select
| SqlInjection.cs:34:50:34:55 | access to local variable query1 | SqlInjection.cs:33:21:33:35 | access to field categoryTextBox : TextBox | SqlInjection.cs:34:50:34:55 | access to local variable query1 | Query might include code from $@. | SqlInjection.cs:33:21:33:35 | access to field categoryTextBox : TextBox | this ASP.NET user input |
@@ -83,3 +102,4 @@ subpaths
| SqlInjectionSqlite.cs:33:49:33:66 | access to property Text | SqlInjectionSqlite.cs:33:49:33:61 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:33:49:33:66 | access to property Text | Query might include code from $@. | SqlInjectionSqlite.cs:33:49:33:61 | access to field untrustedData : TextBox | this ASP.NET user input |
| SqlInjectionSqlite.cs:39:45:39:62 | access to property Text | SqlInjectionSqlite.cs:39:45:39:57 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:39:45:39:62 | access to property Text | Query might include code from $@. | SqlInjectionSqlite.cs:39:45:39:57 | access to field untrustedData : TextBox | this ASP.NET user input |
| SqlInjectionSqlite.cs:44:45:44:47 | access to local variable cmd | SqlInjectionSqlite.cs:24:41:24:53 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:44:45:44:47 | access to local variable cmd | Query might include code from $@. | SqlInjectionSqlite.cs:24:41:24:53 | access to field untrustedData : TextBox | this ASP.NET user input |
+| SqlInjectionSqlite.cs:61:53:61:55 | access to local variable sql | SqlInjectionSqlite.cs:49:51:49:63 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:61:53:61:55 | access to local variable sql | Query might include code from $@. | SqlInjectionSqlite.cs:49:51:49:63 | access to field untrustedData : TextBox | this ASP.NET user input |
From da30436c4498285899fcb9e5b5097ce5e61181c5 Mon Sep 17 00:00:00 2001
From: Michael Nebel
Date: Tue, 2 Aug 2022 15:16:27 +0200
Subject: [PATCH 098/600] C#: Update flow summaries test case with new
summaries.
---
.../library-tests/dataflow/library/FlowSummaries.expected | 6 ++++++
.../dataflow/library/FlowSummariesFiltered.expected | 6 ++++++
2 files changed, 12 insertions(+)
diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected
index 77bf7a61b87..d197e9ec4a1 100644
--- a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected
+++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected
@@ -3542,6 +3542,12 @@
| System.IO;FileStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint;manual |
| System.IO;FileStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint;manual |
| System.IO;FileStream;false;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;manual |
+| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.IO.FileOptions);;Argument[0];Argument[Qualifier];taint;manual |
| System.IO;FileStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated |
| System.IO;FileStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;manual |
| System.IO;FileStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint;manual |
diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected
index a29da0ebb32..520cd2701d3 100644
--- a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected
+++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected
@@ -2714,6 +2714,12 @@
| System.IO;FileNotFoundException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated |
| System.IO;FileNotFoundException;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated |
| System.IO;FileNotFoundException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated |
+| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];taint;manual |
+| System.IO;FileStream;false;FileStream;(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.IO.FileOptions);;Argument[0];Argument[Qualifier];taint;manual |
| System.IO;FileStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated |
| System.IO;FileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated |
| System.IO;FileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated |
From 0d83b7cbd0bbe485a9b9171fa1b8e57c85f9f78b Mon Sep 17 00:00:00 2001
From: Michael Nebel
Date: Wed, 10 Aug 2022 14:58:22 +0200
Subject: [PATCH 099/600] C#: Add release note.
---
.../ql/src/change-notes/2022-08-10-sqlinjection-queries.md | 5 +++++
1 file changed, 5 insertions(+)
create mode 100644 csharp/ql/src/change-notes/2022-08-10-sqlinjection-queries.md
diff --git a/csharp/ql/src/change-notes/2022-08-10-sqlinjection-queries.md b/csharp/ql/src/change-notes/2022-08-10-sqlinjection-queries.md
new file mode 100644
index 00000000000..d68ddbac94e
--- /dev/null
+++ b/csharp/ql/src/change-notes/2022-08-10-sqlinjection-queries.md
@@ -0,0 +1,5 @@
+---
+category: minorAnalysis
+---
+* Added better support for the SQ Lite framework in the SQL injection query.
+* File streams are now considered stored flow sources. Eg. reading query elements from a file can lead to a Second Order SQL injection alert.
\ No newline at end of file
From abad133ab5572c95fc14054da09cfdcb554b485d Mon Sep 17 00:00:00 2001
From: Anders Schack-Mulligen
Date: Wed, 10 Aug 2022 15:02:56 +0200
Subject: [PATCH 100/600] Dataflow: Fix identification of source PathNodes in
the presence of source-to-source flow.
---
cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll | 2 +-
cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll | 2 +-
cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll | 2 +-
cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll | 2 +-
.../lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll | 2 +-
.../lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll | 2 +-
.../lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll | 2 +-
.../lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll | 2 +-
.../lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll | 2 +-
.../lib/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll | 2 +-
.../lib/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll | 2 +-
.../lib/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll | 2 +-
.../lib/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll | 2 +-
.../lib/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll | 2 +-
.../csharp/dataflow/internal/DataFlowImplForContentDataFlow.qll | 2 +-
java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl.qll | 2 +-
.../ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll | 2 +-
.../ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll | 2 +-
.../ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll | 2 +-
.../ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll | 2 +-
.../ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll | 2 +-
.../java/dataflow/internal/DataFlowImplForOnActivityResult.qll | 2 +-
.../java/dataflow/internal/DataFlowImplForSerializability.qll | 2 +-
.../ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl.qll | 2 +-
.../lib/semmle/python/dataflow/new/internal/DataFlowImpl2.qll | 2 +-
.../lib/semmle/python/dataflow/new/internal/DataFlowImpl3.qll | 2 +-
.../lib/semmle/python/dataflow/new/internal/DataFlowImpl4.qll | 2 +-
ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl.qll | 2 +-
ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl2.qll | 2 +-
.../codeql/ruby/dataflow/internal/DataFlowImplForLibraries.qll | 2 +-
swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImpl.qll | 2 +-
31 files changed, 31 insertions(+), 31 deletions(-)
diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll
index 340bfe280b7..468f8640a78 100644
--- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll
+++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll
index 340bfe280b7..468f8640a78 100644
--- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll
+++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll
index 340bfe280b7..468f8640a78 100644
--- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll
+++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll
index 340bfe280b7..468f8640a78 100644
--- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll
+++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll
index 340bfe280b7..468f8640a78 100644
--- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll
+++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll
index 340bfe280b7..468f8640a78 100644
--- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll
+++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll
index 340bfe280b7..468f8640a78 100644
--- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll
+++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll
index 340bfe280b7..468f8640a78 100644
--- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll
+++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll
index 340bfe280b7..468f8640a78 100644
--- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll
+++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll
index 340bfe280b7..468f8640a78 100644
--- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll
+++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll
index 340bfe280b7..468f8640a78 100644
--- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll
+++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll
index 340bfe280b7..468f8640a78 100644
--- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll
+++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll
index 340bfe280b7..468f8640a78 100644
--- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll
+++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll
index 340bfe280b7..468f8640a78 100644
--- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll
+++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImplForContentDataFlow.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImplForContentDataFlow.qll
index 340bfe280b7..468f8640a78 100644
--- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImplForContentDataFlow.qll
+++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImplForContentDataFlow.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl.qll
index 340bfe280b7..468f8640a78 100644
--- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl.qll
+++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll
index 340bfe280b7..468f8640a78 100644
--- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll
+++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll
index 340bfe280b7..468f8640a78 100644
--- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll
+++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll
index 340bfe280b7..468f8640a78 100644
--- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll
+++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll
index 340bfe280b7..468f8640a78 100644
--- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll
+++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll
index 340bfe280b7..468f8640a78 100644
--- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll
+++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplForOnActivityResult.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplForOnActivityResult.qll
index 340bfe280b7..468f8640a78 100644
--- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplForOnActivityResult.qll
+++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplForOnActivityResult.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplForSerializability.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplForSerializability.qll
index 340bfe280b7..468f8640a78 100644
--- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplForSerializability.qll
+++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplForSerializability.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl.qll
index 340bfe280b7..468f8640a78 100644
--- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl.qll
+++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl2.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl2.qll
index 340bfe280b7..468f8640a78 100644
--- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl2.qll
+++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl2.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl3.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl3.qll
index 340bfe280b7..468f8640a78 100644
--- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl3.qll
+++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl3.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl4.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl4.qll
index 340bfe280b7..468f8640a78 100644
--- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl4.qll
+++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl4.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl.qll
index 340bfe280b7..468f8640a78 100644
--- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl.qll
+++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl2.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl2.qll
index 340bfe280b7..468f8640a78 100644
--- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl2.qll
+++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl2.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImplForLibraries.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImplForLibraries.qll
index 340bfe280b7..468f8640a78 100644
--- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImplForLibraries.qll
+++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImplForLibraries.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
diff --git a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImpl.qll b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImpl.qll
index 340bfe280b7..468f8640a78 100644
--- a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImpl.qll
+++ b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImpl.qll
@@ -3061,7 +3061,7 @@ private class PathNodeMid extends PathNodeImpl, TPathNodeMid {
else cc instanceof CallContextAny
) and
sc instanceof SummaryCtxNone and
- ap instanceof AccessPathNil
+ ap = TAccessPathNil(node.getDataFlowType())
}
predicate isAtSink() {
From c31995764bfb63fff02c41d71c3d2da785aec18d Mon Sep 17 00:00:00 2001
From: Alex Ford
Date: Wed, 10 Aug 2022 16:16:54 +0100
Subject: [PATCH 101/600] Ruby: add rb/log-inection query
---
.../ruby/security/LogInjectionQuery.qll | 68 +++++++++++++++++++
.../queries/security/cwe-117/LogInjection.ql | 21 ++++++
2 files changed, 89 insertions(+)
create mode 100644 ruby/ql/lib/codeql/ruby/security/LogInjectionQuery.qll
create mode 100644 ruby/ql/src/queries/security/cwe-117/LogInjection.ql
diff --git a/ruby/ql/lib/codeql/ruby/security/LogInjectionQuery.qll b/ruby/ql/lib/codeql/ruby/security/LogInjectionQuery.qll
new file mode 100644
index 00000000000..679f60d3695
--- /dev/null
+++ b/ruby/ql/lib/codeql/ruby/security/LogInjectionQuery.qll
@@ -0,0 +1,68 @@
+/**
+ * Provides a taint-tracking configuration for reasoning about untrusted user input used in log entries.
+ */
+
+import ruby
+import codeql.ruby.Concepts
+import codeql.ruby.DataFlow
+import codeql.ruby.TaintTracking
+import codeql.ruby.dataflow.RemoteFlowSources
+import codeql.ruby.frameworks.Core
+
+/**
+ * A data flow source for user input used in log entries.
+ */
+abstract class Source extends DataFlow::Node { }
+
+/**
+ * A data flow sink for user input used in log entries.
+ */
+abstract class Sink extends DataFlow::Node { }
+
+/**
+ * A sanitizer for malicious user input used in log entries.
+ */
+abstract class Sanitizer extends DataFlow::Node { }
+
+/**
+ * A taint-tracking configuration for untrusted user input used in log entries.
+ */
+class LogInjectionConfiguration extends TaintTracking::Configuration {
+ LogInjectionConfiguration() { this = "LogInjection" }
+
+ override predicate isSource(DataFlow::Node source) { source instanceof Source }
+
+ override predicate isSink(DataFlow::Node sink) { sink instanceof Sink }
+
+ override predicate isSanitizer(DataFlow::Node node) { node instanceof Sanitizer }
+}
+
+/**
+ * A source of remote user controlled input.
+ */
+class RemoteSource extends Source instanceof RemoteFlowSource { }
+
+/**
+ * An input to a logging mechanism.
+ */
+class LoggingSink extends Sink {
+ LoggingSink() { this = any(Logging logging).getAnInput() }
+}
+
+/**
+ * A call to `String#replace` that replaces `\n` is considered to sanitize the replaced string (reduce false positive).
+ */
+class StringReplaceSanitizer extends Sanitizer {
+ StringReplaceSanitizer() {
+ exists(string s | this.(StringSubstitutionCall).replaces(s, "") and s.regexpMatch("\\n")) and
+ // exclude replacement methods that may not fully sanitize the string
+ this.(StringSubstitutionCall).isGlobal()
+ }
+}
+
+/**
+ * A call to an HTML escape method is considered to sanitize its input.
+ */
+class HtmlEscapingAsSanitizer extends Sanitizer {
+ HtmlEscapingAsSanitizer() { this = any(HtmlEscaping esc).getOutput() }
+}
diff --git a/ruby/ql/src/queries/security/cwe-117/LogInjection.ql b/ruby/ql/src/queries/security/cwe-117/LogInjection.ql
new file mode 100644
index 00000000000..58aea13885c
--- /dev/null
+++ b/ruby/ql/src/queries/security/cwe-117/LogInjection.ql
@@ -0,0 +1,21 @@
+/**
+ * @name Log injection
+ * @description Building log entries from user-controlled sources is vulnerable to
+ * insertion of forged log entries by a malicious user.
+ * @kind path-problem
+ * @problem.severity error
+ * @security-severity 7.8
+ * @precision medium
+ * @id rb/log-injection
+ * @tags security
+ * external/cwe/cwe-117
+ */
+
+import ruby
+import DataFlow::PathGraph
+import codeql.ruby.security.LogInjectionQuery
+
+from LogInjectionConfiguration config, DataFlow::PathNode source, DataFlow::PathNode sink
+where config.hasFlowPath(source, sink)
+select sink.getNode(), source, sink, "$@ flows to log entry.", source.getNode(),
+ "User-provided value"
From 00e290e1f13d106d70f776ecdb024c26c7ea1124 Mon Sep 17 00:00:00 2001
From: Alex Ford
Date: Wed, 10 Aug 2022 16:17:18 +0100
Subject: [PATCH 102/600] Ruby: document rb/log-injection
---
.../security/cwe-117/LogInjection.qhelp | 62 +++++++++++++++++++
.../cwe-117/examples/log_injection_bad.rb | 13 ++++
.../cwe-117/examples/log_injection_good.rb | 14 +++++
3 files changed, 89 insertions(+)
create mode 100644 ruby/ql/src/queries/security/cwe-117/LogInjection.qhelp
create mode 100644 ruby/ql/src/queries/security/cwe-117/examples/log_injection_bad.rb
create mode 100644 ruby/ql/src/queries/security/cwe-117/examples/log_injection_good.rb
diff --git a/ruby/ql/src/queries/security/cwe-117/LogInjection.qhelp b/ruby/ql/src/queries/security/cwe-117/LogInjection.qhelp
new file mode 100644
index 00000000000..fe07ea86439
--- /dev/null
+++ b/ruby/ql/src/queries/security/cwe-117/LogInjection.qhelp
@@ -0,0 +1,62 @@
+
+
+
+
+
+If unsanitized user input is written to a log entry, a malicious user may
+able to forge new log entries.
+
+
+
+Forgery can occur if a user provides some input with characters that are
+interpreted when the log output is displayed. If the log is displayed as a plain
+text file, then new line characters can be used by a malicious user. If the log
+is displayed as HTML, then arbitrary HTML may be included to spoof log entries.
+
+
+
+
+
+User input should be suitably sanitized before it is logged. Suitable means of
+sanitization depend on how the log entries will be displayed or consumed.
+
+
+
+If the log entries are in plain text then line breaks should be removed from
+user input, using String#gsub or similar. Care should also be
+taken that user input is clearly marked in log entries.
+
+
+
+For log entries that will be displayed in HTML, user input should be
+HTML-encoded before being logged, to prevent forgery and other forms of HTML
+injection.
+
+
+
+
+
+In the example, a username, provided by the user, is logged using `Logger#info`.
+
+
+
+In the first case, it is logged without any sanitization. If a malicious user
+provides `username=Guest%0a[INFO]+User:+Admin%0a` as a username parameter, the
+log entry will be split in two different lines, where the second line will
+be `[INFO]+User:+Admin`.
+
+
+
+
+In the second example, String#gsub is used to ensure no line
+endings are present in the user input.
+
+
+
+
+
+OWASP: Log Injection.
+
+
diff --git a/ruby/ql/src/queries/security/cwe-117/examples/log_injection_bad.rb b/ruby/ql/src/queries/security/cwe-117/examples/log_injection_bad.rb
new file mode 100644
index 00000000000..034f9c928eb
--- /dev/null
+++ b/ruby/ql/src/queries/security/cwe-117/examples/log_injection_bad.rb
@@ -0,0 +1,13 @@
+require 'logger'
+
+class UsersController < ApplicationController
+ def login
+ logger = Logger.new STDOUT
+ username = params[:username]
+
+ # BAD: log message constructed with unsanitized user input
+ logger.info "attempting to login user: " + username
+
+ # ... login logic ...
+ end
+end
diff --git a/ruby/ql/src/queries/security/cwe-117/examples/log_injection_good.rb b/ruby/ql/src/queries/security/cwe-117/examples/log_injection_good.rb
new file mode 100644
index 00000000000..71b0b8b4604
--- /dev/null
+++ b/ruby/ql/src/queries/security/cwe-117/examples/log_injection_good.rb
@@ -0,0 +1,14 @@
+require 'logger'
+
+class UsersController < ApplicationController
+ def login
+ logger = Logger.new STDOUT
+ username = params[:username]
+
+ # GOOD: log message constructed with unsanitized user input
+ sanitized_username = username.gsub("\n", "")
+ logger.info "attempting to login user: " + sanitized_username
+
+ # ... login logic ...
+ end
+end
From 44c4b9ba5cefa3e784df4c496d579f91a124a4bc Mon Sep 17 00:00:00 2001
From: Alex Ford
Date: Wed, 10 Aug 2022 16:17:37 +0100
Subject: [PATCH 103/600] Ruby: add rb/log-injection test cases
---
.../security/cwe-117/LogInjection.expected | 36 +++++++++++++++
.../security/cwe-117/LogInjection.qlref | 1 +
.../app/controllers/users_controller.rb | 45 +++++++++++++++++++
3 files changed, 82 insertions(+)
create mode 100644 ruby/ql/test/query-tests/security/cwe-117/LogInjection.expected
create mode 100644 ruby/ql/test/query-tests/security/cwe-117/LogInjection.qlref
create mode 100644 ruby/ql/test/query-tests/security/cwe-117/app/controllers/users_controller.rb
diff --git a/ruby/ql/test/query-tests/security/cwe-117/LogInjection.expected b/ruby/ql/test/query-tests/security/cwe-117/LogInjection.expected
new file mode 100644
index 00000000000..dbd685bc5b4
--- /dev/null
+++ b/ruby/ql/test/query-tests/security/cwe-117/LogInjection.expected
@@ -0,0 +1,36 @@
+edges
+| app/controllers/users_controller.rb:15:19:15:24 | call to params : | app/controllers/users_controller.rb:15:19:15:30 | ...[...] : |
+| app/controllers/users_controller.rb:15:19:15:30 | ...[...] : | app/controllers/users_controller.rb:16:19:16:29 | unsanitized |
+| app/controllers/users_controller.rb:15:19:15:30 | ...[...] : | app/controllers/users_controller.rb:17:19:17:41 | ... + ... |
+| app/controllers/users_controller.rb:15:19:15:30 | ...[...] : | app/controllers/users_controller.rb:23:20:23:30 | unsanitized : |
+| app/controllers/users_controller.rb:23:5:23:44 | ... = ... : | app/controllers/users_controller.rb:25:7:25:18 | unsanitized2 |
+| app/controllers/users_controller.rb:23:20:23:30 | unsanitized : | app/controllers/users_controller.rb:23:20:23:44 | call to sub : |
+| app/controllers/users_controller.rb:23:20:23:44 | call to sub : | app/controllers/users_controller.rb:23:5:23:44 | ... = ... : |
+| app/controllers/users_controller.rb:23:20:23:44 | call to sub : | app/controllers/users_controller.rb:27:16:27:39 | ... + ... |
+| app/controllers/users_controller.rb:33:5:33:31 | ... = ... : | app/controllers/users_controller.rb:34:33:34:43 | unsanitized |
+| app/controllers/users_controller.rb:33:5:33:31 | ... = ... : | app/controllers/users_controller.rb:35:33:35:55 | ... + ... |
+| app/controllers/users_controller.rb:33:19:33:25 | call to cookies : | app/controllers/users_controller.rb:33:19:33:31 | ...[...] : |
+| app/controllers/users_controller.rb:33:19:33:31 | ...[...] : | app/controllers/users_controller.rb:33:5:33:31 | ... = ... : |
+nodes
+| app/controllers/users_controller.rb:15:19:15:24 | call to params : | semmle.label | call to params : |
+| app/controllers/users_controller.rb:15:19:15:30 | ...[...] : | semmle.label | ...[...] : |
+| app/controllers/users_controller.rb:16:19:16:29 | unsanitized | semmle.label | unsanitized |
+| app/controllers/users_controller.rb:17:19:17:41 | ... + ... | semmle.label | ... + ... |
+| app/controllers/users_controller.rb:23:5:23:44 | ... = ... : | semmle.label | ... = ... : |
+| app/controllers/users_controller.rb:23:20:23:30 | unsanitized : | semmle.label | unsanitized : |
+| app/controllers/users_controller.rb:23:20:23:44 | call to sub : | semmle.label | call to sub : |
+| app/controllers/users_controller.rb:25:7:25:18 | unsanitized2 | semmle.label | unsanitized2 |
+| app/controllers/users_controller.rb:27:16:27:39 | ... + ... | semmle.label | ... + ... |
+| app/controllers/users_controller.rb:33:5:33:31 | ... = ... : | semmle.label | ... = ... : |
+| app/controllers/users_controller.rb:33:19:33:25 | call to cookies : | semmle.label | call to cookies : |
+| app/controllers/users_controller.rb:33:19:33:31 | ...[...] : | semmle.label | ...[...] : |
+| app/controllers/users_controller.rb:34:33:34:43 | unsanitized | semmle.label | unsanitized |
+| app/controllers/users_controller.rb:35:33:35:55 | ... + ... | semmle.label | ... + ... |
+subpaths
+#select
+| app/controllers/users_controller.rb:16:19:16:29 | unsanitized | app/controllers/users_controller.rb:15:19:15:24 | call to params : | app/controllers/users_controller.rb:16:19:16:29 | unsanitized | $@ flows to log entry. | app/controllers/users_controller.rb:15:19:15:24 | call to params | User-provided value |
+| app/controllers/users_controller.rb:17:19:17:41 | ... + ... | app/controllers/users_controller.rb:15:19:15:24 | call to params : | app/controllers/users_controller.rb:17:19:17:41 | ... + ... | $@ flows to log entry. | app/controllers/users_controller.rb:15:19:15:24 | call to params | User-provided value |
+| app/controllers/users_controller.rb:25:7:25:18 | unsanitized2 | app/controllers/users_controller.rb:15:19:15:24 | call to params : | app/controllers/users_controller.rb:25:7:25:18 | unsanitized2 | $@ flows to log entry. | app/controllers/users_controller.rb:15:19:15:24 | call to params | User-provided value |
+| app/controllers/users_controller.rb:27:16:27:39 | ... + ... | app/controllers/users_controller.rb:15:19:15:24 | call to params : | app/controllers/users_controller.rb:27:16:27:39 | ... + ... | $@ flows to log entry. | app/controllers/users_controller.rb:15:19:15:24 | call to params | User-provided value |
+| app/controllers/users_controller.rb:34:33:34:43 | unsanitized | app/controllers/users_controller.rb:33:19:33:25 | call to cookies : | app/controllers/users_controller.rb:34:33:34:43 | unsanitized | $@ flows to log entry. | app/controllers/users_controller.rb:33:19:33:25 | call to cookies | User-provided value |
+| app/controllers/users_controller.rb:35:33:35:55 | ... + ... | app/controllers/users_controller.rb:33:19:33:25 | call to cookies : | app/controllers/users_controller.rb:35:33:35:55 | ... + ... | $@ flows to log entry. | app/controllers/users_controller.rb:33:19:33:25 | call to cookies | User-provided value |
diff --git a/ruby/ql/test/query-tests/security/cwe-117/LogInjection.qlref b/ruby/ql/test/query-tests/security/cwe-117/LogInjection.qlref
new file mode 100644
index 00000000000..3368edec402
--- /dev/null
+++ b/ruby/ql/test/query-tests/security/cwe-117/LogInjection.qlref
@@ -0,0 +1 @@
+queries/security/cwe-117/LogInjection.ql
\ No newline at end of file
diff --git a/ruby/ql/test/query-tests/security/cwe-117/app/controllers/users_controller.rb b/ruby/ql/test/query-tests/security/cwe-117/app/controllers/users_controller.rb
new file mode 100644
index 00000000000..8c87659a221
--- /dev/null
+++ b/ruby/ql/test/query-tests/security/cwe-117/app/controllers/users_controller.rb
@@ -0,0 +1,45 @@
+require 'logger'
+
+class UsersController < ApplicationController
+ include ERB::Util
+
+ def init_logger
+ if @logger == nil
+ @logger = Logger.new STDOUT
+ end
+ end
+
+ def read_from_params
+ init_logger
+
+ unsanitized = params[:foo]
+ @logger.debug unsanitized # BAD: unsanitized user input
+ @logger.error "input: " + unsanitized # BAD: unsanitized user input
+
+ sanitized = unsanitized.gsub("\n", "")
+ @logger.fatal sanitized # GOOD: sanitized user input
+ @logger.warn "input: " + sanitized # GOOD: sanitized user input
+
+ unsanitized2 = unsanitized.sub("\n", "")
+ @logger.info do
+ unsanitized2 # BAD: partially sanitized user input
+ end
+ @logger << "input: " + unsanitized2 # BAD: partially sanitized user input
+ end
+
+ def read_from_cookies
+ init_logger
+
+ unsanitized = cookies[:bar]
+ @logger.add(Logger::INFO) { unsanitized } # BAD: unsanitized user input
+ @logger.log(Logger::WARN) { "input: " + unsanitized } # BAD: unsanitized user input
+ end
+
+ def html_sanitization
+ init_logger
+
+ sanitized = html_escape params[:baz]
+ @logger.debug unsanitized # GOOD: sanitized user input
+ @logger.debug "input: " + unsanitized # GOOD: sanitized user input
+ end
+end
From 7a61f59b1e5d637ba5e2be50cf2e275957ca4ff8 Mon Sep 17 00:00:00 2001
From: Alex Ford
Date: Wed, 10 Aug 2022 16:17:55 +0100
Subject: [PATCH 104/600] Ruby: add change note for new rb/log-injeciton query
---
ruby/ql/src/change-notes/2022-08-10-log-injection-query.md | 4 ++++
1 file changed, 4 insertions(+)
create mode 100644 ruby/ql/src/change-notes/2022-08-10-log-injection-query.md
diff --git a/ruby/ql/src/change-notes/2022-08-10-log-injection-query.md b/ruby/ql/src/change-notes/2022-08-10-log-injection-query.md
new file mode 100644
index 00000000000..e51f8e21006
--- /dev/null
+++ b/ruby/ql/src/change-notes/2022-08-10-log-injection-query.md
@@ -0,0 +1,4 @@
+---
+category: newQuery
+---
+* Added a new query, `rb/log-inection`, to detect cases where a malicious user may be able to forge log entries.
From bf24d7886aefce409e89e9cfdb9a850f766fe8b7 Mon Sep 17 00:00:00 2001
From: Chris Smowton
Date: Wed, 10 Aug 2022 18:10:02 +0100
Subject: [PATCH 105/600] Accept test changes
---
.../semmle/go/dataflow/FlowSteps/LocalFlowStep.expected | 2 --
1 file changed, 2 deletions(-)
diff --git a/go/ql/test/library-tests/semmle/go/dataflow/FlowSteps/LocalFlowStep.expected b/go/ql/test/library-tests/semmle/go/dataflow/FlowSteps/LocalFlowStep.expected
index 745c997096e..7f049c6e057 100644
--- a/go/ql/test/library-tests/semmle/go/dataflow/FlowSteps/LocalFlowStep.expected
+++ b/go/ql/test/library-tests/semmle/go/dataflow/FlowSteps/LocalFlowStep.expected
@@ -60,10 +60,8 @@
| main.go:11:14:11:14 | z | main.go:11:9:11:15 | type conversion |
| main.go:14:6:14:10 | function test2 | main.go:34:8:34:12 | test2 |
| main.go:14:6:14:10 | function test2 | main.go:34:19:34:23 | test2 |
-| main.go:15:2:15:4 | definition of acc | main.go:16:9:16:9 | capture variable acc |
| main.go:15:9:15:9 | 0 | main.go:15:2:15:4 | definition of acc |
| main.go:16:9:16:9 | capture variable acc | main.go:17:3:17:5 | acc |
-| main.go:17:3:17:7 | definition of acc | main.go:16:9:16:9 | capture variable acc |
| main.go:17:3:17:7 | definition of acc | main.go:18:10:18:12 | acc |
| main.go:17:3:17:7 | rhs of increment statement | main.go:17:3:17:7 | definition of acc |
| main.go:22:12:22:12 | argument corresponding to b | main.go:22:12:22:12 | definition of b |
From 9cb4e4a61cddcb408b1032e28dcfab4257049ef9 Mon Sep 17 00:00:00 2001
From: Michael Nebel
Date: Thu, 11 Aug 2022 08:57:10 +0200
Subject: [PATCH 106/600] C#: Update release note.
---
csharp/ql/src/change-notes/2022-08-10-sqlinjection-queries.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/csharp/ql/src/change-notes/2022-08-10-sqlinjection-queries.md b/csharp/ql/src/change-notes/2022-08-10-sqlinjection-queries.md
index d68ddbac94e..5c4711c8722 100644
--- a/csharp/ql/src/change-notes/2022-08-10-sqlinjection-queries.md
+++ b/csharp/ql/src/change-notes/2022-08-10-sqlinjection-queries.md
@@ -1,5 +1,5 @@
---
category: minorAnalysis
---
-* Added better support for the SQ Lite framework in the SQL injection query.
+* Added better support for the SQLite framework in the SQL injection query.
* File streams are now considered stored flow sources. Eg. reading query elements from a file can lead to a Second Order SQL injection alert.
\ No newline at end of file
From e7f009e8793b550e480de588d690d7cf0750367f Mon Sep 17 00:00:00 2001
From: erik-krogh
Date: Thu, 11 Aug 2022 09:53:32 +0200
Subject: [PATCH 107/600] support top-level for await statements
---
.../src/com/semmle/jcorn/ESNextParser.java | 6 +-
.../src/com/semmle/js/extractor/Main.java | 2 +-
.../extractor/tests/esnext/input/for-await.js | 9 +
.../esnext/output/trap/for-await.js.trap | 450 ++++++++++++++++++
4 files changed, 465 insertions(+), 2 deletions(-)
create mode 100644 javascript/extractor/tests/esnext/input/for-await.js
create mode 100644 javascript/extractor/tests/esnext/output/trap/for-await.js.trap
diff --git a/javascript/extractor/src/com/semmle/jcorn/ESNextParser.java b/javascript/extractor/src/com/semmle/jcorn/ESNextParser.java
index 6ad5cca137e..e88f6c2321f 100644
--- a/javascript/extractor/src/com/semmle/jcorn/ESNextParser.java
+++ b/javascript/extractor/src/com/semmle/jcorn/ESNextParser.java
@@ -448,7 +448,11 @@ public class ESNextParser extends JSXParser {
protected Statement parseForStatement(Position startLoc) {
int startPos = this.start;
boolean isAwait = false;
- if (this.inAsync && this.eatContextual("await")) isAwait = true;
+ if (this.inAsync || (options.esnext() && !this.inFunction)) {
+ if (this.eatContextual("await")) {
+ isAwait = true;
+ }
+ }
Statement forStmt = super.parseForStatement(startLoc);
if (isAwait) {
if (forStmt instanceof ForOfStatement) ((ForOfStatement) forStmt).setAwait(true);
diff --git a/javascript/extractor/src/com/semmle/js/extractor/Main.java b/javascript/extractor/src/com/semmle/js/extractor/Main.java
index 9929195bb77..6ae1e79dc33 100644
--- a/javascript/extractor/src/com/semmle/js/extractor/Main.java
+++ b/javascript/extractor/src/com/semmle/js/extractor/Main.java
@@ -41,7 +41,7 @@ public class Main {
* A version identifier that should be updated every time the extractor changes in such a way that
* it may produce different tuples for the same file under the same {@link ExtractorConfig}.
*/
- public static final String EXTRACTOR_VERSION = "2022-06-27";
+ public static final String EXTRACTOR_VERSION = "2022-07-11";
public static final Pattern NEWLINE = Pattern.compile("\n");
diff --git a/javascript/extractor/tests/esnext/input/for-await.js b/javascript/extractor/tests/esnext/input/for-await.js
new file mode 100644
index 00000000000..7440ecce5c9
--- /dev/null
+++ b/javascript/extractor/tests/esnext/input/for-await.js
@@ -0,0 +1,9 @@
+async function foo() {
+ for await (const call of calls) {
+ call();
+ }
+}
+
+for await (const call of calls) {
+ call();
+}
\ No newline at end of file
diff --git a/javascript/extractor/tests/esnext/output/trap/for-await.js.trap b/javascript/extractor/tests/esnext/output/trap/for-await.js.trap
new file mode 100644
index 00000000000..6757b189ce9
--- /dev/null
+++ b/javascript/extractor/tests/esnext/output/trap/for-await.js.trap
@@ -0,0 +1,450 @@
+#10000=@"/for-await.js;sourcefile"
+files(#10000,"/for-await.js")
+#10001=@"/;folder"
+folders(#10001,"/")
+containerparent(#10001,#10000)
+#10002=@"loc,{#10000},0,0,0,0"
+locations_default(#10002,#10000,0,0,0,0)
+hasLocation(#10000,#10002)
+#20000=@"global_scope"
+scopes(#20000,0)
+#20001=@"script;{#10000},1,1"
+#20002=*
+lines(#20002,#20001,"async function foo() {","
+")
+#20003=@"loc,{#10000},1,1,1,22"
+locations_default(#20003,#10000,1,1,1,22)
+hasLocation(#20002,#20003)
+#20004=*
+lines(#20004,#20001," for await (const call of calls) {","
+")
+#20005=@"loc,{#10000},2,1,2,37"
+locations_default(#20005,#10000,2,1,2,37)
+hasLocation(#20004,#20005)
+indentation(#10000,2," ",4)
+#20006=*
+lines(#20006,#20001," call(); ","
+")
+#20007=@"loc,{#10000},3,1,3,19"
+locations_default(#20007,#10000,3,1,3,19)
+hasLocation(#20006,#20007)
+indentation(#10000,3," ",8)
+#20008=*
+lines(#20008,#20001," }","
+")
+#20009=@"loc,{#10000},4,1,4,5"
+locations_default(#20009,#10000,4,1,4,5)
+hasLocation(#20008,#20009)
+indentation(#10000,4," ",4)
+#20010=*
+lines(#20010,#20001,"}","
+")
+#20011=@"loc,{#10000},5,1,5,1"
+locations_default(#20011,#10000,5,1,5,1)
+hasLocation(#20010,#20011)
+#20012=*
+lines(#20012,#20001,"","
+")
+#20013=@"loc,{#10000},6,1,6,0"
+locations_default(#20013,#10000,6,1,6,0)
+hasLocation(#20012,#20013)
+#20014=*
+lines(#20014,#20001,"for await (const call of calls) {","
+")
+#20015=@"loc,{#10000},7,1,7,33"
+locations_default(#20015,#10000,7,1,7,33)
+hasLocation(#20014,#20015)
+#20016=*
+lines(#20016,#20001," call();","
+")
+#20017=@"loc,{#10000},8,1,8,11"
+locations_default(#20017,#10000,8,1,8,11)
+hasLocation(#20016,#20017)
+indentation(#10000,8," ",4)
+#20018=*
+lines(#20018,#20001,"}","")
+#20019=@"loc,{#10000},9,1,9,1"
+locations_default(#20019,#10000,9,1,9,1)
+hasLocation(#20018,#20019)
+numlines(#20001,9,8,0)
+#20020=*
+tokeninfo(#20020,6,#20001,0,"async")
+#20021=@"loc,{#10000},1,1,1,5"
+locations_default(#20021,#10000,1,1,1,5)
+hasLocation(#20020,#20021)
+#20022=*
+tokeninfo(#20022,7,#20001,1,"function")
+#20023=@"loc,{#10000},1,7,1,14"
+locations_default(#20023,#10000,1,7,1,14)
+hasLocation(#20022,#20023)
+#20024=*
+tokeninfo(#20024,6,#20001,2,"foo")
+#20025=@"loc,{#10000},1,16,1,18"
+locations_default(#20025,#10000,1,16,1,18)
+hasLocation(#20024,#20025)
+#20026=*
+tokeninfo(#20026,8,#20001,3,"(")
+#20027=@"loc,{#10000},1,19,1,19"
+locations_default(#20027,#10000,1,19,1,19)
+hasLocation(#20026,#20027)
+#20028=*
+tokeninfo(#20028,8,#20001,4,")")
+#20029=@"loc,{#10000},1,20,1,20"
+locations_default(#20029,#10000,1,20,1,20)
+hasLocation(#20028,#20029)
+#20030=*
+tokeninfo(#20030,8,#20001,5,"{")
+#20031=@"loc,{#10000},1,22,1,22"
+locations_default(#20031,#10000,1,22,1,22)
+hasLocation(#20030,#20031)
+#20032=*
+tokeninfo(#20032,7,#20001,6,"for")
+#20033=@"loc,{#10000},2,5,2,7"
+locations_default(#20033,#10000,2,5,2,7)
+hasLocation(#20032,#20033)
+#20034=*
+tokeninfo(#20034,6,#20001,7,"await")
+#20035=@"loc,{#10000},2,9,2,13"
+locations_default(#20035,#10000,2,9,2,13)
+hasLocation(#20034,#20035)
+#20036=*
+tokeninfo(#20036,8,#20001,8,"(")
+#20037=@"loc,{#10000},2,15,2,15"
+locations_default(#20037,#10000,2,15,2,15)
+hasLocation(#20036,#20037)
+#20038=*
+tokeninfo(#20038,7,#20001,9,"const")
+#20039=@"loc,{#10000},2,16,2,20"
+locations_default(#20039,#10000,2,16,2,20)
+hasLocation(#20038,#20039)
+#20040=*
+tokeninfo(#20040,6,#20001,10,"call")
+#20041=@"loc,{#10000},2,22,2,25"
+locations_default(#20041,#10000,2,22,2,25)
+hasLocation(#20040,#20041)
+#20042=*
+tokeninfo(#20042,6,#20001,11,"of")
+#20043=@"loc,{#10000},2,27,2,28"
+locations_default(#20043,#10000,2,27,2,28)
+hasLocation(#20042,#20043)
+#20044=*
+tokeninfo(#20044,6,#20001,12,"calls")
+#20045=@"loc,{#10000},2,30,2,34"
+locations_default(#20045,#10000,2,30,2,34)
+hasLocation(#20044,#20045)
+#20046=*
+tokeninfo(#20046,8,#20001,13,")")
+#20047=@"loc,{#10000},2,35,2,35"
+locations_default(#20047,#10000,2,35,2,35)
+hasLocation(#20046,#20047)
+#20048=*
+tokeninfo(#20048,8,#20001,14,"{")
+#20049=@"loc,{#10000},2,37,2,37"
+locations_default(#20049,#10000,2,37,2,37)
+hasLocation(#20048,#20049)
+#20050=*
+tokeninfo(#20050,6,#20001,15,"call")
+#20051=@"loc,{#10000},3,9,3,12"
+locations_default(#20051,#10000,3,9,3,12)
+hasLocation(#20050,#20051)
+#20052=*
+tokeninfo(#20052,8,#20001,16,"(")
+#20053=@"loc,{#10000},3,13,3,13"
+locations_default(#20053,#10000,3,13,3,13)
+hasLocation(#20052,#20053)
+#20054=*
+tokeninfo(#20054,8,#20001,17,")")
+#20055=@"loc,{#10000},3,14,3,14"
+locations_default(#20055,#10000,3,14,3,14)
+hasLocation(#20054,#20055)
+#20056=*
+tokeninfo(#20056,8,#20001,18,";")
+#20057=@"loc,{#10000},3,15,3,15"
+locations_default(#20057,#10000,3,15,3,15)
+hasLocation(#20056,#20057)
+#20058=*
+tokeninfo(#20058,8,#20001,19,"}")
+#20059=@"loc,{#10000},4,5,4,5"
+locations_default(#20059,#10000,4,5,4,5)
+hasLocation(#20058,#20059)
+#20060=*
+tokeninfo(#20060,8,#20001,20,"}")
+hasLocation(#20060,#20011)
+#20061=*
+tokeninfo(#20061,7,#20001,21,"for")
+#20062=@"loc,{#10000},7,1,7,3"
+locations_default(#20062,#10000,7,1,7,3)
+hasLocation(#20061,#20062)
+#20063=*
+tokeninfo(#20063,6,#20001,22,"await")
+#20064=@"loc,{#10000},7,5,7,9"
+locations_default(#20064,#10000,7,5,7,9)
+hasLocation(#20063,#20064)
+#20065=*
+tokeninfo(#20065,8,#20001,23,"(")
+#20066=@"loc,{#10000},7,11,7,11"
+locations_default(#20066,#10000,7,11,7,11)
+hasLocation(#20065,#20066)
+#20067=*
+tokeninfo(#20067,7,#20001,24,"const")
+#20068=@"loc,{#10000},7,12,7,16"
+locations_default(#20068,#10000,7,12,7,16)
+hasLocation(#20067,#20068)
+#20069=*
+tokeninfo(#20069,6,#20001,25,"call")
+#20070=@"loc,{#10000},7,18,7,21"
+locations_default(#20070,#10000,7,18,7,21)
+hasLocation(#20069,#20070)
+#20071=*
+tokeninfo(#20071,6,#20001,26,"of")
+#20072=@"loc,{#10000},7,23,7,24"
+locations_default(#20072,#10000,7,23,7,24)
+hasLocation(#20071,#20072)
+#20073=*
+tokeninfo(#20073,6,#20001,27,"calls")
+#20074=@"loc,{#10000},7,26,7,30"
+locations_default(#20074,#10000,7,26,7,30)
+hasLocation(#20073,#20074)
+#20075=*
+tokeninfo(#20075,8,#20001,28,")")
+#20076=@"loc,{#10000},7,31,7,31"
+locations_default(#20076,#10000,7,31,7,31)
+hasLocation(#20075,#20076)
+#20077=*
+tokeninfo(#20077,8,#20001,29,"{")
+#20078=@"loc,{#10000},7,33,7,33"
+locations_default(#20078,#10000,7,33,7,33)
+hasLocation(#20077,#20078)
+#20079=*
+tokeninfo(#20079,6,#20001,30,"call")
+#20080=@"loc,{#10000},8,5,8,8"
+locations_default(#20080,#10000,8,5,8,8)
+hasLocation(#20079,#20080)
+#20081=*
+tokeninfo(#20081,8,#20001,31,"(")
+#20082=@"loc,{#10000},8,9,8,9"
+locations_default(#20082,#10000,8,9,8,9)
+hasLocation(#20081,#20082)
+#20083=*
+tokeninfo(#20083,8,#20001,32,")")
+#20084=@"loc,{#10000},8,10,8,10"
+locations_default(#20084,#10000,8,10,8,10)
+hasLocation(#20083,#20084)
+#20085=*
+tokeninfo(#20085,8,#20001,33,";")
+#20086=@"loc,{#10000},8,11,8,11"
+locations_default(#20086,#10000,8,11,8,11)
+hasLocation(#20085,#20086)
+#20087=*
+tokeninfo(#20087,8,#20001,34,"}")
+hasLocation(#20087,#20019)
+#20088=*
+tokeninfo(#20088,0,#20001,35,"")
+#20089=@"loc,{#10000},9,2,9,1"
+locations_default(#20089,#10000,9,2,9,1)
+hasLocation(#20088,#20089)
+toplevels(#20001,0)
+#20090=@"loc,{#10000},1,1,9,1"
+locations_default(#20090,#10000,1,1,9,1)
+hasLocation(#20001,#20090)
+#20091=@"var;{foo};{#20000}"
+variables(#20091,"foo",#20000)
+#20092=*
+stmts(#20092,17,#20001,0,"async f ... }\n}")
+#20093=@"loc,{#10000},1,1,5,1"
+locations_default(#20093,#10000,1,1,5,1)
+hasLocation(#20092,#20093)
+stmt_containers(#20092,#20001)
+#20094=*
+exprs(#20094,78,#20092,-1,"foo")
+hasLocation(#20094,#20025)
+expr_containers(#20094,#20092)
+literals("foo","foo",#20094)
+decl(#20094,#20091)
+#20095=*
+scopes(#20095,1)
+scopenodes(#20092,#20095)
+scopenesting(#20095,#20000)
+#20096=@"var;{arguments};{#20095}"
+variables(#20096,"arguments",#20095)
+is_arguments_object(#20096)
+is_async(#20092)
+#20097=*
+stmts(#20097,1,#20092,-2,"{\n f ... }\n}")
+#20098=@"loc,{#10000},1,22,5,1"
+locations_default(#20098,#10000,1,22,5,1)
+hasLocation(#20097,#20098)
+stmt_containers(#20097,#20092)
+#20099=*
+stmts(#20099,21,#20097,0,"for awa ... \n }")
+#20100=@"loc,{#10000},2,5,4,5"
+locations_default(#20100,#10000,2,5,4,5)
+hasLocation(#20099,#20100)
+stmt_containers(#20099,#20092)
+#20101=*
+exprs(#20101,79,#20099,1,"calls")
+hasLocation(#20101,#20045)
+enclosing_stmt(#20101,#20099)
+expr_containers(#20101,#20092)
+literals("calls","calls",#20101)
+#20102=@"var;{calls};{#20000}"
+variables(#20102,"calls",#20000)
+bind(#20101,#20102)
+#20103=*
+scopes(#20103,6)
+scopenodes(#20099,#20103)
+scopenesting(#20103,#20095)
+#20104=@"var;{call};{#20103}"
+variables(#20104,"call",#20103)
+#20105=*
+stmts(#20105,22,#20099,0,"const call")
+#20106=@"loc,{#10000},2,16,2,25"
+locations_default(#20106,#10000,2,16,2,25)
+hasLocation(#20105,#20106)
+stmt_containers(#20105,#20092)
+#20107=*
+exprs(#20107,64,#20105,0,"call")
+hasLocation(#20107,#20041)
+enclosing_stmt(#20107,#20105)
+expr_containers(#20107,#20092)
+#20108=*
+exprs(#20108,78,#20107,0,"call")
+hasLocation(#20108,#20041)
+enclosing_stmt(#20108,#20105)
+expr_containers(#20108,#20092)
+literals("call","call",#20108)
+decl(#20108,#20104)
+#20109=*
+stmts(#20109,1,#20099,2,"{\n ... \n }")
+#20110=@"loc,{#10000},2,37,4,5"
+locations_default(#20110,#10000,2,37,4,5)
+hasLocation(#20109,#20110)
+stmt_containers(#20109,#20092)
+#20111=*
+stmts(#20111,2,#20109,0,"call();")
+#20112=@"loc,{#10000},3,9,3,15"
+locations_default(#20112,#10000,3,9,3,15)
+hasLocation(#20111,#20112)
+stmt_containers(#20111,#20092)
+#20113=*
+exprs(#20113,13,#20111,0,"call()")
+#20114=@"loc,{#10000},3,9,3,14"
+locations_default(#20114,#10000,3,9,3,14)
+hasLocation(#20113,#20114)
+enclosing_stmt(#20113,#20111)
+expr_containers(#20113,#20092)
+#20115=*
+exprs(#20115,79,#20113,-1,"call")
+hasLocation(#20115,#20051)
+enclosing_stmt(#20115,#20111)
+expr_containers(#20115,#20092)
+literals("call","call",#20115)
+bind(#20115,#20104)
+is_for_await_of(#20099)
+#20116=*
+stmts(#20116,21,#20001,1,"for awa ... ll();\n}")
+#20117=@"loc,{#10000},7,1,9,1"
+locations_default(#20117,#10000,7,1,9,1)
+hasLocation(#20116,#20117)
+stmt_containers(#20116,#20001)
+#20118=*
+exprs(#20118,79,#20116,1,"calls")
+hasLocation(#20118,#20074)
+enclosing_stmt(#20118,#20116)
+expr_containers(#20118,#20001)
+literals("calls","calls",#20118)
+bind(#20118,#20102)
+#20119=*
+scopes(#20119,6)
+scopenodes(#20116,#20119)
+scopenesting(#20119,#20000)
+#20120=@"var;{call};{#20119}"
+variables(#20120,"call",#20119)
+#20121=*
+stmts(#20121,22,#20116,0,"const call")
+#20122=@"loc,{#10000},7,12,7,21"
+locations_default(#20122,#10000,7,12,7,21)
+hasLocation(#20121,#20122)
+stmt_containers(#20121,#20001)
+#20123=*
+exprs(#20123,64,#20121,0,"call")
+hasLocation(#20123,#20070)
+enclosing_stmt(#20123,#20121)
+expr_containers(#20123,#20001)
+#20124=*
+exprs(#20124,78,#20123,0,"call")
+hasLocation(#20124,#20070)
+enclosing_stmt(#20124,#20121)
+expr_containers(#20124,#20001)
+literals("call","call",#20124)
+decl(#20124,#20120)
+#20125=*
+stmts(#20125,1,#20116,2,"{\n call();\n}")
+#20126=@"loc,{#10000},7,33,9,1"
+locations_default(#20126,#10000,7,33,9,1)
+hasLocation(#20125,#20126)
+stmt_containers(#20125,#20001)
+#20127=*
+stmts(#20127,2,#20125,0,"call();")
+#20128=@"loc,{#10000},8,5,8,11"
+locations_default(#20128,#10000,8,5,8,11)
+hasLocation(#20127,#20128)
+stmt_containers(#20127,#20001)
+#20129=*
+exprs(#20129,13,#20127,0,"call()")
+#20130=@"loc,{#10000},8,5,8,10"
+locations_default(#20130,#10000,8,5,8,10)
+hasLocation(#20129,#20130)
+enclosing_stmt(#20129,#20127)
+expr_containers(#20129,#20001)
+#20131=*
+exprs(#20131,79,#20129,-1,"call")
+hasLocation(#20131,#20080)
+enclosing_stmt(#20131,#20127)
+expr_containers(#20131,#20001)
+literals("call","call",#20131)
+bind(#20131,#20120)
+is_for_await_of(#20116)
+#20132=*
+entry_cfg_node(#20132,#20001)
+#20133=@"loc,{#10000},1,1,1,0"
+locations_default(#20133,#10000,1,1,1,0)
+hasLocation(#20132,#20133)
+#20134=*
+exit_cfg_node(#20134,#20001)
+hasLocation(#20134,#20089)
+successor(#20118,#20116)
+successor(#20116,#20121)
+successor(#20116,#20134)
+successor(#20125,#20127)
+successor(#20127,#20131)
+successor(#20131,#20129)
+successor(#20129,#20116)
+successor(#20121,#20124)
+successor(#20124,#20123)
+successor(#20123,#20125)
+successor(#20092,#20118)
+#20135=*
+entry_cfg_node(#20135,#20092)
+hasLocation(#20135,#20133)
+#20136=*
+exit_cfg_node(#20136,#20092)
+#20137=@"loc,{#10000},5,2,5,1"
+locations_default(#20137,#10000,5,2,5,1)
+hasLocation(#20136,#20137)
+successor(#20097,#20101)
+successor(#20101,#20099)
+successor(#20099,#20105)
+successor(#20099,#20136)
+successor(#20109,#20111)
+successor(#20111,#20115)
+successor(#20115,#20113)
+successor(#20113,#20099)
+successor(#20105,#20108)
+successor(#20108,#20107)
+successor(#20107,#20109)
+successor(#20135,#20097)
+successor(#20094,#20092)
+successor(#20132,#20094)
+numlines(#10000,9,8,0)
+filetype(#10000,"javascript")
From e9df675f88f3378a6fa5d50e5a7c955e93bd5b5f Mon Sep 17 00:00:00 2001
From: Chris Smowton
Date: Thu, 11 Aug 2022 09:55:46 +0100
Subject: [PATCH 108/600] Autoformat ql
---
java/ql/lib/semmle/code/java/security/PartialPathTraversal.qll | 2 +-
.../CWE-023/semmle/tests/PartialPathTraversalFromRemoteTest.ql | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/java/ql/lib/semmle/code/java/security/PartialPathTraversal.qll b/java/ql/lib/semmle/code/java/security/PartialPathTraversal.qll
index 956efbeaeb9..ea3acb2cc92 100644
--- a/java/ql/lib/semmle/code/java/security/PartialPathTraversal.qll
+++ b/java/ql/lib/semmle/code/java/security/PartialPathTraversal.qll
@@ -22,7 +22,7 @@ private class MethodAccessFileGetCanonicalPath extends MethodAccess {
MethodAccessFileGetCanonicalPath() { this.getMethod() instanceof MethodFileGetCanonicalPath }
}
-private abstract class FileSeparatorExpr extends Expr { }
+abstract private class FileSeparatorExpr extends Expr { }
private class SystemPropFileSeparatorExpr extends FileSeparatorExpr {
SystemPropFileSeparatorExpr() { this = getSystemProperty("file.separator") }
diff --git a/java/ql/test/query-tests/security/CWE-023/semmle/tests/PartialPathTraversalFromRemoteTest.ql b/java/ql/test/query-tests/security/CWE-023/semmle/tests/PartialPathTraversalFromRemoteTest.ql
index a0f82a60cc3..b4009b55244 100644
--- a/java/ql/test/query-tests/security/CWE-023/semmle/tests/PartialPathTraversalFromRemoteTest.ql
+++ b/java/ql/test/query-tests/security/CWE-023/semmle/tests/PartialPathTraversalFromRemoteTest.ql
@@ -3,7 +3,7 @@ import TestUtilities.InlineFlowTest
import semmle.code.java.security.PartialPathTraversalQuery
class TestRemoteSource extends RemoteFlowSource {
- TestRemoteSource() { this.asParameter().hasName(["dir", "path"]) }
+ TestRemoteSource() { this.asParameter().hasName(["dir", "path"]) }
override string getSourceType() { result = "TestSource" }
}
From 495576c438f98adf39ea4bfbf76d268666b5b118 Mon Sep 17 00:00:00 2001
From: Taus
Date: Fri, 22 Jul 2022 12:58:03 +0000
Subject: [PATCH 109/600] Use upstream `tree-sitter-ql`
This gets rid of all of the `dbscheme` and YAML bits. These will be
added in later commits. (Doing it all in one go made for an unreadable
diff.)
Also modifies `create-extractor-path.sh` to automatically install
`gh codeql` if there is no CodeQL CLI available for autoformatting.
---
ql/Cargo.lock | Bin 14091 -> 14465 bytes
ql/generator/Cargo.toml | 2 +-
.../src/codeql_ql/ast/internal/TreeSitter.qll | 317 +-----------------
ql/ql/src/ql.dbscheme | 237 ++-----------
ql/scripts/create-extractor-pack.sh | 11 +-
5 files changed, 37 insertions(+), 530 deletions(-)
diff --git a/ql/Cargo.lock b/ql/Cargo.lock
index 852382e1c86a23fd9b13b98af6b833a5d04775e8..90d0e07999b581d67efda660dd7d9438d5c17b3e 100644
GIT binary patch
delta 177
zcmeCqYb@OGREkHzK+n)p&p<&VJ+ox;LIIJngdZ<^5%zzTC4!d8#?y@
delta 33
mcmZoH?9SWpRBCdPw$$V-=^7Bd*/dev/null; then
+ CODEQL_BINARY="codeql"
+elif gh codeql >/dev/null; then
+ CODEQL_BINARY="gh codeql"
+else
+ gh extension install github/gh-codeql
+ CODEQL_BINARY="gh codeql"
+fi
+
cargo build --release
cargo run --release -p ql-generator -- --dbscheme ql/src/ql.dbscheme --library ql/src/codeql_ql/ast/internal/TreeSitter.qll
-codeql query format -i ql/src/codeql_ql/ast/internal/TreeSitter.qll
+$CODEQL_BINARY query format -i ql/src/codeql_ql/ast/internal/TreeSitter.qll
rm -rf extractor-pack
mkdir -p extractor-pack
From 395414c3cf38c9591525ff36f5d8cbfde543182e Mon Sep 17 00:00:00 2001
From: Taus
Date: Fri, 22 Jul 2022 13:02:40 +0000
Subject: [PATCH 110/600] Update generator
---
ql/Cargo.lock | Bin 14465 -> 15249 bytes
ql/generator/Cargo.toml | 2 +
ql/generator/src/main.rs | 18 +-
.../src/codeql_ql/ast/internal/TreeSitter.qll | 469 ++++++++++++++++++
ql/ql/src/ql.dbscheme | 258 ++++++++++
5 files changed, 743 insertions(+), 4 deletions(-)
diff --git a/ql/Cargo.lock b/ql/Cargo.lock
index 90d0e07999b581d67efda660dd7d9438d5c17b3e..44a17253681a34c9ed28a17c719e68701e224fa7 100644
GIT binary patch
delta 474
zcma)(y-or_6ongtN&!(rVt`@;cDn1G|DA%MEe)NW#mwxik_d*~6=TUGn0Wyn!AN`y
z8@00J0j#Y|T+pb|m{{I>PjbI=&SZ3Tas5zR@gP7lVD7O_+!pS-Ui}HYW|mm%r~NFm
zi9b5^Bb}NPJFv~&(y!a48aTC6pLH73s(XP-0YebFgJN$V^H9gc5~IL?v@F6%Gifj<
zp+(qe9+_BJmCF!jpt$4;M<59|nhCAIO)6D4#VhU>y?%1uuhrZgzWFhi>tBqeu}#wc
z+0biyO$c&(?ip`))p@Fidw=)}j{8~5ARTJKL4pvPN)e)%vDhLC`JP&V6tkRA^?|jq
zKv;TxM=BTmMHF)+irMm+TW@S0b`m>o^Vo)r5-tE6i8WxFXQ3sM5GsTtu7OY#Q`7pd
S@H@h?y#>M%U7bzIyzmArC6OHf
delta 62
zcmbPO-dMQdlGNl|(#D&4q?H*bU*QzrTqUzWbTX6i<;hG;Qj__OxPffT$-FXhlOs$5
Pz+$=P9Gf?oJ!Am@y!aHj
diff --git a/ql/generator/Cargo.toml b/ql/generator/Cargo.toml
index fc0cba8f608..6f1dc60ea78 100644
--- a/ql/generator/Cargo.toml
+++ b/ql/generator/Cargo.toml
@@ -12,3 +12,5 @@ node-types = { path = "../node-types" }
tracing = "0.1"
tracing-subscriber = { version = "0.3.3", features = ["env-filter"] }
tree-sitter-ql = { git = "https://github.com/tree-sitter/tree-sitter-ql.git" }
+tree-sitter-ql-dbscheme = { git = "https://github.com/tausbn/tree-sitter-ql-dbscheme.git"}
+tree-sitter-ql-yaml = {git = "https://github.com/tausbn/tree-sitter-ql.git", rev = "6fe85436702c92b0245d2b91908a12d6b0341f4c"}
diff --git a/ql/generator/src/main.rs b/ql/generator/src/main.rs
index 4b9582a0e45..790cb7f1533 100644
--- a/ql/generator/src/main.rs
+++ b/ql/generator/src/main.rs
@@ -564,10 +564,20 @@ fn main() -> std::io::Result<()> {
let ql_library_path = matches.value_of("library").expect("missing --library");
let ql_library_path = PathBuf::from(ql_library_path);
- let languages = vec![Language {
- name: "QL".to_owned(),
- node_types: tree_sitter_ql::NODE_TYPES,
- }];
+ let languages = vec![
+ Language {
+ name: "QL".to_owned(),
+ node_types: tree_sitter_ql::NODE_TYPES,
+ },
+ Language {
+ name: "Dbscheme".to_owned(),
+ node_types: tree_sitter_ql_dbscheme::NODE_TYPES,
+ },
+ Language {
+ name: "Yaml".to_owned(),
+ node_types: tree_sitter_ql_yaml::NODE_TYPES,
+ },
+ ];
let mut dbscheme_writer = LineWriter::new(File::create(dbscheme_path)?);
write!(
dbscheme_writer,
diff --git a/ql/ql/src/codeql_ql/ast/internal/TreeSitter.qll b/ql/ql/src/codeql_ql/ast/internal/TreeSitter.qll
index 2ac6642de36..7f95bbf0dcc 100644
--- a/ql/ql/src/codeql_ql/ast/internal/TreeSitter.qll
+++ b/ql/ql/src/codeql_ql/ast/internal/TreeSitter.qll
@@ -1281,3 +1281,472 @@ module QL {
final override AstNode getAFieldOrChild() { ql_variable_def(this, result) }
}
}
+
+module Dbscheme {
+ /** The base class for all AST nodes */
+ class AstNode extends @dbscheme_ast_node {
+ /** Gets a string representation of this element. */
+ string toString() { result = this.getAPrimaryQlClass() }
+
+ /** Gets the location of this element. */
+ final L::Location getLocation() { dbscheme_ast_node_info(this, _, _, result) }
+
+ /** Gets the parent of this element. */
+ final AstNode getParent() { dbscheme_ast_node_info(this, result, _, _) }
+
+ /** Gets the index of this node among the children of its parent. */
+ final int getParentIndex() { dbscheme_ast_node_info(this, _, result, _) }
+
+ /** Gets a field or child node of this node. */
+ AstNode getAFieldOrChild() { none() }
+
+ /** Gets the name of the primary QL class for this element. */
+ string getAPrimaryQlClass() { result = "???" }
+
+ /** Gets a comma-separated list of the names of the primary CodeQL classes to which this element belongs. */
+ string getPrimaryQlClasses() { result = concat(this.getAPrimaryQlClass(), ",") }
+ }
+
+ /** A token. */
+ class Token extends @dbscheme_token, AstNode {
+ /** Gets the value of this token. */
+ final string getValue() { dbscheme_tokeninfo(this, _, result) }
+
+ /** Gets a string representation of this element. */
+ final override string toString() { result = this.getValue() }
+
+ /** Gets the name of the primary QL class for this element. */
+ override string getAPrimaryQlClass() { result = "Token" }
+ }
+
+ /** A reserved word. */
+ class ReservedWord extends @dbscheme_reserved_word, Token {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "ReservedWord" }
+ }
+
+ /** A class representing `annotName` tokens. */
+ class AnnotName extends @dbscheme_token_annot_name, Token {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "AnnotName" }
+ }
+
+ /** A class representing `annotation` nodes. */
+ class Annotation extends @dbscheme_annotation, AstNode {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "Annotation" }
+
+ /** Gets the node corresponding to the field `argsAnnotation`. */
+ final ArgsAnnotation getArgsAnnotation() { dbscheme_annotation_args_annotation(this, result) }
+
+ /** Gets the node corresponding to the field `simpleAnnotation`. */
+ final AnnotName getSimpleAnnotation() { dbscheme_annotation_simple_annotation(this, result) }
+
+ /** Gets a field or child node of this node. */
+ final override AstNode getAFieldOrChild() {
+ dbscheme_annotation_args_annotation(this, result) or
+ dbscheme_annotation_simple_annotation(this, result)
+ }
+ }
+
+ /** A class representing `argsAnnotation` nodes. */
+ class ArgsAnnotation extends @dbscheme_args_annotation, AstNode {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "ArgsAnnotation" }
+
+ /** Gets the node corresponding to the field `name`. */
+ final AnnotName getName() { dbscheme_args_annotation_def(this, result) }
+
+ /** Gets the `i`th child of this node. */
+ final SimpleId getChild(int i) { dbscheme_args_annotation_child(this, i, result) }
+
+ /** Gets a field or child node of this node. */
+ final override AstNode getAFieldOrChild() {
+ dbscheme_args_annotation_def(this, result) or dbscheme_args_annotation_child(this, _, result)
+ }
+ }
+
+ /** A class representing `block_comment` tokens. */
+ class BlockComment extends @dbscheme_token_block_comment, Token {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "BlockComment" }
+ }
+
+ /** A class representing `boolean` tokens. */
+ class Boolean extends @dbscheme_token_boolean, Token {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "Boolean" }
+ }
+
+ /** A class representing `branch` nodes. */
+ class Branch extends @dbscheme_branch, AstNode {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "Branch" }
+
+ /** Gets the node corresponding to the field `qldoc`. */
+ final Qldoc getQldoc() { dbscheme_branch_qldoc(this, result) }
+
+ /** Gets the `i`th child of this node. */
+ final AstNode getChild(int i) { dbscheme_branch_child(this, i, result) }
+
+ /** Gets a field or child node of this node. */
+ final override AstNode getAFieldOrChild() {
+ dbscheme_branch_qldoc(this, result) or dbscheme_branch_child(this, _, result)
+ }
+ }
+
+ /** A class representing `caseDecl` nodes. */
+ class CaseDecl extends @dbscheme_case_decl, AstNode {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "CaseDecl" }
+
+ /** Gets the node corresponding to the field `base`. */
+ final Dbtype getBase() { dbscheme_case_decl_def(this, result, _) }
+
+ /** Gets the node corresponding to the field `discriminator`. */
+ final SimpleId getDiscriminator() { dbscheme_case_decl_def(this, _, result) }
+
+ /** Gets the `i`th child of this node. */
+ final Branch getChild(int i) { dbscheme_case_decl_child(this, i, result) }
+
+ /** Gets a field or child node of this node. */
+ final override AstNode getAFieldOrChild() {
+ dbscheme_case_decl_def(this, result, _) or
+ dbscheme_case_decl_def(this, _, result) or
+ dbscheme_case_decl_child(this, _, result)
+ }
+ }
+
+ /** A class representing `colType` nodes. */
+ class ColType extends @dbscheme_col_type, AstNode {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "ColType" }
+
+ /** Gets the child of this node. */
+ final AstNode getChild() { dbscheme_col_type_def(this, result) }
+
+ /** Gets a field or child node of this node. */
+ final override AstNode getAFieldOrChild() { dbscheme_col_type_def(this, result) }
+ }
+
+ /** A class representing `column` nodes. */
+ class Column extends @dbscheme_column, AstNode {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "Column" }
+
+ /** Gets the node corresponding to the field `colName`. */
+ final SimpleId getColName() { dbscheme_column_def(this, result, _, _) }
+
+ /** Gets the node corresponding to the field `colType`. */
+ final ColType getColType() { dbscheme_column_def(this, _, result, _) }
+
+ /** Gets the node corresponding to the field `isRef`. */
+ final Ref getIsRef() { dbscheme_column_is_ref(this, result) }
+
+ /** Gets the node corresponding to the field `isUnique`. */
+ final Unique getIsUnique() { dbscheme_column_is_unique(this, result) }
+
+ /** Gets the node corresponding to the field `qldoc`. */
+ final Qldoc getQldoc() { dbscheme_column_qldoc(this, result) }
+
+ /** Gets the node corresponding to the field `reprType`. */
+ final ReprType getReprType() { dbscheme_column_def(this, _, _, result) }
+
+ /** Gets a field or child node of this node. */
+ final override AstNode getAFieldOrChild() {
+ dbscheme_column_def(this, result, _, _) or
+ dbscheme_column_def(this, _, result, _) or
+ dbscheme_column_is_ref(this, result) or
+ dbscheme_column_is_unique(this, result) or
+ dbscheme_column_qldoc(this, result) or
+ dbscheme_column_def(this, _, _, result)
+ }
+ }
+
+ /** A class representing `date` tokens. */
+ class Date extends @dbscheme_token_date, Token {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "Date" }
+ }
+
+ /** A class representing `dbscheme` nodes. */
+ class Dbscheme extends @dbscheme_dbscheme, AstNode {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "Dbscheme" }
+
+ /** Gets the `i`th child of this node. */
+ final Entry getChild(int i) { dbscheme_dbscheme_child(this, i, result) }
+
+ /** Gets a field or child node of this node. */
+ final override AstNode getAFieldOrChild() { dbscheme_dbscheme_child(this, _, result) }
+ }
+
+ /** A class representing `dbtype` tokens. */
+ class Dbtype extends @dbscheme_token_dbtype, Token {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "Dbtype" }
+ }
+
+ /** A class representing `entry` nodes. */
+ class Entry extends @dbscheme_entry, AstNode {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "Entry" }
+
+ /** Gets the child of this node. */
+ final AstNode getChild() { dbscheme_entry_def(this, result) }
+
+ /** Gets a field or child node of this node. */
+ final override AstNode getAFieldOrChild() { dbscheme_entry_def(this, result) }
+ }
+
+ /** A class representing `float` tokens. */
+ class Float extends @dbscheme_token_float, Token {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "Float" }
+ }
+
+ /** A class representing `int` tokens. */
+ class Int extends @dbscheme_token_int, Token {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "Int" }
+ }
+
+ /** A class representing `integer` tokens. */
+ class Integer extends @dbscheme_token_integer, Token {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "Integer" }
+ }
+
+ /** A class representing `line_comment` tokens. */
+ class LineComment extends @dbscheme_token_line_comment, Token {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "LineComment" }
+ }
+
+ /** A class representing `qldoc` tokens. */
+ class Qldoc extends @dbscheme_token_qldoc, Token {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "Qldoc" }
+ }
+
+ /** A class representing `ref` tokens. */
+ class Ref extends @dbscheme_token_ref, Token {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "Ref" }
+ }
+
+ /** A class representing `reprType` nodes. */
+ class ReprType extends @dbscheme_repr_type, AstNode {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "ReprType" }
+
+ /** Gets the `i`th child of this node. */
+ final AstNode getChild(int i) { dbscheme_repr_type_child(this, i, result) }
+
+ /** Gets a field or child node of this node. */
+ final override AstNode getAFieldOrChild() { dbscheme_repr_type_child(this, _, result) }
+ }
+
+ /** A class representing `simpleId` tokens. */
+ class SimpleId extends @dbscheme_token_simple_id, Token {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "SimpleId" }
+ }
+
+ /** A class representing `string` tokens. */
+ class String extends @dbscheme_token_string, Token {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "String" }
+ }
+
+ /** A class representing `table` nodes. */
+ class Table extends @dbscheme_table, AstNode {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "Table" }
+
+ /** Gets the node corresponding to the field `tableName`. */
+ final TableName getTableName() { dbscheme_table_def(this, result) }
+
+ /** Gets the `i`th child of this node. */
+ final AstNode getChild(int i) { dbscheme_table_child(this, i, result) }
+
+ /** Gets a field or child node of this node. */
+ final override AstNode getAFieldOrChild() {
+ dbscheme_table_def(this, result) or dbscheme_table_child(this, _, result)
+ }
+ }
+
+ /** A class representing `tableName` nodes. */
+ class TableName extends @dbscheme_table_name, AstNode {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "TableName" }
+
+ /** Gets the child of this node. */
+ final SimpleId getChild() { dbscheme_table_name_def(this, result) }
+
+ /** Gets a field or child node of this node. */
+ final override AstNode getAFieldOrChild() { dbscheme_table_name_def(this, result) }
+ }
+
+ /** A class representing `unionDecl` nodes. */
+ class UnionDecl extends @dbscheme_union_decl, AstNode {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "UnionDecl" }
+
+ /** Gets the node corresponding to the field `base`. */
+ final Dbtype getBase() { dbscheme_union_decl_def(this, result) }
+
+ /** Gets the `i`th child of this node. */
+ final Dbtype getChild(int i) { dbscheme_union_decl_child(this, i, result) }
+
+ /** Gets a field or child node of this node. */
+ final override AstNode getAFieldOrChild() {
+ dbscheme_union_decl_def(this, result) or dbscheme_union_decl_child(this, _, result)
+ }
+ }
+
+ /** A class representing `unique` tokens. */
+ class Unique extends @dbscheme_token_unique, Token {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "Unique" }
+ }
+
+ /** A class representing `varchar` tokens. */
+ class Varchar extends @dbscheme_token_varchar, Token {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "Varchar" }
+ }
+}
+
+module Yaml {
+ /** The base class for all AST nodes */
+ class AstNode extends @yaml_ast_node {
+ /** Gets a string representation of this element. */
+ string toString() { result = this.getAPrimaryQlClass() }
+
+ /** Gets the location of this element. */
+ final L::Location getLocation() { yaml_ast_node_info(this, _, _, result) }
+
+ /** Gets the parent of this element. */
+ final AstNode getParent() { yaml_ast_node_info(this, result, _, _) }
+
+ /** Gets the index of this node among the children of its parent. */
+ final int getParentIndex() { yaml_ast_node_info(this, _, result, _) }
+
+ /** Gets a field or child node of this node. */
+ AstNode getAFieldOrChild() { none() }
+
+ /** Gets the name of the primary QL class for this element. */
+ string getAPrimaryQlClass() { result = "???" }
+
+ /** Gets a comma-separated list of the names of the primary CodeQL classes to which this element belongs. */
+ string getPrimaryQlClasses() { result = concat(this.getAPrimaryQlClass(), ",") }
+ }
+
+ /** A token. */
+ class Token extends @yaml_token, AstNode {
+ /** Gets the value of this token. */
+ final string getValue() { yaml_tokeninfo(this, _, result) }
+
+ /** Gets a string representation of this element. */
+ final override string toString() { result = this.getValue() }
+
+ /** Gets the name of the primary QL class for this element. */
+ override string getAPrimaryQlClass() { result = "Token" }
+ }
+
+ /** A reserved word. */
+ class ReservedWord extends @yaml_reserved_word, Token {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "ReservedWord" }
+ }
+
+ /** A class representing `comment` nodes. */
+ class Comment extends @yaml_comment, AstNode {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "Comment" }
+
+ /** Gets the child of this node. */
+ final Value getChild() { yaml_comment_def(this, result) }
+
+ /** Gets a field or child node of this node. */
+ final override AstNode getAFieldOrChild() { yaml_comment_def(this, result) }
+ }
+
+ /** A class representing `entry` nodes. */
+ class Entry extends @yaml_entry, AstNode {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "Entry" }
+
+ /** Gets the child of this node. */
+ final AstNode getChild() { yaml_entry_def(this, result) }
+
+ /** Gets a field or child node of this node. */
+ final override AstNode getAFieldOrChild() { yaml_entry_def(this, result) }
+ }
+
+ /** A class representing `key` nodes. */
+ class Key extends @yaml_key__, AstNode {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "Key" }
+
+ /** Gets the `i`th child of this node. */
+ final AstNode getChild(int i) { yaml_key_child(this, i, result) }
+
+ /** Gets a field or child node of this node. */
+ final override AstNode getAFieldOrChild() { yaml_key_child(this, _, result) }
+ }
+
+ /** A class representing `keyvaluepair` nodes. */
+ class Keyvaluepair extends @yaml_keyvaluepair, AstNode {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "Keyvaluepair" }
+
+ /** Gets the node corresponding to the field `key`. */
+ final Key getKey() { yaml_keyvaluepair_def(this, result, _) }
+
+ /** Gets the node corresponding to the field `value`. */
+ final Value getValue() { yaml_keyvaluepair_def(this, _, result) }
+
+ /** Gets a field or child node of this node. */
+ final override AstNode getAFieldOrChild() {
+ yaml_keyvaluepair_def(this, result, _) or yaml_keyvaluepair_def(this, _, result)
+ }
+ }
+
+ /** A class representing `listitem` nodes. */
+ class Listitem extends @yaml_listitem, AstNode {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "Listitem" }
+
+ /** Gets the child of this node. */
+ final Value getChild() { yaml_listitem_def(this, result) }
+
+ /** Gets a field or child node of this node. */
+ final override AstNode getAFieldOrChild() { yaml_listitem_def(this, result) }
+ }
+
+ /** A class representing `simpleId` tokens. */
+ class SimpleId extends @yaml_token_simple_id, Token {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "SimpleId" }
+ }
+
+ /** A class representing `value` tokens. */
+ class Value extends @yaml_token_value, Token {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "Value" }
+ }
+
+ /** A class representing `yaml` nodes. */
+ class Yaml extends @yaml_yaml, AstNode {
+ /** Gets the name of the primary QL class for this element. */
+ final override string getAPrimaryQlClass() { result = "Yaml" }
+
+ /** Gets the `i`th child of this node. */
+ final Entry getChild(int i) { yaml_yaml_child(this, i, result) }
+
+ /** Gets a field or child node of this node. */
+ final override AstNode getAFieldOrChild() { yaml_yaml_child(this, _, result) }
+ }
+}
diff --git a/ql/ql/src/ql.dbscheme b/ql/ql/src/ql.dbscheme
index 671a012d70d..25c48c84696 100644
--- a/ql/ql/src/ql.dbscheme
+++ b/ql/ql/src/ql.dbscheme
@@ -935,3 +935,261 @@ ql_ast_node_info(
int loc: @location ref
);
+dbscheme_annotation_args_annotation(
+ unique int dbscheme_annotation: @dbscheme_annotation ref,
+ unique int args_annotation: @dbscheme_args_annotation ref
+);
+
+dbscheme_annotation_simple_annotation(
+ unique int dbscheme_annotation: @dbscheme_annotation ref,
+ unique int simple_annotation: @dbscheme_token_annot_name ref
+);
+
+dbscheme_annotation_def(
+ unique int id: @dbscheme_annotation
+);
+
+#keyset[dbscheme_args_annotation, index]
+dbscheme_args_annotation_child(
+ int dbscheme_args_annotation: @dbscheme_args_annotation ref,
+ int index: int ref,
+ unique int child: @dbscheme_token_simple_id ref
+);
+
+dbscheme_args_annotation_def(
+ unique int id: @dbscheme_args_annotation,
+ int name: @dbscheme_token_annot_name ref
+);
+
+dbscheme_branch_qldoc(
+ unique int dbscheme_branch: @dbscheme_branch ref,
+ unique int qldoc: @dbscheme_token_qldoc ref
+);
+
+@dbscheme_branch_child_type = @dbscheme_token_dbtype | @dbscheme_token_integer
+
+#keyset[dbscheme_branch, index]
+dbscheme_branch_child(
+ int dbscheme_branch: @dbscheme_branch ref,
+ int index: int ref,
+ unique int child: @dbscheme_branch_child_type ref
+);
+
+dbscheme_branch_def(
+ unique int id: @dbscheme_branch
+);
+
+#keyset[dbscheme_case_decl, index]
+dbscheme_case_decl_child(
+ int dbscheme_case_decl: @dbscheme_case_decl ref,
+ int index: int ref,
+ unique int child: @dbscheme_branch ref
+);
+
+dbscheme_case_decl_def(
+ unique int id: @dbscheme_case_decl,
+ int base: @dbscheme_token_dbtype ref,
+ int discriminator: @dbscheme_token_simple_id ref
+);
+
+@dbscheme_colType_child_type = @dbscheme_token_boolean | @dbscheme_token_date | @dbscheme_token_dbtype | @dbscheme_token_float | @dbscheme_token_int | @dbscheme_token_string
+
+dbscheme_col_type_def(
+ unique int id: @dbscheme_col_type,
+ int child: @dbscheme_colType_child_type ref
+);
+
+dbscheme_column_is_ref(
+ unique int dbscheme_column: @dbscheme_column ref,
+ unique int is_ref: @dbscheme_token_ref ref
+);
+
+dbscheme_column_is_unique(
+ unique int dbscheme_column: @dbscheme_column ref,
+ unique int is_unique: @dbscheme_token_unique ref
+);
+
+dbscheme_column_qldoc(
+ unique int dbscheme_column: @dbscheme_column ref,
+ unique int qldoc: @dbscheme_token_qldoc ref
+);
+
+dbscheme_column_def(
+ unique int id: @dbscheme_column,
+ int col_name: @dbscheme_token_simple_id ref,
+ int col_type: @dbscheme_col_type ref,
+ int repr_type: @dbscheme_repr_type ref
+);
+
+#keyset[dbscheme_dbscheme, index]
+dbscheme_dbscheme_child(
+ int dbscheme_dbscheme: @dbscheme_dbscheme ref,
+ int index: int ref,
+ unique int child: @dbscheme_entry ref
+);
+
+dbscheme_dbscheme_def(
+ unique int id: @dbscheme_dbscheme
+);
+
+@dbscheme_entry_child_type = @dbscheme_case_decl | @dbscheme_table | @dbscheme_token_qldoc | @dbscheme_union_decl
+
+dbscheme_entry_def(
+ unique int id: @dbscheme_entry,
+ int child: @dbscheme_entry_child_type ref
+);
+
+@dbscheme_reprType_child_type = @dbscheme_token_boolean | @dbscheme_token_date | @dbscheme_token_float | @dbscheme_token_int | @dbscheme_token_integer | @dbscheme_token_string | @dbscheme_token_varchar
+
+#keyset[dbscheme_repr_type, index]
+dbscheme_repr_type_child(
+ int dbscheme_repr_type: @dbscheme_repr_type ref,
+ int index: int ref,
+ unique int child: @dbscheme_reprType_child_type ref
+);
+
+dbscheme_repr_type_def(
+ unique int id: @dbscheme_repr_type
+);
+
+@dbscheme_table_child_type = @dbscheme_annotation | @dbscheme_column
+
+#keyset[dbscheme_table, index]
+dbscheme_table_child(
+ int dbscheme_table: @dbscheme_table ref,
+ int index: int ref,
+ unique int child: @dbscheme_table_child_type ref
+);
+
+dbscheme_table_def(
+ unique int id: @dbscheme_table,
+ int table_name: @dbscheme_table_name ref
+);
+
+dbscheme_table_name_def(
+ unique int id: @dbscheme_table_name,
+ int child: @dbscheme_token_simple_id ref
+);
+
+#keyset[dbscheme_union_decl, index]
+dbscheme_union_decl_child(
+ int dbscheme_union_decl: @dbscheme_union_decl ref,
+ int index: int ref,
+ unique int child: @dbscheme_token_dbtype ref
+);
+
+dbscheme_union_decl_def(
+ unique int id: @dbscheme_union_decl,
+ int base: @dbscheme_token_dbtype ref
+);
+
+dbscheme_tokeninfo(
+ unique int id: @dbscheme_token,
+ int kind: int ref,
+ string value: string ref
+);
+
+case @dbscheme_token.kind of
+ 0 = @dbscheme_reserved_word
+| 1 = @dbscheme_token_annot_name
+| 2 = @dbscheme_token_block_comment
+| 3 = @dbscheme_token_boolean
+| 4 = @dbscheme_token_date
+| 5 = @dbscheme_token_dbtype
+| 6 = @dbscheme_token_float
+| 7 = @dbscheme_token_int
+| 8 = @dbscheme_token_integer
+| 9 = @dbscheme_token_line_comment
+| 10 = @dbscheme_token_qldoc
+| 11 = @dbscheme_token_ref
+| 12 = @dbscheme_token_simple_id
+| 13 = @dbscheme_token_string
+| 14 = @dbscheme_token_unique
+| 15 = @dbscheme_token_varchar
+;
+
+
+@dbscheme_ast_node = @dbscheme_annotation | @dbscheme_args_annotation | @dbscheme_branch | @dbscheme_case_decl | @dbscheme_col_type | @dbscheme_column | @dbscheme_dbscheme | @dbscheme_entry | @dbscheme_repr_type | @dbscheme_table | @dbscheme_table_name | @dbscheme_token | @dbscheme_union_decl
+
+@dbscheme_ast_node_parent = @dbscheme_ast_node | @file
+
+#keyset[parent, parent_index]
+dbscheme_ast_node_info(
+ unique int node: @dbscheme_ast_node ref,
+ int parent: @dbscheme_ast_node_parent ref,
+ int parent_index: int ref,
+ int loc: @location ref
+);
+
+yaml_comment_def(
+ unique int id: @yaml_comment,
+ int child: @yaml_token_value ref
+);
+
+@yaml_entry_child_type = @yaml_comment | @yaml_keyvaluepair | @yaml_listitem
+
+yaml_entry_def(
+ unique int id: @yaml_entry,
+ int child: @yaml_entry_child_type ref
+);
+
+@yaml_key_child_type = @yaml_key__ | @yaml_token_simple_id
+
+#keyset[yaml_key__, index]
+yaml_key_child(
+ int yaml_key__: @yaml_key__ ref,
+ int index: int ref,
+ unique int child: @yaml_key_child_type ref
+);
+
+yaml_key_def(
+ unique int id: @yaml_key__
+);
+
+yaml_keyvaluepair_def(
+ unique int id: @yaml_keyvaluepair,
+ int key__: @yaml_key__ ref,
+ int value: @yaml_token_value ref
+);
+
+yaml_listitem_def(
+ unique int id: @yaml_listitem,
+ int child: @yaml_token_value ref
+);
+
+#keyset[yaml_yaml, index]
+yaml_yaml_child(
+ int yaml_yaml: @yaml_yaml ref,
+ int index: int ref,
+ unique int child: @yaml_entry ref
+);
+
+yaml_yaml_def(
+ unique int id: @yaml_yaml
+);
+
+yaml_tokeninfo(
+ unique int id: @yaml_token,
+ int kind: int ref,
+ string value: string ref
+);
+
+case @yaml_token.kind of
+ 0 = @yaml_reserved_word
+| 1 = @yaml_token_simple_id
+| 2 = @yaml_token_value
+;
+
+
+@yaml_ast_node = @yaml_comment | @yaml_entry | @yaml_key__ | @yaml_keyvaluepair | @yaml_listitem | @yaml_token | @yaml_yaml
+
+@yaml_ast_node_parent = @file | @yaml_ast_node
+
+#keyset[parent, parent_index]
+yaml_ast_node_info(
+ unique int node: @yaml_ast_node ref,
+ int parent: @yaml_ast_node_parent ref,
+ int parent_index: int ref,
+ int loc: @location ref
+);
+
From 66a191e4b5e49783bd15b91f9fc434bbaf82773f Mon Sep 17 00:00:00 2001
From: Taus
Date: Fri, 22 Jul 2022 14:55:22 +0000
Subject: [PATCH 111/600] QL: Update extractor
---
ql/Cargo.lock | Bin 15249 -> 15464 bytes
ql/extractor/Cargo.toml | 4 +-
ql/extractor/src/main.rs | 46 ++++++++++++++----
ql/ql/src/codeql_ql/ast/Ast.qll | 34 +++++++------
ql/ql/src/codeql_ql/ast/internal/AstNodes.qll | 21 ++++----
5 files changed, 69 insertions(+), 36 deletions(-)
diff --git a/ql/Cargo.lock b/ql/Cargo.lock
index 44a17253681a34c9ed28a17c719e68701e224fa7..db9b8574d7c31afeef0ad1e05398d534589824a0 100644
GIT binary patch
delta 3185
zcmb7`OQ_vf6~;L?5ATg8tueVbY0@-Jnzk`by4Tu|wKvk9Q>g<*=)DP8bzs?#wQC>`
z$)hR=CPPKgxH}dcIS{4c4#YwSjvQFfR3{mV69-N@P*4&4{wJ|0I8aDJa?i=$Yp?J7
zerw(N>L0)M)~=mn{p5wY3o#llxscRSO|4$MreeJ9j#M~j8%ociNcUc?=hS<4mI9R|
zJ&)h)-WWgK`MdG+Q=1F!y>kwUrPxxU^yHIoK`4bR#wFVWONf$%8vZm5UuDPD+U{c|
z!eNKDKfZgmGJd&pYwn#XEtVR|G#jI@L31KyL(v-UA)@Ha#3>i6F?P!~Ce>uc;7M)V
zcI)H2`&P&O)im?trQNU0T{WCt6N;3KNtF`U?xHXUZxi`odkZ-_T#1KNgU5*BP_wHj
z*pFLo11ElDyt8L@``xwA&c^%uHWx-(NiDfrn&lA5if~OK*4o&ol+^c_mAShf8xio;f)_w)f!p
z&NJudwv!PERzmI-3cB9N)?B^sYC;PY?N6P!xk7j-&gL4VnIu6XmGR{4(73nv(9BJ3
zUi8StbXQq&OFb4G260SmF>=fJELCd=rPs)@H=B)VhAA}erSu-A5?8NP%ROJevHjzH
z$7XlFzd0wo6t^{Jyg`-9aE&8!>aSNs3I;?Ipc
zM>pr(dRNa-kOjWdU{H%M;u(TE9GwiLsBEl@v6N<%yQ0uq#Q6}GkG^`~Z#(=syR0*G
zU&SNxcpOxUy;tfaaA|6V#X={twxS;fB?oeiak*t5L~N}UW?kRWF6o%992uWj|N7X!
zwz;6B!Fdi^8k`x~P7P=EMpJIarr>k-a4bUN;0fm){t_qYG%}
z1;rd%QELQ9fP1VKV`|atas^I8u*P?vr*3o@0Lu3&_@%9Z7D~e$ipyN8$&%IP%AH6o
zfp_<3ddixkfLX6@1nam0&7mm@9)t0S6r#j~+e(Q$vYGYk(MO)G5^g$U>Mj
zBix7{BVrK@%Wy|w(j3)!Tn7beNWIkDWqRb^n^!K@t4+^dY}>MN=Dbbp
znoO5LVJOIiNI{cAzVw7Vix~K(60V}2q_*NS*j$sfSthQ1b9vG$3--YH^l1$(Hy2$Z
zWHu#k1#<;-0)t~gI$Sa_Bft(OYDBmUAhms&j;Eh^VO)PAtb}DU7Opxi0Ira@5^I3W
z!8_;{7$`@px^{rZ2?kkgEn4^+|BRSAJs~TTlef2ye`fZt1mkN`U~(luI#9~C1`7r`
z4?n9hKm)W8SfE6FZ~Asu?L~?Y?A#IvpFDA3eDCPi0ulzaC}X-LFh9jEIfBx7jB~`f
zW#b*1A~qlqV$n)=Ac1rfI3&M3>>nrYKk(kX*XVu5pp+C)W3?dxcrlm`T!8|F+aiGi
zRVu6t@_^ySA&bJcm~rco_3@3TUViB0Fxi9y#(L^%3uYa`E#9Qmftdy$GN|;9?%1zjF^FB5H8Qv7j!Nt0EgcS^Eash^A2N`eYXiU
z<3?-_%S3E{>FIN`@q>-?*d3Z_pcXPNEn)t~fFDuA(vh)AAfgC8&^jH10fi=&(CgGQ
zd?~kSci0&I+4ojbT#~LLE{e&UjB5xC+bY-*2nmt~xC~fu0fbvEyW%L@cL~WjtdiqaqHCMu5VI8YvR$XQz;%G1i%ry&%zkb0a{p&a~{>^9hjc+}FVTB%aIlvaM`c!fzfWu*EB0(u*G6tA~twPa|
zeZ_QvBOS-!u`|MT1&vw;{p6MF7hk)f*Dfz>znpK>FYC4I|G8mp|H!<#GNJg3|2K+H
z{?E+5?LIelVSCtn^w{{kyD+}(&yK~>wefrR>a$%1YGd#0)*FwATg>r}0AN+dit7Oq
zsOAf7^XmAS|Ld;h6uEOdF9^Fam5lWjI}la_EER0YFe1YVa7WUO0Nmhda2O5EWU$15
zQjCd>Bu?46EUV+K@XqQ7%KmnLc@Y~Gq-w5V1F{Yxz`2S^3_quwfCJHKpiiS+Lp4TV
ScGyfI8F)OcAKM`Mj(-9IpOVl3
delta 3128
zcma)8&x_qx73a+~F_~#X6Ei>Br1>#POaqzpp8Mx)DKV0zwxSz4zRE?2xvR
zB&}^%c4!)vmrIby13q;*xgTIvW$b>(R2N
z;-fF)#EG@>)5ji8>}=eYwI!3|nnN!prs%t&V~-k>sHCQ$7~hPsDVbn=
z3VmFdtnXbtys$79p4;AHm&9h%wDgj^3Q3_*S{90_ndGVog~@m7+FDD!l~N<8CN?#j
z+<5Q!+W5=kN5&^d@?`(ECiZ5z6SGomF{n`^II|^(Hznp+q=(j`ujFk=HCW9a{}H@u
z)sMfftc(XsE93XeNA?~beQ7dI9^KjMVr(~=N{P;QE3UNSi_12r+*uq^jO@CaA~PVY
zv)*NsePdTy+ap7lo_wvm`_9+y+%0!^W#ih?`Hk26>$gV6a(SFNwz3!xw9tW_
zR}%51J69_Z58PX5p@gokf(&cf8P`G%DN^gzLKo7-_v{1DweY)R>-$=mQja;Mo-%{E
zEZ|qYtDZ}+Ss*T}twT+$x#77~7^e@E6dF_sP7iQ7_JlaA<<8wX90E7bO;fNwX!1pKoOwb*v&POO@42S9@78wepP1+8_Ahw`dCy4(>P
z=e>_PL{)VP{kLcsF+n|WTSi>1wIKK
zR%N3ZV5Dk68zh2TKoHIQ?7f>$`^Wm31-Fl%1=tiG9l
z>sOt3A^{2AtqEj6RRI~sK}cPbbb>sAsk=I#@ZHnrCZlfbOkJu1$;1-Wc6>N=lQIId
zCcpzX+7NLCn2pF+?ZUN_H3-q};1Uz&bo}D#@$vPiHxC>K!51kBcJkCPy%v~6TaI2$
zGvp9~(kq5zV(tQ9f)>ahiDY8SGf}UOUoJmBw$8qCFcR&9ry@C1FqU(2I8SRXB&&!U
z#8C~dw;a#|_(=#ksB*?X#Q>7~{FE=8dw%(m^c?S=du}{&^u`tykP7)nTvip85hzFn
zXMh9IWl%l@S%Z#Zp`k$CI_i`RB*ZqMMOOE|dj5-(NtioEea5@cwTF;J5o2Bzo^c&V
zVX1=oNJjJu?txI#T!Ti?gP4|->s&!!+Bh|CtZz?I0KRfC!pR~N#1cV{YOK|ei;`C9
zrM6}e@YbR0l#C~o5_KV;bv|tA;wKBv&eZ*U&51DuUEoZRM%uVnX6wAv$_65!USeS@
z(IJN=HXIHjO`X-4c`reK%_NMh`_@iKu$GA{GDSD
z9x-cuqlhTy8FJ&pO&&kHba*_tyfWT9v@@+z+bj$aGyxqW+y%Hnehv4=5fzb1;DJDl
z4d`8z7S#a57br>Rg510Lx$Bcb$8Mlv1eGt0+>Et)av4T0MVmoP!f6Nrgf^tCJ_Ph2
zIS9>~JWD-5l;`-p_{?v{uP@)&YDH1~rq*b1NDSkOC*#6a#gxuASEQtmk^srE`p`omrS{%|ffh$pX
zluO1^=k&lYA8vl-e;um6V;O=ZYQkc|Y!Z2t5xN68jwr2KP)Jm~!8wUP@hjuU;o3Oscx?M`;`Qd3
zh9l$e{^e(8iHv2=%+Rk$m_!=jOwfS$eP_Z3hUKyx40>_gI(=w-9R4=m=a0rm@yKT(
zx{al`aG~8>Z=C=9`3-a3-n+LmMfTTZ8`?FQf+ewIrgDP!XWlkviM(v8-W1;
diff --git a/ql/extractor/Cargo.toml b/ql/extractor/Cargo.toml
index 69f7457fbad..739b9ecbc4a 100644
--- a/ql/extractor/Cargo.toml
+++ b/ql/extractor/Cargo.toml
@@ -10,7 +10,9 @@ edition = "2018"
flate2 = "1.0"
node-types = { path = "../node-types" }
tree-sitter = "0.19"
-tree-sitter-ql = { git = "https://github.com/erik-krogh/tree-sitter-ql.git", rev = "343cc5873e20510586ade803659ef8ce153bd603" }
+tree-sitter-ql = { git = "https://github.com/tausbn/tree-sitter-ql.git", rev = "2f3fd6f89ca8b2373740d294950a04b9d8e4cdff" }
+tree-sitter-ql-dbscheme = { git = "https://github.com/tausbn/tree-sitter-ql-dbscheme.git"}
+tree-sitter-ql-yaml = {git = "https://github.com/tausbn/tree-sitter-ql.git", rev = "6fe85436702c92b0245d2b91908a12d6b0341f4c"}
clap = "2.33"
tracing = "0.1"
tracing-subscriber = { version = "0.3.3", features = ["env-filter"] }
diff --git a/ql/extractor/src/main.rs b/ql/extractor/src/main.rs
index 9584304c430..3f676435e10 100644
--- a/ql/extractor/src/main.rs
+++ b/ql/extractor/src/main.rs
@@ -85,7 +85,13 @@ fn main() -> std::io::Result<()> {
let file_list = fs::File::open(file_list)?;
let language = tree_sitter_ql::language();
+ let dbscheme = tree_sitter_ql_dbscheme::language();
+ let yaml = tree_sitter_ql_yaml::language();
let schema = node_types::read_node_types_str("ql", tree_sitter_ql::NODE_TYPES)?;
+ let dbscheme_schema =
+ node_types::read_node_types_str("dbscheme", tree_sitter_ql_dbscheme::NODE_TYPES)?;
+ let yaml_schema = node_types::read_node_types_str("yaml", tree_sitter_ql_yaml::NODE_TYPES)?;
+
let lines: std::io::Result> = std::io::BufReader::new(file_list).lines().collect();
let lines = lines?;
lines
@@ -105,15 +111,37 @@ fn main() -> std::io::Result<()> {
let source = std::fs::read(&path)?;
let code_ranges = vec![];
let mut trap_writer = trap::Writer::new();
- extractor::extract(
- language,
- "ql",
- &schema,
- &mut trap_writer,
- &path,
- &source,
- &code_ranges,
- )?;
+ if line.ends_with(".dbscheme") {
+ extractor::extract(
+ dbscheme,
+ "dbscheme",
+ &dbscheme_schema,
+ &mut trap_writer,
+ &path,
+ &source,
+ &code_ranges,
+ )?
+ } else if line.ends_with(".qlpack.yml") {
+ extractor::extract(
+ yaml,
+ "yaml",
+ &yaml_schema,
+ &mut trap_writer,
+ &path,
+ &source,
+ &code_ranges,
+ )?
+ } else {
+ extractor::extract(
+ language,
+ "ql",
+ &schema,
+ &mut trap_writer,
+ &path,
+ &source,
+ &code_ranges,
+ )?
+ }
std::fs::create_dir_all(&src_archive_file.parent().unwrap())?;
std::fs::copy(&path, &src_archive_file)?;
write_trap(&trap_dir, path, &trap_writer, trap_compression)
diff --git a/ql/ql/src/codeql_ql/ast/Ast.qll b/ql/ql/src/codeql_ql/ast/Ast.qll
index 03a26868657..29d892e5d40 100644
--- a/ql/ql/src/codeql_ql/ast/Ast.qll
+++ b/ql/ql/src/codeql_ql/ast/Ast.qll
@@ -32,6 +32,10 @@ class AstNode extends TAstNode {
node = toQL(this) and
result = node.getLocation()
)
+ or
+ result = toGenerateYaml(this).getLocation()
+ or
+ result = toDbscheme(this).getLocation()
}
predicate hasLocationInfo(
@@ -349,7 +353,7 @@ class Predicate extends TPredicate, AstNode, PredicateOrBuiltin, Declaration {
* A relation in the database.
*/
class Relation extends TDBRelation, AstNode, Declaration {
- QL::DbTable table;
+ Dbscheme::Table table;
Relation() { this = TDBRelation(table) }
@@ -358,9 +362,9 @@ class Relation extends TDBRelation, AstNode, Declaration {
*/
override string getName() { result = table.getTableName().getChild().getValue() }
- private QL::DbColumn getColumn(int i) {
+ private Dbscheme::Column getColumn(int i) {
result =
- rank[i + 1](QL::DbColumn column, int child |
+ rank[i + 1](Dbscheme::Column column, int child |
table.getChild(child) = column
|
column order by child
@@ -373,7 +377,7 @@ class Relation extends TDBRelation, AstNode, Declaration {
/** Gets the `i`th parameter type */
string getParameterType(int i) {
// TODO: This is just using the name of the type, not the actual type. Checkout Type.qll
- result = this.getColumn(i).getColType().getChild().(QL::Token).getValue()
+ result = this.getColumn(i).getColType().getChild().(Dbscheme::Token).getValue()
}
/**
@@ -2426,11 +2430,13 @@ module YAML {
class YAMLNode extends TYamlNode, AstNode {
/** Holds if the predicate is a root node (has no parent) */
predicate isRoot() { not exists(this.getParent()) }
+
+ override AstNode getParent() { toGenerateYaml(result) = toGenerateYaml(this).getParent() }
}
/** A YAML comment. */
class YamlComment extends TYamlCommemt, YAMLNode {
- QL::YamlComment yamlcomment;
+ Yaml::Comment yamlcomment;
YamlComment() { this = TYamlCommemt(yamlcomment) }
@@ -2442,23 +2448,23 @@ module YAML {
/** A YAML entry. */
class YamlEntry extends TYamlEntry, YAMLNode {
- QL::YamlEntry yamle;
+ Yaml::Entry yamle;
YamlEntry() { this = TYamlEntry(yamle) }
/** Gets the key of this YAML entry. */
YamlKey getKey() {
- exists(QL::YamlKeyvaluepair pair |
+ exists(Yaml::Keyvaluepair pair |
pair.getParent() = yamle and
result = TYamlKey(pair.getKey())
)
}
- YamlListItem getListItem() { toQL(result).getParent() = yamle }
+ YamlListItem getListItem() { toGenerateYaml(result).getParent() = yamle }
/** Gets the value of this YAML entry. */
YAMLValue getValue() {
- exists(QL::YamlKeyvaluepair pair |
+ exists(Yaml::Keyvaluepair pair |
pair.getParent() = yamle and
result = TYamlValue(pair.getValue())
)
@@ -2472,7 +2478,7 @@ module YAML {
/** A YAML key. */
class YamlKey extends TYamlKey, YAMLNode {
- QL::YamlKey yamlkey;
+ Yaml::Key yamlkey;
YamlKey() { this = TYamlKey(yamlkey) }
@@ -2480,7 +2486,7 @@ module YAML {
* Gets the value of this YAML key.
*/
YAMLValue getValue() {
- exists(QL::YamlKeyvaluepair pair |
+ exists(Yaml::Keyvaluepair pair |
pair.getKey() = yamlkey and result = TYamlValue(pair.getValue())
)
}
@@ -2489,7 +2495,7 @@ module YAML {
/** Gets the value of this YAML value. */
string getNamePart(int i) {
- i = 0 and result = yamlkey.getChild(0).(QL::SimpleId).getValue()
+ i = 0 and result = yamlkey.getChild(0).(Yaml::SimpleId).getValue()
or
exists(YamlKey child |
child = TYamlKey(yamlkey.getChild(1)) and
@@ -2511,7 +2517,7 @@ module YAML {
/** A YAML list item. */
class YamlListItem extends TYamlListitem, YAMLNode {
- QL::YamlListitem yamllistitem;
+ Yaml::Listitem yamllistitem;
YamlListItem() { this = TYamlListitem(yamllistitem) }
@@ -2528,7 +2534,7 @@ module YAML {
/** A YAML value. */
class YAMLValue extends TYamlValue, YAMLNode {
- QL::YamlValue yamlvalue;
+ Yaml::Value yamlvalue;
YAMLValue() { this = TYamlValue(yamlvalue) }
diff --git a/ql/ql/src/codeql_ql/ast/internal/AstNodes.qll b/ql/ql/src/codeql_ql/ast/internal/AstNodes.qll
index ce5cd352dd8..3d17c7d6bc2 100644
--- a/ql/ql/src/codeql_ql/ast/internal/AstNodes.qll
+++ b/ql/ql/src/codeql_ql/ast/internal/AstNodes.qll
@@ -14,7 +14,7 @@ newtype TAstNode =
TClass(QL::Dataclass dc) or
TCharPred(QL::Charpred pred) or
TClassPredicate(QL::MemberPredicate pred) or
- TDBRelation(QL::DbTable table) or
+ TDBRelation(Dbscheme::Table table) or
TSelect(QL::Select sel) or
TModule(QL::Module mod) or
TNewType(QL::Datatype dt) or
@@ -60,11 +60,11 @@ newtype TAstNode =
TPredicateExpr(QL::PredicateExpr pe) or
TAnnotation(QL::Annotation annot) or
TAnnotationArg(QL::AnnotArg arg) or
- TYamlCommemt(QL::YamlComment yc) or
- TYamlEntry(QL::YamlEntry ye) or
- TYamlKey(QL::YamlKey yk) or
- TYamlListitem(QL::YamlListitem yli) or
- TYamlValue(QL::YamlValue yv) or
+ TYamlCommemt(Yaml::Comment yc) or
+ TYamlEntry(Yaml::Entry ye) or
+ TYamlKey(Yaml::Key yk) or
+ TYamlListitem(Yaml::Listitem yli) or
+ TYamlValue(Yaml::Value yv) or
TBuiltinClassless(string ret, string name, string args) { isBuiltinClassless(ret, name, args) } or
TBuiltinMember(string qual, string ret, string name, string args) {
isBuiltinMember(qual, ret, name, args)
@@ -124,7 +124,7 @@ private QL::AstNode toQLExpr(AST::AstNode n) {
n = TDontCare(result)
}
-private QL::AstNode toGenerateYaml(AST::AstNode n) {
+Yaml::AstNode toGenerateYaml(AST::AstNode n) {
n = TYamlCommemt(result) or
n = TYamlEntry(result) or
n = TYamlKey(result) or
@@ -132,6 +132,8 @@ private QL::AstNode toGenerateYaml(AST::AstNode n) {
n = TYamlValue(result)
}
+Dbscheme::AstNode toDbscheme(AST::AstNode n) { n = TDBRelation(result) }
+
/**
* Gets the underlying TreeSitter entity for a given AST node.
*/
@@ -141,8 +143,6 @@ QL::AstNode toQL(AST::AstNode n) {
or
result = toQLFormula(n)
or
- result = toGenerateYaml(n)
- or
result.(QL::ParExpr).getChild() = toQL(n)
or
result =
@@ -171,8 +171,6 @@ QL::AstNode toQL(AST::AstNode n) {
or
n = TClassPredicate(result)
or
- n = TDBRelation(result)
- or
n = TSelect(result)
or
n = TModule(result)
@@ -233,7 +231,6 @@ module AstConsistency {
not exists(node.getParent()) and
not node.getLocation().getStartColumn() = 1 and // startcolumn = 1 <=> top level in file <=> fine to have no parent
exists(node.toString()) and // <- there are a few parse errors in "global-data-flow-java-1.ql", this way we filter them out.
- not node instanceof YAML::YAMLNode and // parents for YAML doens't work
not (node instanceof QLDoc and node.getLocation().getFile().getExtension() = "dbscheme") // qldoc in dbschemes are not hooked up
}
From a83bd4292adef5817d6c0a0edbe63cccc2c2caae Mon Sep 17 00:00:00 2001
From: Taus
Date: Fri, 22 Jul 2022 15:15:58 +0000
Subject: [PATCH 112/600] QL: Update `tree-sitter` dependency
---
ql/Cargo.lock | Bin 15464 -> 15509 bytes
ql/extractor/Cargo.toml | 6 +++---
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/ql/Cargo.lock b/ql/Cargo.lock
index db9b8574d7c31afeef0ad1e05398d534589824a0..dd1f41c4d0c5d0c0c4e6b7ecf380a9104dad42a5 100644
GIT binary patch
delta 293
zcmaD+F|~5TL8-|HOxOh!luC+HQ+10oOG;9UbPIDP+e@2F=9E#KtZgbXnOB-qGubl5
zJjEg<)iNzH$=o!}*fPa5DcL+JCCxa|EY;M|)G#T@GRZh8MRW2+PN~Vg(lzKNOja?|
zUId^jQJ+#NwWdj!GXlOOqp1PP}__*?=@S^3IJ^zUitt4
delta 284
zcmbPQ`J!UOK`AjqOFdI19WDi>lA_d9-QvuWlGGyI!pSx=_L@d%#%U>LX%?2ri55vl
z#^%Q6CI%@+mL`^_28jkHNtP)VsV2!OX=$31Ib}>HGx17I?v<{YY%8NUxz<>g5iYuU
zpUi%-$#F8Wfy5f9OsvAmA4Ekb-!K-Pe8yB~vzxIAqefb)xuJo1no)9^v8jQnnPsZ6
vX= 0.19, < 0.21"
+tree-sitter-ql = { git = "https://github.com/tree-sitter/tree-sitter-ql.git"}
tree-sitter-ql-dbscheme = { git = "https://github.com/tausbn/tree-sitter-ql-dbscheme.git"}
-tree-sitter-ql-yaml = {git = "https://github.com/tausbn/tree-sitter-ql.git", rev = "6fe85436702c92b0245d2b91908a12d6b0341f4c"}
+tree-sitter-ql-yaml = {git = "https://github.com/tausbn/tree-sitter-ql.git", rev = "c9d7d8de9fab75f39d5bc7bdf3a6e5151bb9b3bd"}
clap = "2.33"
tracing = "0.1"
tracing-subscriber = { version = "0.3.3", features = ["env-filter"] }
From 41003231b0d945d13ce28b0255ecf166a810ddea Mon Sep 17 00:00:00 2001
From: Taus
Date: Fri, 22 Jul 2022 15:43:26 +0000
Subject: [PATCH 113/600] QL: Actually match `qlpack.yml` files
---
ql/extractor/src/main.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ql/extractor/src/main.rs b/ql/extractor/src/main.rs
index 3f676435e10..45cce6acdd1 100644
--- a/ql/extractor/src/main.rs
+++ b/ql/extractor/src/main.rs
@@ -121,7 +121,7 @@ fn main() -> std::io::Result<()> {
&source,
&code_ranges,
)?
- } else if line.ends_with(".qlpack.yml") {
+ } else if line.ends_with("qlpack.yml") {
extractor::extract(
yaml,
"yaml",
From 1e3306d341a52bf93c534fc60fa063d94de4a912 Mon Sep 17 00:00:00 2001
From: Erik Krogh Kristensen
Date: Mon, 8 Aug 2022 13:11:05 +0200
Subject: [PATCH 114/600] synchronize the version of tree-sitter-ql-yaml across
the Cargo.toml files
---
ql/generator/Cargo.toml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ql/generator/Cargo.toml b/ql/generator/Cargo.toml
index 6f1dc60ea78..28510e96d58 100644
--- a/ql/generator/Cargo.toml
+++ b/ql/generator/Cargo.toml
@@ -13,4 +13,4 @@ tracing = "0.1"
tracing-subscriber = { version = "0.3.3", features = ["env-filter"] }
tree-sitter-ql = { git = "https://github.com/tree-sitter/tree-sitter-ql.git" }
tree-sitter-ql-dbscheme = { git = "https://github.com/tausbn/tree-sitter-ql-dbscheme.git"}
-tree-sitter-ql-yaml = {git = "https://github.com/tausbn/tree-sitter-ql.git", rev = "6fe85436702c92b0245d2b91908a12d6b0341f4c"}
+tree-sitter-ql-yaml = {git = "https://github.com/tausbn/tree-sitter-ql.git", rev = "c9d7d8de9fab75f39d5bc7bdf3a6e5151bb9b3bd"}
From 774ae0e5da42bba9551825a6496268e7eaf5e3c4 Mon Sep 17 00:00:00 2001
From: Erik Krogh Kristensen
Date: Mon, 8 Aug 2022 13:11:51 +0200
Subject: [PATCH 115/600] pin the version of tree-sitter-ql-dbscheme /
tree-sitter-ql
---
ql/extractor/Cargo.toml | 4 ++--
ql/generator/Cargo.toml | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/ql/extractor/Cargo.toml b/ql/extractor/Cargo.toml
index 07b1700a022..b3b5051bd7f 100644
--- a/ql/extractor/Cargo.toml
+++ b/ql/extractor/Cargo.toml
@@ -10,8 +10,8 @@ edition = "2018"
flate2 = "1.0"
node-types = { path = "../node-types" }
tree-sitter = ">= 0.19, < 0.21"
-tree-sitter-ql = { git = "https://github.com/tree-sitter/tree-sitter-ql.git"}
-tree-sitter-ql-dbscheme = { git = "https://github.com/tausbn/tree-sitter-ql-dbscheme.git"}
+tree-sitter-ql = { git = "https://github.com/tree-sitter/tree-sitter-ql.git", rev = "24c72ad09f05982df4085c481d9b02ba9e79e7fc"}
+tree-sitter-ql-dbscheme = { git = "https://github.com/tausbn/tree-sitter-ql-dbscheme.git", rev = "ad0c1485aa1e61b727a986d82c7fab4cd21ca723"}
tree-sitter-ql-yaml = {git = "https://github.com/tausbn/tree-sitter-ql.git", rev = "c9d7d8de9fab75f39d5bc7bdf3a6e5151bb9b3bd"}
clap = "2.33"
tracing = "0.1"
diff --git a/ql/generator/Cargo.toml b/ql/generator/Cargo.toml
index 28510e96d58..32533bd5cf2 100644
--- a/ql/generator/Cargo.toml
+++ b/ql/generator/Cargo.toml
@@ -11,6 +11,6 @@ clap = "2.33"
node-types = { path = "../node-types" }
tracing = "0.1"
tracing-subscriber = { version = "0.3.3", features = ["env-filter"] }
-tree-sitter-ql = { git = "https://github.com/tree-sitter/tree-sitter-ql.git" }
-tree-sitter-ql-dbscheme = { git = "https://github.com/tausbn/tree-sitter-ql-dbscheme.git"}
+tree-sitter-ql = { git = "https://github.com/tree-sitter/tree-sitter-ql.git", rev = "24c72ad09f05982df4085c481d9b02ba9e79e7fc"}
+tree-sitter-ql-dbscheme = { git = "https://github.com/tausbn/tree-sitter-ql-dbscheme.git", rev = "ad0c1485aa1e61b727a986d82c7fab4cd21ca723"}
tree-sitter-ql-yaml = {git = "https://github.com/tausbn/tree-sitter-ql.git", rev = "c9d7d8de9fab75f39d5bc7bdf3a6e5151bb9b3bd"}
From 98f49e08b6bae215fc33f8bd68f46c08c25ae575 Mon Sep 17 00:00:00 2001
From: Erik Krogh Kristensen
Date: Mon, 8 Aug 2022 13:32:52 +0200
Subject: [PATCH 116/600] re-generate bindings in tree-sitter-ql
---
ql/extractor/Cargo.toml | 2 +-
ql/generator/Cargo.toml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/ql/extractor/Cargo.toml b/ql/extractor/Cargo.toml
index b3b5051bd7f..ca68a89a64a 100644
--- a/ql/extractor/Cargo.toml
+++ b/ql/extractor/Cargo.toml
@@ -10,7 +10,7 @@ edition = "2018"
flate2 = "1.0"
node-types = { path = "../node-types" }
tree-sitter = ">= 0.19, < 0.21"
-tree-sitter-ql = { git = "https://github.com/tree-sitter/tree-sitter-ql.git", rev = "24c72ad09f05982df4085c481d9b02ba9e79e7fc"}
+tree-sitter-ql = { git = "https://github.com/erik-krogh/tree-sitter-ql.git", rev = "8d8db63b205d5345d9acbac3a728c1f0fce92fbb"}
tree-sitter-ql-dbscheme = { git = "https://github.com/tausbn/tree-sitter-ql-dbscheme.git", rev = "ad0c1485aa1e61b727a986d82c7fab4cd21ca723"}
tree-sitter-ql-yaml = {git = "https://github.com/tausbn/tree-sitter-ql.git", rev = "c9d7d8de9fab75f39d5bc7bdf3a6e5151bb9b3bd"}
clap = "2.33"
diff --git a/ql/generator/Cargo.toml b/ql/generator/Cargo.toml
index 32533bd5cf2..0125d4cb8ce 100644
--- a/ql/generator/Cargo.toml
+++ b/ql/generator/Cargo.toml
@@ -11,6 +11,6 @@ clap = "2.33"
node-types = { path = "../node-types" }
tracing = "0.1"
tracing-subscriber = { version = "0.3.3", features = ["env-filter"] }
-tree-sitter-ql = { git = "https://github.com/tree-sitter/tree-sitter-ql.git", rev = "24c72ad09f05982df4085c481d9b02ba9e79e7fc"}
+tree-sitter-ql = { git = "https://github.com/erik-krogh/tree-sitter-ql.git", rev = "8d8db63b205d5345d9acbac3a728c1f0fce92fbb"}
tree-sitter-ql-dbscheme = { git = "https://github.com/tausbn/tree-sitter-ql-dbscheme.git", rev = "ad0c1485aa1e61b727a986d82c7fab4cd21ca723"}
tree-sitter-ql-yaml = {git = "https://github.com/tausbn/tree-sitter-ql.git", rev = "c9d7d8de9fab75f39d5bc7bdf3a6e5151bb9b3bd"}
From 82beca67870406f4c72a583c16f4d039ac6752ab Mon Sep 17 00:00:00 2001
From: Erik Krogh Kristensen
Date: Mon, 8 Aug 2022 13:53:03 +0200
Subject: [PATCH 117/600] change the tree-sitter version constaint to ">= 0.20,
< 0.21" throughout the grammars
---
ql/Cargo.lock | Bin 15509 -> 14884 bytes
ql/extractor/Cargo.toml | 8 ++++----
ql/generator/Cargo.toml | 6 +++---
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/ql/Cargo.lock b/ql/Cargo.lock
index dd1f41c4d0c5d0c0c4e6b7ecf380a9104dad42a5..52cde160bde078937b6da149e5b367c5060b03c1 100644
GIT binary patch
delta 452
zcma)&u}Z{16h$#0=*l*WDNItCI{IejWs)geOIs^Di_FZMHLk20gJ9(sSPg!G*1C{>
zD?h@|5J4*oaU0n#)ol*k!+E@WZs&{0f5%5Y7)Jgfp8svPNZz))b3R(Tr>34})8=w=
zw%;~H*-hQH)MVEedy~37Z0PpD8V5|M$|(h<)g~9@DkTw04Xj{7Sf)s7p7sTI2bQjA
zW@%<>{}XQdcQNuo5cy-i<#&>yPZ0WYm~QTHv}u!XC#>&(6L*(6=cu<32)Qv?yz*TT};Msi6dh?3MI
zY%d7*;?Kyx$f#fzgs?Eh44ir9o-^ln{qyAZt~J$WePDeXMN*^Q@
cGw+^V8I0M8P8d`8&h2xPKFjIhsrWVd7hj*vaR2}S
diff --git a/ql/extractor/Cargo.toml b/ql/extractor/Cargo.toml
index ca68a89a64a..74ec4e4e5d1 100644
--- a/ql/extractor/Cargo.toml
+++ b/ql/extractor/Cargo.toml
@@ -9,10 +9,10 @@ edition = "2018"
[dependencies]
flate2 = "1.0"
node-types = { path = "../node-types" }
-tree-sitter = ">= 0.19, < 0.21"
-tree-sitter-ql = { git = "https://github.com/erik-krogh/tree-sitter-ql.git", rev = "8d8db63b205d5345d9acbac3a728c1f0fce92fbb"}
-tree-sitter-ql-dbscheme = { git = "https://github.com/tausbn/tree-sitter-ql-dbscheme.git", rev = "ad0c1485aa1e61b727a986d82c7fab4cd21ca723"}
-tree-sitter-ql-yaml = {git = "https://github.com/tausbn/tree-sitter-ql.git", rev = "c9d7d8de9fab75f39d5bc7bdf3a6e5151bb9b3bd"}
+tree-sitter = ">= 0.20, < 0.21"
+tree-sitter-ql = { git = "https://github.com/erik-krogh/tree-sitter-ql.git", rev = "dcf0139af9908dbc53efa96408b017133d19e6b2"}
+tree-sitter-ql-dbscheme = { git = "https://github.com/erik-krogh/tree-sitter-ql-dbscheme.git", rev = "cecfb9764621e32661a44ee08ce0b0cebf22a85b"}
+tree-sitter-ql-yaml = {git = "https://github.com/erik-krogh/tree-sitter-ql.git", rev = "c40acb02d4910e82354606ec5b422d074be024f3"}
clap = "2.33"
tracing = "0.1"
tracing-subscriber = { version = "0.3.3", features = ["env-filter"] }
diff --git a/ql/generator/Cargo.toml b/ql/generator/Cargo.toml
index 0125d4cb8ce..2bfe144d12a 100644
--- a/ql/generator/Cargo.toml
+++ b/ql/generator/Cargo.toml
@@ -11,6 +11,6 @@ clap = "2.33"
node-types = { path = "../node-types" }
tracing = "0.1"
tracing-subscriber = { version = "0.3.3", features = ["env-filter"] }
-tree-sitter-ql = { git = "https://github.com/erik-krogh/tree-sitter-ql.git", rev = "8d8db63b205d5345d9acbac3a728c1f0fce92fbb"}
-tree-sitter-ql-dbscheme = { git = "https://github.com/tausbn/tree-sitter-ql-dbscheme.git", rev = "ad0c1485aa1e61b727a986d82c7fab4cd21ca723"}
-tree-sitter-ql-yaml = {git = "https://github.com/tausbn/tree-sitter-ql.git", rev = "c9d7d8de9fab75f39d5bc7bdf3a6e5151bb9b3bd"}
+tree-sitter-ql = { git = "https://github.com/erik-krogh/tree-sitter-ql.git", rev = "dcf0139af9908dbc53efa96408b017133d19e6b2"}
+tree-sitter-ql-dbscheme = { git = "https://github.com/erik-krogh/tree-sitter-ql-dbscheme.git", rev = "cecfb9764621e32661a44ee08ce0b0cebf22a85b"}
+tree-sitter-ql-yaml = {git = "https://github.com/erik-krogh/tree-sitter-ql.git", rev = "c40acb02d4910e82354606ec5b422d074be024f3"}
\ No newline at end of file
From 641c6b030065246e1ae6f1f2815191999647f007 Mon Sep 17 00:00:00 2001
From: Erik Krogh Kristensen
Date: Mon, 8 Aug 2022 14:07:14 +0200
Subject: [PATCH 118/600] re-generate bindings in the other grammars
---
ql/Cargo.lock | Bin 14884 -> 14884 bytes
ql/extractor/Cargo.toml | 4 ++--
ql/generator/Cargo.toml | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/ql/Cargo.lock b/ql/Cargo.lock
index 52cde160bde078937b6da149e5b367c5060b03c1..ec32097489c52bf5984cac107aa3919e0158e2c1 100644
GIT binary patch
delta 195
zcmZ2dvZQ3gE2BU&<5WXq6BA=o<1{m4OJl=S3yY+*q-3MC#6+W1bBk0%6C=YUBST|l
zViitas31Byz<5SLnz?~VQkt=uxnZhdBG4S5S?0zjW+rJ#W~PZIDMm?2X{KqGmdeRQ
SDuf!WGuh6RV{@a)Vpag%!8pSJ
delta 195
zcma*fu?>ST5CzaG5(}h{M4RILeLhUX3}gh~ah`w$GJ~76Q5YZ+TV;wg3_$<%wsl*-
zKRnE>>Np4sf=7si!t74joRrM90wpKy&%*Y;UE3UAGgC1oEIbDCjF?zR+>$b|(7@^h
SuCce1@QCkiO5OhC&*cxRnK?B8
diff --git a/ql/extractor/Cargo.toml b/ql/extractor/Cargo.toml
index 74ec4e4e5d1..848685c0bc1 100644
--- a/ql/extractor/Cargo.toml
+++ b/ql/extractor/Cargo.toml
@@ -11,8 +11,8 @@ flate2 = "1.0"
node-types = { path = "../node-types" }
tree-sitter = ">= 0.20, < 0.21"
tree-sitter-ql = { git = "https://github.com/erik-krogh/tree-sitter-ql.git", rev = "dcf0139af9908dbc53efa96408b017133d19e6b2"}
-tree-sitter-ql-dbscheme = { git = "https://github.com/erik-krogh/tree-sitter-ql-dbscheme.git", rev = "cecfb9764621e32661a44ee08ce0b0cebf22a85b"}
-tree-sitter-ql-yaml = {git = "https://github.com/erik-krogh/tree-sitter-ql.git", rev = "c40acb02d4910e82354606ec5b422d074be024f3"}
+tree-sitter-ql-dbscheme = { git = "https://github.com/erik-krogh/tree-sitter-ql-dbscheme.git", rev = "63e1344353f63931e88bfbc2faa2e78e1421b213"}
+tree-sitter-ql-yaml = {git = "https://github.com/erik-krogh/tree-sitter-ql.git", rev = "cf704bf3671e1ae148e173464fb65a4d2bbf5f99"}
clap = "2.33"
tracing = "0.1"
tracing-subscriber = { version = "0.3.3", features = ["env-filter"] }
diff --git a/ql/generator/Cargo.toml b/ql/generator/Cargo.toml
index 2bfe144d12a..e7c9cde5b7e 100644
--- a/ql/generator/Cargo.toml
+++ b/ql/generator/Cargo.toml
@@ -12,5 +12,5 @@ node-types = { path = "../node-types" }
tracing = "0.1"
tracing-subscriber = { version = "0.3.3", features = ["env-filter"] }
tree-sitter-ql = { git = "https://github.com/erik-krogh/tree-sitter-ql.git", rev = "dcf0139af9908dbc53efa96408b017133d19e6b2"}
-tree-sitter-ql-dbscheme = { git = "https://github.com/erik-krogh/tree-sitter-ql-dbscheme.git", rev = "cecfb9764621e32661a44ee08ce0b0cebf22a85b"}
-tree-sitter-ql-yaml = {git = "https://github.com/erik-krogh/tree-sitter-ql.git", rev = "c40acb02d4910e82354606ec5b422d074be024f3"}
\ No newline at end of file
+tree-sitter-ql-dbscheme = { git = "https://github.com/erik-krogh/tree-sitter-ql-dbscheme.git", rev = "63e1344353f63931e88bfbc2faa2e78e1421b213"}
+tree-sitter-ql-yaml = {git = "https://github.com/erik-krogh/tree-sitter-ql.git", rev = "cf704bf3671e1ae148e173464fb65a4d2bbf5f99"}
\ No newline at end of file
From c97001ede772929aed33856f4440a7bc42e63752 Mon Sep 17 00:00:00 2001
From: Erik Krogh Kristensen
Date: Mon, 8 Aug 2022 20:45:30 +0200
Subject: [PATCH 119/600] add support for module instantiations in import
statements. Rework the import resolution logic to reuse the logic from
ModuleExpr
---
ql/Cargo.lock | Bin 14884 -> 14884 bytes
ql/extractor/Cargo.toml | 2 +-
ql/generator/Cargo.toml | 2 +-
ql/ql/src/codeql_ql/ast/Ast.qll | 55 +++-
ql/ql/src/codeql_ql/ast/internal/Module.qll | 118 ++++---
.../src/codeql_ql/ast/internal/Predicate.qll | 1 +
.../src/codeql_ql/ast/internal/TreeSitter.qll | 20 +-
ql/ql/src/codeql_ql/ast/internal/Type.qll | 6 +
ql/ql/src/codeql_ql/style/DeadCodeQuery.qll | 2 +
.../codeql_ql/style/RedundantImportQuery.qll | 1 +
ql/ql/src/ql.dbscheme | 19 +-
.../queries/diagnostics/EmptyConsistencies.ql | 81 +++--
ql/ql/test/modules/Foo.qll | 21 ++
ql/ql/test/modules/test.expected | 7 +
ql/ql/test/modules/test.ql | 3 +
ql/ql/test/printAst/printAst.expected | 310 +++++++++---------
16 files changed, 372 insertions(+), 276 deletions(-)
create mode 100644 ql/ql/test/modules/Foo.qll
create mode 100644 ql/ql/test/modules/test.expected
create mode 100644 ql/ql/test/modules/test.ql
diff --git a/ql/Cargo.lock b/ql/Cargo.lock
index ec32097489c52bf5984cac107aa3919e0158e2c1..74dddd34b5ffe3e806399ea92b7e6e1913ef450d 100644
GIT binary patch
delta 106
zcmZ2dvZQ3gL&HErV?$HZBy$sk6cYmzgH&@9b0hOa%S1Cv3nO!L3j`8
YViitas31Byz}R~7dTGwh-9|In0YRW0nE(I)
delta 105
zcmZ2dvZQ3gL&JcSb3 folder step). */
+ private ContainerOrModule getEnclosingModuleNoFolderStep(ContainerOrModule m) {
+ result = m.getEnclosing() and
+ not (
+ result instanceof Folder_ and
+ m instanceof Folder_
+ )
+ }
+
pragma[noinline]
private predicate resolveModuleRefHelper(TypeRef me, ContainerOrModule enclosing, string name) {
- enclosing = getEnclosingModule(me).getEnclosing*() and
+ // The scope is all enclosing modules, the immidiatly containing folder, not the parent folders.
+ enclosing = getEnclosingModuleNoFolderStep*(getStartModule(me)) and
name = [me.(ModuleExpr).getName(), me.(TypeExpr).getClassName()] and
- (not me instanceof ModuleExpr or not enclosing instanceof Folder_) // module expressions are not imports, so they can't resolve to a file (which is contained in a folder).
+ not exists(me.(ModuleExpr).getQualifier()) and
+ (
+ // module expressions are not imports, so they can't resolve to a file (which is contained in a folder).
+ (not me instanceof ModuleExpr or not enclosing instanceof Folder_)
+ or
+ isInsideImport(me) // unless it actually is an import.
+ )
}
}
@@ -296,7 +332,7 @@ private predicate definesModule(
// import X
exists(Import imp, ContainerOrModule m0 |
container = getEnclosingModule(imp) and
- resolve(imp, m0) and
+ resolveModuleRef(imp.getModuleExpr(), m0) and
not exists(imp.importedAs()) and
definesModule(m0, name, m, true) and
public = getPublicBool(imp)
@@ -306,7 +342,7 @@ private predicate definesModule(
exists(Import imp |
container = getEnclosingModule(imp) and
name = imp.importedAs() and
- resolve(imp, m) and
+ resolveModuleRef(imp.getModuleExpr(), m) and
public = getPublicBool(imp)
)
or
@@ -320,24 +356,6 @@ private predicate definesModule(
}
module ModConsistency {
- query predicate noResolve(Import imp) {
- not resolve(imp, _) and
- not imp.getLocation()
- .getFile()
- .getAbsolutePath()
- .regexpMatch(".*/(test|examples|ql-training|recorded-call-graph-metrics)/.*")
- }
-
- query predicate multipleResolve(Import imp, int c, ContainerOrModule m) {
- c = strictcount(ContainerOrModule m0 | resolve(imp, m0)) and
- c > 1 and
- resolve(imp, m) and
- not imp.getLocation()
- .getFile()
- .getAbsolutePath()
- .regexpMatch(".*/(test|examples|ql-training|recorded-call-graph-metrics)/.*")
- }
-
// This can happen with parameterized modules.
/*
* query predicate multipleResolveModuleRef(ModuleExpr me, int c, ContainerOrModule m) {
@@ -362,4 +380,16 @@ module ModConsistency {
mod instanceof ModuleExpr and
count(mod.(ModuleExpr).getName()) >= 2
}
+
+ query predicate uniqueResolve(Import i) {
+ count(FileOrModule mod |
+ mod = i.getResolvedModule() and
+ // don't count the alias reference, only the resolved.
+ not exists(mod.asModule().getAlias())
+ ) >= 2 and
+ // paramerized modules are not treated nicely, so we ignore them here.
+ not i.getResolvedModule().getEnclosing*().asModule().hasParameter(_, _, _)
+ }
+
+ query predicate noResolve(Import i) { not exists(i.getResolvedModule()) }
}
diff --git a/ql/ql/src/codeql_ql/ast/internal/Predicate.qll b/ql/ql/src/codeql_ql/ast/internal/Predicate.qll
index d419534788b..d0a5cac8534 100644
--- a/ql/ql/src/codeql_ql/ast/internal/Predicate.qll
+++ b/ql/ql/src/codeql_ql/ast/internal/Predicate.qll
@@ -3,6 +3,7 @@ private import Builtins
private import codeql_ql.ast.internal.Module
private import codeql_ql.ast.internal.AstNodes
+pragma[nomagic]
private predicate definesPredicate(
FileOrModule m, string name, int arity, Predicate p, boolean public
) {
diff --git a/ql/ql/src/codeql_ql/ast/internal/TreeSitter.qll b/ql/ql/src/codeql_ql/ast/internal/TreeSitter.qll
index 7f95bbf0dcc..52201bb8b0b 100644
--- a/ql/ql/src/codeql_ql/ast/internal/TreeSitter.qll
+++ b/ql/ql/src/codeql_ql/ast/internal/TreeSitter.qll
@@ -602,15 +602,15 @@ module QL {
/** Gets the name of the primary QL class for this element. */
final override string getAPrimaryQlClass() { result = "ImportModuleExpr" }
- /** Gets the node corresponding to the field `name`. */
- final SimpleId getName(int i) { ql_import_module_expr_name(this, i, result) }
+ /** Gets the node corresponding to the field `qualName`. */
+ final SimpleId getQualName(int i) { ql_import_module_expr_qual_name(this, i, result) }
/** Gets the child of this node. */
- final QualModuleExpr getChild() { ql_import_module_expr_def(this, result) }
+ final ModuleExpr getChild() { ql_import_module_expr_def(this, result) }
/** Gets a field or child node of this node. */
final override AstNode getAFieldOrChild() {
- ql_import_module_expr_name(this, _, result) or ql_import_module_expr_def(this, result)
+ ql_import_module_expr_qual_name(this, _, result) or ql_import_module_expr_def(this, result)
}
}
@@ -956,18 +956,6 @@ module QL {
final override string getAPrimaryQlClass() { result = "Qldoc" }
}
- /** A class representing `qualModuleExpr` nodes. */
- class QualModuleExpr extends @ql_qual_module_expr, AstNode {
- /** Gets the name of the primary QL class for this element. */
- final override string getAPrimaryQlClass() { result = "QualModuleExpr" }
-
- /** Gets the node corresponding to the field `name`. */
- final SimpleId getName(int i) { ql_qual_module_expr_name(this, i, result) }
-
- /** Gets a field or child node of this node. */
- final override AstNode getAFieldOrChild() { ql_qual_module_expr_name(this, _, result) }
- }
-
/** A class representing `qualifiedRhs` nodes. */
class QualifiedRhs extends @ql_qualified_rhs, AstNode {
/** Gets the name of the primary QL class for this element. */
diff --git a/ql/ql/src/codeql_ql/ast/internal/Type.qll b/ql/ql/src/codeql_ql/ast/internal/Type.qll
index 0465162c59f..32dce50d710 100644
--- a/ql/ql/src/codeql_ql/ast/internal/Type.qll
+++ b/ql/ql/src/codeql_ql/ast/internal/Type.qll
@@ -327,6 +327,12 @@ private predicate defines(FileOrModule m, string name, Type t, boolean public) {
public = getPublicBool(ty.getParent())
)
or
+ exists(Module mod | t = TModule(mod) |
+ getEnclosingModule(mod) = m and
+ mod.getName() = name and
+ public = getPublicBool(mod)
+ )
+ or
exists(Class ty | t = TUnion(ty) |
getEnclosingModule(ty) = m and
ty.getName() = name and
diff --git a/ql/ql/src/codeql_ql/style/DeadCodeQuery.qll b/ql/ql/src/codeql_ql/style/DeadCodeQuery.qll
index e2eaff9c5ca..6bb85db2385 100644
--- a/ql/ql/src/codeql_ql/style/DeadCodeQuery.qll
+++ b/ql/ql/src/codeql_ql/style/DeadCodeQuery.qll
@@ -83,6 +83,8 @@ private AstNode aliveStep(AstNode prev) {
//
// The recursive cases.
//
+ result = prev.(Import).getModuleExpr()
+ or
result.getEnclosingPredicate() = prev
or
result = prev.(Call).getTarget()
diff --git a/ql/ql/src/codeql_ql/style/RedundantImportQuery.qll b/ql/ql/src/codeql_ql/style/RedundantImportQuery.qll
index 692884ac318..4cb007aced1 100644
--- a/ql/ql/src/codeql_ql/style/RedundantImportQuery.qll
+++ b/ql/ql/src/codeql_ql/style/RedundantImportQuery.qll
@@ -35,6 +35,7 @@ predicate importsFromSameFolder(Import a, Import b) {
predicate problem(Import imp, Import redundant, string message) {
not exists(imp.importedAs()) and
not exists(redundant.importedAs()) and
+ not exists(imp.getModuleExpr().getQualifier*().getArgument(_)) and // any type-arguments, and we ignore, they might be different.
// skip the top-level language files, they have redundant imports, and that's fine.
not exists(imp.getLocation().getFile().getParentContainer().getFile("qlpack.yml")) and
// skip the DataFlowImpl.qll and similar, they have redundant imports in some copies.
diff --git a/ql/ql/src/ql.dbscheme b/ql/ql/src/ql.dbscheme
index 25c48c84696..43124a32463 100644
--- a/ql/ql/src/ql.dbscheme
+++ b/ql/ql/src/ql.dbscheme
@@ -404,15 +404,15 @@ ql_import_directive_def(
);
#keyset[ql_import_module_expr, index]
-ql_import_module_expr_name(
+ql_import_module_expr_qual_name(
int ql_import_module_expr: @ql_import_module_expr ref,
int index: int ref,
- unique int name: @ql_token_simple_id ref
+ unique int qual_name: @ql_token_simple_id ref
);
ql_import_module_expr_def(
unique int id: @ql_import_module_expr,
- int child: @ql_qual_module_expr ref
+ int child: @ql_module_expr ref
);
@ql_in_expr_left_type = @ql_add_expr | @ql_aggregate | @ql_call_or_unqual_agg_expr | @ql_comp_term | @ql_conjunction | @ql_disjunction | @ql_expr_annotation | @ql_if_term | @ql_implication | @ql_in_expr | @ql_instance_of | @ql_literal | @ql_mul_expr | @ql_negation | @ql_par_expr | @ql_prefix_cast | @ql_qualified_expr | @ql_quantified | @ql_range | @ql_set_literal | @ql_special_call | @ql_super_ref | @ql_unary_expr | @ql_variable
@@ -636,17 +636,6 @@ ql_ql_def(
unique int id: @ql_ql
);
-#keyset[ql_qual_module_expr, index]
-ql_qual_module_expr_name(
- int ql_qual_module_expr: @ql_qual_module_expr ref,
- int index: int ref,
- unique int name: @ql_token_simple_id ref
-);
-
-ql_qual_module_expr_def(
- unique int id: @ql_qual_module_expr
-);
-
ql_qualified_rhs_name(
unique int ql_qualified_rhs: @ql_qualified_rhs ref,
unique int name: @ql_token_predicate_name ref
@@ -923,7 +912,7 @@ case @ql_token.kind of
;
-@ql_ast_node = @ql_add_expr | @ql_aggregate | @ql_annot_arg | @ql_annotation | @ql_arityless_predicate_expr | @ql_as_expr | @ql_as_exprs | @ql_body | @ql_bool | @ql_call_body | @ql_call_or_unqual_agg_expr | @ql_charpred | @ql_class_member | @ql_classless_predicate | @ql_comp_term | @ql_conjunction | @ql_dataclass | @ql_datatype | @ql_datatype_branch | @ql_datatype_branches | @ql_disjunction | @ql_expr_aggregate_body | @ql_expr_annotation | @ql_field | @ql_full_aggregate_body | @ql_higher_order_term | @ql_if_term | @ql_implication | @ql_import_directive | @ql_import_module_expr | @ql_in_expr | @ql_instance_of | @ql_literal | @ql_member_predicate | @ql_module | @ql_module_alias_body | @ql_module_expr | @ql_module_instantiation | @ql_module_member | @ql_module_name | @ql_module_param | @ql_mul_expr | @ql_negation | @ql_order_by | @ql_order_bys | @ql_par_expr | @ql_predicate_alias_body | @ql_predicate_expr | @ql_prefix_cast | @ql_ql | @ql_qual_module_expr | @ql_qualified_expr | @ql_qualified_rhs | @ql_quantified | @ql_range | @ql_select | @ql_set_literal | @ql_signature_expr | @ql_special_call | @ql_super_ref | @ql_token | @ql_type_alias_body | @ql_type_expr | @ql_type_union_body | @ql_unary_expr | @ql_unqual_agg_body | @ql_var_decl | @ql_var_name | @ql_variable
+@ql_ast_node = @ql_add_expr | @ql_aggregate | @ql_annot_arg | @ql_annotation | @ql_arityless_predicate_expr | @ql_as_expr | @ql_as_exprs | @ql_body | @ql_bool | @ql_call_body | @ql_call_or_unqual_agg_expr | @ql_charpred | @ql_class_member | @ql_classless_predicate | @ql_comp_term | @ql_conjunction | @ql_dataclass | @ql_datatype | @ql_datatype_branch | @ql_datatype_branches | @ql_disjunction | @ql_expr_aggregate_body | @ql_expr_annotation | @ql_field | @ql_full_aggregate_body | @ql_higher_order_term | @ql_if_term | @ql_implication | @ql_import_directive | @ql_import_module_expr | @ql_in_expr | @ql_instance_of | @ql_literal | @ql_member_predicate | @ql_module | @ql_module_alias_body | @ql_module_expr | @ql_module_instantiation | @ql_module_member | @ql_module_name | @ql_module_param | @ql_mul_expr | @ql_negation | @ql_order_by | @ql_order_bys | @ql_par_expr | @ql_predicate_alias_body | @ql_predicate_expr | @ql_prefix_cast | @ql_ql | @ql_qualified_expr | @ql_qualified_rhs | @ql_quantified | @ql_range | @ql_select | @ql_set_literal | @ql_signature_expr | @ql_special_call | @ql_super_ref | @ql_token | @ql_type_alias_body | @ql_type_expr | @ql_type_union_body | @ql_unary_expr | @ql_unqual_agg_body | @ql_var_decl | @ql_var_name | @ql_variable
@ql_ast_node_parent = @file | @ql_ast_node
diff --git a/ql/ql/src/queries/diagnostics/EmptyConsistencies.ql b/ql/ql/src/queries/diagnostics/EmptyConsistencies.ql
index 8691aa2168c..b57fffd52ff 100644
--- a/ql/ql/src/queries/diagnostics/EmptyConsistencies.ql
+++ b/ql/ql/src/queries/diagnostics/EmptyConsistencies.ql
@@ -18,37 +18,52 @@ import codeql_ql.ast.internal.AstNodes::AstConsistency as AstConsistency
from AstNode node, string msg
where
- PredConsistency::noResolveCall(node) and msg = "PredConsistency::noResolveCall"
- or
- PredConsistency::noResolvePredicateExpr(node) and msg = "PredConsistency::noResolvePredicateExpr"
- or
- PredConsistency::multipleResolveCall(node, _, _) and msg = "PredConsistency::multipleResolveCall"
- or
- PredConsistency::multipleResolvePredicateExpr(node, _, _) and
- msg = "PredConsistency::multipleResolvePredicateExpr"
- or
- TypeConsistency::exprNoType(node) and msg = "TypeConsistency::exprNoType"
- or
- TypeConsistency::varDefNoType(node) and msg = "TypeConsistency::varDefNoType"
- or
- TypeConsistency::multiplePrimitives(node, _, _) and msg = "TypeConsistency::multiplePrimitives"
- or
- TypeConsistency::multiplePrimitivesExpr(node, _, _) and
- msg = "TypeConsistency::multiplePrimitivesExpr"
- or
- AstConsistency::nonTotalGetParent(node) and msg = "AstConsistency::nonTotalGetParent"
- or
- AstConsistency::nonUniqueParent(node) and msg = "AstConsistency::nonUniqueParent"
- or
- TypeConsistency::noResolve(node) and msg = "TypeConsistency::noResolve"
- or
- ModConsistency::noResolve(node) and msg = "ModConsistency::noResolve"
- or
- ModConsistency::noName(node) and msg = "ModConsistency::noName"
- or
- ModConsistency::nonUniqueName(node) and msg = "ModConsistency::nonUniqueName"
- or
- VarConsistency::noFieldDef(node) and msg = "VarConsistency::noFieldDef"
- or
- VarConsistency::noVarDef(node) and msg = "VarConsistency::noVarDef"
+ (
+ PredConsistency::noResolveCall(node) and msg = "PredConsistency::noResolveCall"
+ or
+ PredConsistency::noResolvePredicateExpr(node) and
+ msg = "PredConsistency::noResolvePredicateExpr"
+ or
+ PredConsistency::multipleResolveCall(node, _, _) and
+ msg = "PredConsistency::multipleResolveCall"
+ or
+ PredConsistency::multipleResolvePredicateExpr(node, _, _) and
+ msg = "PredConsistency::multipleResolvePredicateExpr"
+ or
+ TypeConsistency::exprNoType(node) and msg = "TypeConsistency::exprNoType"
+ or
+ TypeConsistency::varDefNoType(node) and msg = "TypeConsistency::varDefNoType"
+ or
+ TypeConsistency::multiplePrimitives(node, _, _) and msg = "TypeConsistency::multiplePrimitives"
+ or
+ TypeConsistency::multiplePrimitivesExpr(node, _, _) and
+ msg = "TypeConsistency::multiplePrimitivesExpr"
+ or
+ AstConsistency::nonTotalGetParent(node) and msg = "AstConsistency::nonTotalGetParent"
+ or
+ AstConsistency::nonUniqueParent(node) and msg = "AstConsistency::nonUniqueParent"
+ or
+ TypeConsistency::noResolve(node) and msg = "TypeConsistency::noResolve"
+ or
+ ModConsistency::noName(node) and msg = "ModConsistency::noName"
+ or
+ ModConsistency::nonUniqueName(node) and msg = "ModConsistency::nonUniqueName"
+ or
+ VarConsistency::noFieldDef(node) and msg = "VarConsistency::noFieldDef"
+ or
+ VarConsistency::noVarDef(node) and msg = "VarConsistency::noVarDef"
+ or
+ ModConsistency::uniqueResolve(node) and msg = "ModConsistency::uniqueResolve"
+ or
+ ModConsistency::noResolve(node) and msg = "ModConsistency::noResolve"
+ ) and
+ not node.getLocation()
+ .getFile()
+ .getAbsolutePath()
+ .matches("%/" +
+ [
+ "docs", // docs is not meant to compile on it's own
+ "swift", // Swift has lots of code that doesn't compile
+ "ql/ql/test" // the QL-for-QL tests are not meant to compile
+ ] + "/%")
select node, msg
diff --git a/ql/ql/test/modules/Foo.qll b/ql/ql/test/modules/Foo.qll
new file mode 100644
index 00000000000..402e524cbd7
--- /dev/null
+++ b/ql/ql/test/modules/Foo.qll
@@ -0,0 +1,21 @@
+private signature module MySig {
+ predicate foo();
+}
+
+private module MyImpl implements MySig {
+ predicate foo() { none() }
+}
+
+private module MkThing {
+ signature module SubMod {
+ predicate bar();
+ }
+}
+
+module SimpleMod { }
+
+import SimpleMod
+
+private module SecondImpl implements MkThing::SubMod {
+ predicate bar() { none() }
+}
diff --git a/ql/ql/test/modules/test.expected b/ql/ql/test/modules/test.expected
new file mode 100644
index 00000000000..19b15ff9418
--- /dev/null
+++ b/ql/ql/test/modules/test.expected
@@ -0,0 +1,7 @@
+| Foo.qll:5:34:5:38 | TypeExpr | Foo.qll:1:26:1:30 | MySig |
+| Foo.qll:9:24:9:28 | TypeExpr | Foo.qll:1:26:1:30 | MySig |
+| Foo.qll:17:1:17:16 | Import | Foo.qll:15:8:15:16 | SimpleMod |
+| Foo.qll:17:8:17:16 | SimpleMod | Foo.qll:15:8:15:16 | SimpleMod |
+| Foo.qll:19:38:19:52 | MkThing | Foo.qll:9:16:9:22 | MkThing |
+| Foo.qll:19:38:19:60 | TypeExpr | Foo.qll:10:20:10:25 | SubMod |
+| Foo.qll:19:46:19:51 | TypeExpr | Foo.qll:5:16:5:21 | MyImpl |
diff --git a/ql/ql/test/modules/test.ql b/ql/ql/test/modules/test.ql
new file mode 100644
index 00000000000..8cd592b8fc5
--- /dev/null
+++ b/ql/ql/test/modules/test.ql
@@ -0,0 +1,3 @@
+import ql
+
+query Type getTarget(TypeRef me) { result = me.getResolvedModule().toType() }
diff --git a/ql/ql/test/printAst/printAst.expected b/ql/ql/test/printAst/printAst.expected
index daa299215d3..333b42332e7 100644
--- a/ql/ql/test/printAst/printAst.expected
+++ b/ql/ql/test/printAst/printAst.expected
@@ -3,154 +3,156 @@ nodes
| Foo.qll:1:1:1:17 | Import | semmle.order | 1 |
| Foo.qll:1:1:27:2 | TopLevel | semmle.label | [TopLevel] TopLevel |
| Foo.qll:1:1:27:2 | TopLevel | semmle.order | 1 |
+| Foo.qll:1:8:1:17 | javascript | semmle.label | [ModuleExpr] javascript |
+| Foo.qll:1:8:1:17 | javascript | semmle.order | 3 |
| Foo.qll:3:7:3:9 | Class Foo | semmle.label | [Class] Class Foo |
-| Foo.qll:3:7:3:9 | Class Foo | semmle.order | 3 |
+| Foo.qll:3:7:3:9 | Class Foo | semmle.order | 4 |
| Foo.qll:3:19:3:22 | TypeExpr | semmle.label | [TypeExpr] TypeExpr |
-| Foo.qll:3:19:3:22 | TypeExpr | semmle.order | 4 |
+| Foo.qll:3:19:3:22 | TypeExpr | semmle.order | 5 |
| Foo.qll:4:3:4:17 | CharPred Foo | semmle.label | [CharPred] CharPred Foo |
-| Foo.qll:4:3:4:17 | CharPred Foo | semmle.order | 5 |
+| Foo.qll:4:3:4:17 | CharPred Foo | semmle.order | 6 |
| Foo.qll:4:11:4:11 | Integer | semmle.label | [Integer] Integer |
-| Foo.qll:4:11:4:11 | Integer | semmle.order | 6 |
+| Foo.qll:4:11:4:11 | Integer | semmle.order | 7 |
| Foo.qll:4:11:4:15 | ComparisonFormula | semmle.label | [ComparisonFormula] ComparisonFormula |
-| Foo.qll:4:11:4:15 | ComparisonFormula | semmle.order | 6 |
+| Foo.qll:4:11:4:15 | ComparisonFormula | semmle.order | 7 |
| Foo.qll:4:15:4:15 | Integer | semmle.label | [Integer] Integer |
-| Foo.qll:4:15:4:15 | Integer | semmle.order | 8 |
+| Foo.qll:4:15:4:15 | Integer | semmle.order | 9 |
| Foo.qll:6:3:6:8 | TypeExpr | semmle.label | [TypeExpr] TypeExpr |
-| Foo.qll:6:3:6:8 | TypeExpr | semmle.order | 9 |
+| Foo.qll:6:3:6:8 | TypeExpr | semmle.order | 10 |
| Foo.qll:6:10:6:17 | ClassPredicate toString | semmle.label | [ClassPredicate] ClassPredicate toString |
-| Foo.qll:6:10:6:17 | ClassPredicate toString | semmle.order | 10 |
+| Foo.qll:6:10:6:17 | ClassPredicate toString | semmle.order | 11 |
| Foo.qll:6:23:6:28 | result | semmle.label | [ResultAccess] result |
-| Foo.qll:6:23:6:28 | result | semmle.order | 11 |
+| Foo.qll:6:23:6:28 | result | semmle.order | 12 |
| Foo.qll:6:23:6:36 | ComparisonFormula | semmle.label | [ComparisonFormula] ComparisonFormula |
-| Foo.qll:6:23:6:36 | ComparisonFormula | semmle.order | 11 |
+| Foo.qll:6:23:6:36 | ComparisonFormula | semmle.order | 12 |
| Foo.qll:6:32:6:36 | String | semmle.label | [String] String |
-| Foo.qll:6:32:6:36 | String | semmle.order | 13 |
+| Foo.qll:6:32:6:36 | String | semmle.order | 14 |
| Foo.qll:9:1:9:5 | annotation | semmle.label | [Annotation] annotation |
-| Foo.qll:9:1:9:5 | annotation | semmle.order | 14 |
+| Foo.qll:9:1:9:5 | annotation | semmle.order | 15 |
| Foo.qll:9:17:9:19 | ClasslessPredicate foo | semmle.label | [ClasslessPredicate] ClasslessPredicate foo |
-| Foo.qll:9:17:9:19 | ClasslessPredicate foo | semmle.order | 15 |
+| Foo.qll:9:17:9:19 | ClasslessPredicate foo | semmle.order | 16 |
| Foo.qll:9:21:9:23 | TypeExpr | semmle.label | [TypeExpr] TypeExpr |
-| Foo.qll:9:21:9:23 | TypeExpr | semmle.order | 16 |
+| Foo.qll:9:21:9:23 | TypeExpr | semmle.order | 17 |
| Foo.qll:9:21:9:25 | f | semmle.label | [VarDecl] f |
-| Foo.qll:9:21:9:25 | f | semmle.order | 16 |
+| Foo.qll:9:21:9:25 | f | semmle.order | 17 |
| Foo.qll:10:3:10:3 | f | semmle.label | [VarAccess] f |
-| Foo.qll:10:3:10:3 | f | semmle.order | 18 |
+| Foo.qll:10:3:10:3 | f | semmle.order | 19 |
| Foo.qll:10:3:10:85 | ComparisonFormula | semmle.label | [ComparisonFormula] ComparisonFormula |
-| Foo.qll:10:3:10:85 | ComparisonFormula | semmle.order | 18 |
+| Foo.qll:10:3:10:85 | ComparisonFormula | semmle.order | 19 |
| Foo.qll:10:7:10:85 | Rank | semmle.label | [Rank] Rank |
-| Foo.qll:10:7:10:85 | Rank | semmle.order | 20 |
+| Foo.qll:10:7:10:85 | Rank | semmle.order | 21 |
| Foo.qll:10:12:10:12 | Integer | semmle.label | [Integer] Integer |
-| Foo.qll:10:12:10:12 | Integer | semmle.order | 21 |
+| Foo.qll:10:12:10:12 | Integer | semmle.order | 22 |
| Foo.qll:10:15:10:17 | TypeExpr | semmle.label | [TypeExpr] TypeExpr |
-| Foo.qll:10:15:10:17 | TypeExpr | semmle.order | 22 |
+| Foo.qll:10:15:10:17 | TypeExpr | semmle.order | 23 |
| Foo.qll:10:15:10:23 | inner | semmle.label | [VarDecl] inner |
-| Foo.qll:10:15:10:23 | inner | semmle.order | 22 |
+| Foo.qll:10:15:10:23 | inner | semmle.order | 23 |
| Foo.qll:10:27:10:31 | inner | semmle.label | [VarAccess] inner |
-| Foo.qll:10:27:10:31 | inner | semmle.order | 24 |
+| Foo.qll:10:27:10:31 | inner | semmle.order | 25 |
| Foo.qll:10:27:10:42 | MemberCall | semmle.label | [MemberCall] MemberCall |
-| Foo.qll:10:27:10:42 | MemberCall | semmle.order | 24 |
+| Foo.qll:10:27:10:42 | MemberCall | semmle.order | 25 |
| Foo.qll:10:27:10:50 | ComparisonFormula | semmle.label | [ComparisonFormula] ComparisonFormula |
-| Foo.qll:10:27:10:50 | ComparisonFormula | semmle.order | 24 |
+| Foo.qll:10:27:10:50 | ComparisonFormula | semmle.order | 25 |
| Foo.qll:10:46:10:50 | String | semmle.label | [String] String |
-| Foo.qll:10:46:10:50 | String | semmle.order | 27 |
+| Foo.qll:10:46:10:50 | String | semmle.order | 28 |
| Foo.qll:10:54:10:58 | inner | semmle.label | [VarAccess] inner |
-| Foo.qll:10:54:10:58 | inner | semmle.order | 28 |
+| Foo.qll:10:54:10:58 | inner | semmle.order | 29 |
| Foo.qll:10:69:10:73 | inner | semmle.label | [VarAccess] inner |
-| Foo.qll:10:69:10:73 | inner | semmle.order | 29 |
+| Foo.qll:10:69:10:73 | inner | semmle.order | 30 |
| Foo.qll:10:69:10:84 | MemberCall | semmle.label | [MemberCall] MemberCall |
-| Foo.qll:10:69:10:84 | MemberCall | semmle.order | 29 |
+| Foo.qll:10:69:10:84 | MemberCall | semmle.order | 30 |
| Foo.qll:13:11:13:15 | ClasslessPredicate calls | semmle.label | [ClasslessPredicate] ClasslessPredicate calls |
-| Foo.qll:13:11:13:15 | ClasslessPredicate calls | semmle.order | 31 |
+| Foo.qll:13:11:13:15 | ClasslessPredicate calls | semmle.order | 32 |
| Foo.qll:13:17:13:19 | TypeExpr | semmle.label | [TypeExpr] TypeExpr |
-| Foo.qll:13:17:13:19 | TypeExpr | semmle.order | 32 |
+| Foo.qll:13:17:13:19 | TypeExpr | semmle.order | 33 |
| Foo.qll:13:17:13:21 | f | semmle.label | [VarDecl] f |
-| Foo.qll:13:17:13:21 | f | semmle.order | 32 |
+| Foo.qll:13:17:13:21 | f | semmle.order | 33 |
| Foo.qll:14:3:14:10 | PredicateCall | semmle.label | [PredicateCall] PredicateCall |
-| Foo.qll:14:3:14:10 | PredicateCall | semmle.order | 34 |
+| Foo.qll:14:3:14:10 | PredicateCall | semmle.order | 35 |
| Foo.qll:14:3:16:29 | Disjunction | semmle.label | [Disjunction] Disjunction |
-| Foo.qll:14:3:16:29 | Disjunction | semmle.order | 34 |
+| Foo.qll:14:3:16:29 | Disjunction | semmle.order | 35 |
| Foo.qll:14:3:18:28 | Disjunction | semmle.label | [Disjunction] Disjunction |
-| Foo.qll:14:3:18:28 | Disjunction | semmle.order | 34 |
+| Foo.qll:14:3:18:28 | Disjunction | semmle.order | 35 |
| Foo.qll:14:3:20:13 | Disjunction | semmle.label | [Disjunction] Disjunction |
-| Foo.qll:14:3:20:13 | Disjunction | semmle.order | 34 |
+| Foo.qll:14:3:20:13 | Disjunction | semmle.order | 35 |
| Foo.qll:14:3:22:16 | Disjunction | semmle.label | [Disjunction] Disjunction |
-| Foo.qll:14:3:22:16 | Disjunction | semmle.order | 34 |
+| Foo.qll:14:3:22:16 | Disjunction | semmle.order | 35 |
| Foo.qll:14:3:24:23 | Disjunction | semmle.label | [Disjunction] Disjunction |
-| Foo.qll:14:3:24:23 | Disjunction | semmle.order | 34 |
+| Foo.qll:14:3:24:23 | Disjunction | semmle.order | 35 |
| Foo.qll:14:3:26:14 | Disjunction | semmle.label | [Disjunction] Disjunction |
-| Foo.qll:14:3:26:14 | Disjunction | semmle.order | 34 |
+| Foo.qll:14:3:26:14 | Disjunction | semmle.order | 35 |
| Foo.qll:14:9:14:9 | f | semmle.label | [VarAccess] f |
-| Foo.qll:14:9:14:9 | f | semmle.order | 41 |
+| Foo.qll:14:9:14:9 | f | semmle.order | 42 |
| Foo.qll:16:3:16:7 | String | semmle.label | [String] String |
-| Foo.qll:16:3:16:7 | String | semmle.order | 42 |
+| Foo.qll:16:3:16:7 | String | semmle.order | 43 |
| Foo.qll:16:3:16:29 | ComparisonFormula | semmle.label | [ComparisonFormula] ComparisonFormula |
-| Foo.qll:16:3:16:29 | ComparisonFormula | semmle.order | 42 |
+| Foo.qll:16:3:16:29 | ComparisonFormula | semmle.order | 43 |
| Foo.qll:16:11:16:11 | f | semmle.label | [VarAccess] f |
-| Foo.qll:16:11:16:11 | f | semmle.order | 44 |
+| Foo.qll:16:11:16:11 | f | semmle.order | 45 |
| Foo.qll:16:11:16:29 | MemberCall | semmle.label | [MemberCall] MemberCall |
-| Foo.qll:16:11:16:29 | MemberCall | semmle.order | 44 |
+| Foo.qll:16:11:16:29 | MemberCall | semmle.order | 45 |
| Foo.qll:16:22:16:22 | Integer | semmle.label | [Integer] Integer |
-| Foo.qll:16:22:16:22 | Integer | semmle.order | 46 |
+| Foo.qll:16:22:16:22 | Integer | semmle.order | 47 |
| Foo.qll:16:25:16:25 | Integer | semmle.label | [Integer] Integer |
-| Foo.qll:16:25:16:25 | Integer | semmle.order | 47 |
+| Foo.qll:16:25:16:25 | Integer | semmle.order | 48 |
| Foo.qll:16:28:16:28 | Integer | semmle.label | [Integer] Integer |
-| Foo.qll:16:28:16:28 | Integer | semmle.order | 48 |
+| Foo.qll:16:28:16:28 | Integer | semmle.order | 49 |
| Foo.qll:18:3:18:3 | f | semmle.label | [VarAccess] f |
-| Foo.qll:18:3:18:3 | f | semmle.order | 49 |
+| Foo.qll:18:3:18:3 | f | semmle.order | 50 |
| Foo.qll:18:3:18:9 | InlineCast | semmle.label | [InlineCast] InlineCast |
-| Foo.qll:18:3:18:9 | InlineCast | semmle.order | 49 |
+| Foo.qll:18:3:18:9 | InlineCast | semmle.order | 50 |
| Foo.qll:18:3:18:20 | MemberCall | semmle.label | [MemberCall] MemberCall |
-| Foo.qll:18:3:18:20 | MemberCall | semmle.order | 49 |
+| Foo.qll:18:3:18:20 | MemberCall | semmle.order | 50 |
| Foo.qll:18:3:18:28 | ComparisonFormula | semmle.label | [ComparisonFormula] ComparisonFormula |
-| Foo.qll:18:3:18:28 | ComparisonFormula | semmle.order | 49 |
+| Foo.qll:18:3:18:28 | ComparisonFormula | semmle.order | 50 |
| Foo.qll:18:6:18:8 | TypeExpr | semmle.label | [TypeExpr] TypeExpr |
-| Foo.qll:18:6:18:8 | TypeExpr | semmle.order | 53 |
+| Foo.qll:18:6:18:8 | TypeExpr | semmle.order | 54 |
| Foo.qll:18:24:18:28 | String | semmle.label | [String] String |
-| Foo.qll:18:24:18:28 | String | semmle.order | 54 |
+| Foo.qll:18:24:18:28 | String | semmle.order | 55 |
| Foo.qll:20:3:20:3 | f | semmle.label | [VarAccess] f |
-| Foo.qll:20:3:20:3 | f | semmle.order | 55 |
+| Foo.qll:20:3:20:3 | f | semmle.order | 56 |
| Foo.qll:20:3:20:9 | InlineCast | semmle.label | [InlineCast] InlineCast |
-| Foo.qll:20:3:20:9 | InlineCast | semmle.order | 55 |
+| Foo.qll:20:3:20:9 | InlineCast | semmle.order | 56 |
| Foo.qll:20:3:20:13 | ComparisonFormula | semmle.label | [ComparisonFormula] ComparisonFormula |
-| Foo.qll:20:3:20:13 | ComparisonFormula | semmle.order | 55 |
+| Foo.qll:20:3:20:13 | ComparisonFormula | semmle.order | 56 |
| Foo.qll:20:6:20:8 | TypeExpr | semmle.label | [TypeExpr] TypeExpr |
-| Foo.qll:20:6:20:8 | TypeExpr | semmle.order | 58 |
+| Foo.qll:20:6:20:8 | TypeExpr | semmle.order | 59 |
| Foo.qll:20:13:20:13 | f | semmle.label | [VarAccess] f |
-| Foo.qll:20:13:20:13 | f | semmle.order | 59 |
+| Foo.qll:20:13:20:13 | f | semmle.order | 60 |
| Foo.qll:22:3:22:3 | f | semmle.label | [VarAccess] f |
-| Foo.qll:22:3:22:3 | f | semmle.order | 60 |
+| Foo.qll:22:3:22:3 | f | semmle.order | 61 |
| Foo.qll:22:3:22:16 | ComparisonFormula | semmle.label | [ComparisonFormula] ComparisonFormula |
-| Foo.qll:22:3:22:16 | ComparisonFormula | semmle.order | 60 |
+| Foo.qll:22:3:22:16 | ComparisonFormula | semmle.order | 61 |
| Foo.qll:22:7:22:16 | Any | semmle.label | [Any] Any |
-| Foo.qll:22:7:22:16 | Any | semmle.order | 62 |
+| Foo.qll:22:7:22:16 | Any | semmle.order | 63 |
| Foo.qll:22:11:22:13 | TypeExpr | semmle.label | [TypeExpr] TypeExpr |
-| Foo.qll:22:11:22:13 | TypeExpr | semmle.order | 63 |
+| Foo.qll:22:11:22:13 | TypeExpr | semmle.order | 64 |
| Foo.qll:22:11:22:15 | f | semmle.label | [VarDecl] f |
-| Foo.qll:22:11:22:15 | f | semmle.order | 63 |
+| Foo.qll:22:11:22:15 | f | semmle.order | 64 |
| Foo.qll:24:3:24:3 | Integer | semmle.label | [Integer] Integer |
-| Foo.qll:24:3:24:3 | Integer | semmle.order | 65 |
+| Foo.qll:24:3:24:3 | Integer | semmle.order | 66 |
| Foo.qll:24:3:24:23 | ComparisonFormula | semmle.label | [ComparisonFormula] ComparisonFormula |
-| Foo.qll:24:3:24:23 | ComparisonFormula | semmle.order | 65 |
+| Foo.qll:24:3:24:23 | ComparisonFormula | semmle.order | 66 |
| Foo.qll:24:7:24:7 | Integer | semmle.label | [Integer] Integer |
-| Foo.qll:24:7:24:7 | Integer | semmle.order | 67 |
+| Foo.qll:24:7:24:7 | Integer | semmle.order | 68 |
| Foo.qll:24:7:24:23 | AddExpr | semmle.label | [AddExpr] AddExpr |
-| Foo.qll:24:7:24:23 | AddExpr | semmle.order | 67 |
+| Foo.qll:24:7:24:23 | AddExpr | semmle.order | 68 |
| Foo.qll:24:12:24:12 | Integer | semmle.label | [Integer] Integer |
-| Foo.qll:24:12:24:12 | Integer | semmle.order | 69 |
+| Foo.qll:24:12:24:12 | Integer | semmle.order | 70 |
| Foo.qll:24:12:24:22 | AddExpr | semmle.label | [AddExpr] AddExpr |
-| Foo.qll:24:12:24:22 | AddExpr | semmle.order | 69 |
+| Foo.qll:24:12:24:22 | AddExpr | semmle.order | 70 |
| Foo.qll:24:17:24:17 | Integer | semmle.label | [Integer] Integer |
-| Foo.qll:24:17:24:17 | Integer | semmle.order | 71 |
+| Foo.qll:24:17:24:17 | Integer | semmle.order | 72 |
| Foo.qll:24:17:24:21 | AddExpr | semmle.label | [AddExpr] AddExpr |
-| Foo.qll:24:17:24:21 | AddExpr | semmle.order | 71 |
+| Foo.qll:24:17:24:21 | AddExpr | semmle.order | 72 |
| Foo.qll:24:21:24:21 | Integer | semmle.label | [Integer] Integer |
-| Foo.qll:24:21:24:21 | Integer | semmle.order | 73 |
+| Foo.qll:24:21:24:21 | Integer | semmle.order | 74 |
| Foo.qll:26:3:26:6 | Boolean | semmle.label | [Boolean] Boolean |
-| Foo.qll:26:3:26:6 | Boolean | semmle.order | 74 |
+| Foo.qll:26:3:26:6 | Boolean | semmle.order | 75 |
| Foo.qll:26:3:26:14 | ComparisonFormula | semmle.label | [ComparisonFormula] ComparisonFormula |
-| Foo.qll:26:3:26:14 | ComparisonFormula | semmle.order | 74 |
+| Foo.qll:26:3:26:14 | ComparisonFormula | semmle.order | 75 |
| Foo.qll:26:10:26:14 | Boolean | semmle.label | [Boolean] Boolean |
-| Foo.qll:26:10:26:14 | Boolean | semmle.order | 76 |
+| Foo.qll:26:10:26:14 | Boolean | semmle.order | 77 |
| file://:0:0:0:0 | abs | semmle.label | [BuiltinPredicate] abs |
| file://:0:0:0:0 | abs | semmle.label | [BuiltinPredicate] abs |
| file://:0:0:0:0 | acos | semmle.label | [BuiltinPredicate] acos |
@@ -233,161 +235,167 @@ nodes
| file://:0:0:0:0 | trim | semmle.label | [BuiltinPredicate] trim |
| file://:0:0:0:0 | ulp | semmle.label | [BuiltinPredicate] ulp |
| printAst.ql:1:1:1:28 | Import | semmle.label | [Import] Import |
-| printAst.ql:1:1:1:28 | Import | semmle.order | 77 |
+| printAst.ql:1:1:1:28 | Import | semmle.order | 78 |
| printAst.ql:1:1:1:29 | TopLevel | semmle.label | [TopLevel] TopLevel |
-| printAst.ql:1:1:1:29 | TopLevel | semmle.order | 77 |
+| printAst.ql:1:1:1:29 | TopLevel | semmle.order | 78 |
+| printAst.ql:1:18:1:28 | printAstAst | semmle.label | [ModuleExpr] printAstAst |
+| printAst.ql:1:18:1:28 | printAstAst | semmle.order | 80 |
edges
+| Foo.qll:1:1:1:17 | Import | Foo.qll:1:8:1:17 | javascript | semmle.label | getModuleExpr() |
+| Foo.qll:1:1:1:17 | Import | Foo.qll:1:8:1:17 | javascript | semmle.order | 3 |
| Foo.qll:1:1:27:2 | TopLevel | Foo.qll:1:1:1:17 | Import | semmle.label | getAnImport() |
| Foo.qll:1:1:27:2 | TopLevel | Foo.qll:1:1:1:17 | Import | semmle.order | 1 |
| Foo.qll:1:1:27:2 | TopLevel | Foo.qll:3:7:3:9 | Class Foo | semmle.label | getAClass() |
-| Foo.qll:1:1:27:2 | TopLevel | Foo.qll:3:7:3:9 | Class Foo | semmle.order | 3 |
+| Foo.qll:1:1:27:2 | TopLevel | Foo.qll:3:7:3:9 | Class Foo | semmle.order | 4 |
| Foo.qll:1:1:27:2 | TopLevel | Foo.qll:9:17:9:19 | ClasslessPredicate foo | semmle.label | getAPredicate() |
-| Foo.qll:1:1:27:2 | TopLevel | Foo.qll:9:17:9:19 | ClasslessPredicate foo | semmle.order | 15 |
+| Foo.qll:1:1:27:2 | TopLevel | Foo.qll:9:17:9:19 | ClasslessPredicate foo | semmle.order | 16 |
| Foo.qll:1:1:27:2 | TopLevel | Foo.qll:13:11:13:15 | ClasslessPredicate calls | semmle.label | getAPredicate() |
-| Foo.qll:1:1:27:2 | TopLevel | Foo.qll:13:11:13:15 | ClasslessPredicate calls | semmle.order | 31 |
+| Foo.qll:1:1:27:2 | TopLevel | Foo.qll:13:11:13:15 | ClasslessPredicate calls | semmle.order | 32 |
| Foo.qll:3:7:3:9 | Class Foo | Foo.qll:3:19:3:22 | TypeExpr | semmle.label | getASuperType() |
-| Foo.qll:3:7:3:9 | Class Foo | Foo.qll:3:19:3:22 | TypeExpr | semmle.order | 4 |
+| Foo.qll:3:7:3:9 | Class Foo | Foo.qll:3:19:3:22 | TypeExpr | semmle.order | 5 |
| Foo.qll:3:7:3:9 | Class Foo | Foo.qll:4:3:4:17 | CharPred Foo | semmle.label | getCharPred() |
-| Foo.qll:3:7:3:9 | Class Foo | Foo.qll:4:3:4:17 | CharPred Foo | semmle.order | 5 |
+| Foo.qll:3:7:3:9 | Class Foo | Foo.qll:4:3:4:17 | CharPred Foo | semmle.order | 6 |
| Foo.qll:3:7:3:9 | Class Foo | Foo.qll:6:10:6:17 | ClassPredicate toString | semmle.label | getClassPredicate(_) |
-| Foo.qll:3:7:3:9 | Class Foo | Foo.qll:6:10:6:17 | ClassPredicate toString | semmle.order | 10 |
+| Foo.qll:3:7:3:9 | Class Foo | Foo.qll:6:10:6:17 | ClassPredicate toString | semmle.order | 11 |
| Foo.qll:4:3:4:17 | CharPred Foo | Foo.qll:4:11:4:15 | ComparisonFormula | semmle.label | getBody() |
-| Foo.qll:4:3:4:17 | CharPred Foo | Foo.qll:4:11:4:15 | ComparisonFormula | semmle.order | 6 |
+| Foo.qll:4:3:4:17 | CharPred Foo | Foo.qll:4:11:4:15 | ComparisonFormula | semmle.order | 7 |
| Foo.qll:4:11:4:15 | ComparisonFormula | Foo.qll:4:11:4:11 | Integer | semmle.label | getLeftOperand() |
-| Foo.qll:4:11:4:15 | ComparisonFormula | Foo.qll:4:11:4:11 | Integer | semmle.order | 6 |
+| Foo.qll:4:11:4:15 | ComparisonFormula | Foo.qll:4:11:4:11 | Integer | semmle.order | 7 |
| Foo.qll:4:11:4:15 | ComparisonFormula | Foo.qll:4:15:4:15 | Integer | semmle.label | getRightOperand() |
-| Foo.qll:4:11:4:15 | ComparisonFormula | Foo.qll:4:15:4:15 | Integer | semmle.order | 8 |
+| Foo.qll:4:11:4:15 | ComparisonFormula | Foo.qll:4:15:4:15 | Integer | semmle.order | 9 |
| Foo.qll:6:10:6:17 | ClassPredicate toString | Foo.qll:6:3:6:8 | TypeExpr | semmle.label | getReturnTypeExpr() |
-| Foo.qll:6:10:6:17 | ClassPredicate toString | Foo.qll:6:3:6:8 | TypeExpr | semmle.order | 9 |
+| Foo.qll:6:10:6:17 | ClassPredicate toString | Foo.qll:6:3:6:8 | TypeExpr | semmle.order | 10 |
| Foo.qll:6:10:6:17 | ClassPredicate toString | Foo.qll:6:23:6:36 | ComparisonFormula | semmle.label | getBody() |
-| Foo.qll:6:10:6:17 | ClassPredicate toString | Foo.qll:6:23:6:36 | ComparisonFormula | semmle.order | 11 |
+| Foo.qll:6:10:6:17 | ClassPredicate toString | Foo.qll:6:23:6:36 | ComparisonFormula | semmle.order | 12 |
| Foo.qll:6:23:6:36 | ComparisonFormula | Foo.qll:6:23:6:28 | result | semmle.label | getLeftOperand() |
-| Foo.qll:6:23:6:36 | ComparisonFormula | Foo.qll:6:23:6:28 | result | semmle.order | 11 |
+| Foo.qll:6:23:6:36 | ComparisonFormula | Foo.qll:6:23:6:28 | result | semmle.order | 12 |
| Foo.qll:6:23:6:36 | ComparisonFormula | Foo.qll:6:32:6:36 | String | semmle.label | getRightOperand() |
-| Foo.qll:6:23:6:36 | ComparisonFormula | Foo.qll:6:32:6:36 | String | semmle.order | 13 |
+| Foo.qll:6:23:6:36 | ComparisonFormula | Foo.qll:6:32:6:36 | String | semmle.order | 14 |
| Foo.qll:9:17:9:19 | ClasslessPredicate foo | Foo.qll:9:1:9:5 | annotation | semmle.label | getAnAnnotation() |
-| Foo.qll:9:17:9:19 | ClasslessPredicate foo | Foo.qll:9:1:9:5 | annotation | semmle.order | 14 |
+| Foo.qll:9:17:9:19 | ClasslessPredicate foo | Foo.qll:9:1:9:5 | annotation | semmle.order | 15 |
| Foo.qll:9:17:9:19 | ClasslessPredicate foo | Foo.qll:9:21:9:25 | f | semmle.label | getParameter(_) |
-| Foo.qll:9:17:9:19 | ClasslessPredicate foo | Foo.qll:9:21:9:25 | f | semmle.order | 16 |
+| Foo.qll:9:17:9:19 | ClasslessPredicate foo | Foo.qll:9:21:9:25 | f | semmle.order | 17 |
| Foo.qll:9:17:9:19 | ClasslessPredicate foo | Foo.qll:10:3:10:85 | ComparisonFormula | semmle.label | getBody() |
-| Foo.qll:9:17:9:19 | ClasslessPredicate foo | Foo.qll:10:3:10:85 | ComparisonFormula | semmle.order | 18 |
+| Foo.qll:9:17:9:19 | ClasslessPredicate foo | Foo.qll:10:3:10:85 | ComparisonFormula | semmle.order | 19 |
| Foo.qll:9:21:9:25 | f | Foo.qll:9:21:9:23 | TypeExpr | semmle.label | getTypeExpr() |
-| Foo.qll:9:21:9:25 | f | Foo.qll:9:21:9:23 | TypeExpr | semmle.order | 16 |
+| Foo.qll:9:21:9:25 | f | Foo.qll:9:21:9:23 | TypeExpr | semmle.order | 17 |
| Foo.qll:10:3:10:85 | ComparisonFormula | Foo.qll:10:3:10:3 | f | semmle.label | getLeftOperand() |
-| Foo.qll:10:3:10:85 | ComparisonFormula | Foo.qll:10:3:10:3 | f | semmle.order | 18 |
+| Foo.qll:10:3:10:85 | ComparisonFormula | Foo.qll:10:3:10:3 | f | semmle.order | 19 |
| Foo.qll:10:3:10:85 | ComparisonFormula | Foo.qll:10:7:10:85 | Rank | semmle.label | getRightOperand() |
-| Foo.qll:10:3:10:85 | ComparisonFormula | Foo.qll:10:7:10:85 | Rank | semmle.order | 20 |
+| Foo.qll:10:3:10:85 | ComparisonFormula | Foo.qll:10:7:10:85 | Rank | semmle.order | 21 |
| Foo.qll:10:7:10:85 | Rank | Foo.qll:10:12:10:12 | Integer | semmle.label | getRankExpr() |
-| Foo.qll:10:7:10:85 | Rank | Foo.qll:10:12:10:12 | Integer | semmle.order | 21 |
+| Foo.qll:10:7:10:85 | Rank | Foo.qll:10:12:10:12 | Integer | semmle.order | 22 |
| Foo.qll:10:7:10:85 | Rank | Foo.qll:10:15:10:23 | inner | semmle.label | getArgument(_) |
-| Foo.qll:10:7:10:85 | Rank | Foo.qll:10:15:10:23 | inner | semmle.order | 22 |
+| Foo.qll:10:7:10:85 | Rank | Foo.qll:10:15:10:23 | inner | semmle.order | 23 |
| Foo.qll:10:7:10:85 | Rank | Foo.qll:10:27:10:50 | ComparisonFormula | semmle.label | getRange() |
-| Foo.qll:10:7:10:85 | Rank | Foo.qll:10:27:10:50 | ComparisonFormula | semmle.order | 24 |
+| Foo.qll:10:7:10:85 | Rank | Foo.qll:10:27:10:50 | ComparisonFormula | semmle.order | 25 |
| Foo.qll:10:7:10:85 | Rank | Foo.qll:10:54:10:58 | inner | semmle.label | getExpr(_) |
-| Foo.qll:10:7:10:85 | Rank | Foo.qll:10:54:10:58 | inner | semmle.order | 28 |
+| Foo.qll:10:7:10:85 | Rank | Foo.qll:10:54:10:58 | inner | semmle.order | 29 |
| Foo.qll:10:7:10:85 | Rank | Foo.qll:10:69:10:84 | MemberCall | semmle.label | getOrderBy(_) |
-| Foo.qll:10:7:10:85 | Rank | Foo.qll:10:69:10:84 | MemberCall | semmle.order | 29 |
+| Foo.qll:10:7:10:85 | Rank | Foo.qll:10:69:10:84 | MemberCall | semmle.order | 30 |
| Foo.qll:10:15:10:23 | inner | Foo.qll:10:15:10:17 | TypeExpr | semmle.label | getTypeExpr() |
-| Foo.qll:10:15:10:23 | inner | Foo.qll:10:15:10:17 | TypeExpr | semmle.order | 22 |
+| Foo.qll:10:15:10:23 | inner | Foo.qll:10:15:10:17 | TypeExpr | semmle.order | 23 |
| Foo.qll:10:27:10:42 | MemberCall | Foo.qll:10:27:10:31 | inner | semmle.label | getBase() |
-| Foo.qll:10:27:10:42 | MemberCall | Foo.qll:10:27:10:31 | inner | semmle.order | 24 |
+| Foo.qll:10:27:10:42 | MemberCall | Foo.qll:10:27:10:31 | inner | semmle.order | 25 |
| Foo.qll:10:27:10:50 | ComparisonFormula | Foo.qll:10:27:10:42 | MemberCall | semmle.label | getLeftOperand() |
-| Foo.qll:10:27:10:50 | ComparisonFormula | Foo.qll:10:27:10:42 | MemberCall | semmle.order | 24 |
+| Foo.qll:10:27:10:50 | ComparisonFormula | Foo.qll:10:27:10:42 | MemberCall | semmle.order | 25 |
| Foo.qll:10:27:10:50 | ComparisonFormula | Foo.qll:10:46:10:50 | String | semmle.label | getRightOperand() |
-| Foo.qll:10:27:10:50 | ComparisonFormula | Foo.qll:10:46:10:50 | String | semmle.order | 27 |
+| Foo.qll:10:27:10:50 | ComparisonFormula | Foo.qll:10:46:10:50 | String | semmle.order | 28 |
| Foo.qll:10:69:10:84 | MemberCall | Foo.qll:10:69:10:73 | inner | semmle.label | getBase() |
-| Foo.qll:10:69:10:84 | MemberCall | Foo.qll:10:69:10:73 | inner | semmle.order | 29 |
+| Foo.qll:10:69:10:84 | MemberCall | Foo.qll:10:69:10:73 | inner | semmle.order | 30 |
| Foo.qll:13:11:13:15 | ClasslessPredicate calls | Foo.qll:13:17:13:21 | f | semmle.label | getParameter(_) |
-| Foo.qll:13:11:13:15 | ClasslessPredicate calls | Foo.qll:13:17:13:21 | f | semmle.order | 32 |
+| Foo.qll:13:11:13:15 | ClasslessPredicate calls | Foo.qll:13:17:13:21 | f | semmle.order | 33 |
| Foo.qll:13:11:13:15 | ClasslessPredicate calls | Foo.qll:14:3:26:14 | Disjunction | semmle.label | getBody() |
-| Foo.qll:13:11:13:15 | ClasslessPredicate calls | Foo.qll:14:3:26:14 | Disjunction | semmle.order | 34 |
+| Foo.qll:13:11:13:15 | ClasslessPredicate calls | Foo.qll:14:3:26:14 | Disjunction | semmle.order | 35 |
| Foo.qll:13:17:13:21 | f | Foo.qll:13:17:13:19 | TypeExpr | semmle.label | getTypeExpr() |
-| Foo.qll:13:17:13:21 | f | Foo.qll:13:17:13:19 | TypeExpr | semmle.order | 32 |
+| Foo.qll:13:17:13:21 | f | Foo.qll:13:17:13:19 | TypeExpr | semmle.order | 33 |
| Foo.qll:14:3:14:10 | PredicateCall | Foo.qll:14:9:14:9 | f | semmle.label | getArgument(_) |
-| Foo.qll:14:3:14:10 | PredicateCall | Foo.qll:14:9:14:9 | f | semmle.order | 41 |
+| Foo.qll:14:3:14:10 | PredicateCall | Foo.qll:14:9:14:9 | f | semmle.order | 42 |
| Foo.qll:14:3:16:29 | Disjunction | Foo.qll:14:3:14:10 | PredicateCall | semmle.label | getAnOperand() |
-| Foo.qll:14:3:16:29 | Disjunction | Foo.qll:14:3:14:10 | PredicateCall | semmle.order | 34 |
+| Foo.qll:14:3:16:29 | Disjunction | Foo.qll:14:3:14:10 | PredicateCall | semmle.order | 35 |
| Foo.qll:14:3:16:29 | Disjunction | Foo.qll:16:3:16:29 | ComparisonFormula | semmle.label | getAnOperand() |
-| Foo.qll:14:3:16:29 | Disjunction | Foo.qll:16:3:16:29 | ComparisonFormula | semmle.order | 42 |
+| Foo.qll:14:3:16:29 | Disjunction | Foo.qll:16:3:16:29 | ComparisonFormula | semmle.order | 43 |
| Foo.qll:14:3:18:28 | Disjunction | Foo.qll:14:3:16:29 | Disjunction | semmle.label | getAnOperand() |
-| Foo.qll:14:3:18:28 | Disjunction | Foo.qll:14:3:16:29 | Disjunction | semmle.order | 34 |
+| Foo.qll:14:3:18:28 | Disjunction | Foo.qll:14:3:16:29 | Disjunction | semmle.order | 35 |
| Foo.qll:14:3:18:28 | Disjunction | Foo.qll:18:3:18:28 | ComparisonFormula | semmle.label | getAnOperand() |
-| Foo.qll:14:3:18:28 | Disjunction | Foo.qll:18:3:18:28 | ComparisonFormula | semmle.order | 49 |
+| Foo.qll:14:3:18:28 | Disjunction | Foo.qll:18:3:18:28 | ComparisonFormula | semmle.order | 50 |
| Foo.qll:14:3:20:13 | Disjunction | Foo.qll:14:3:18:28 | Disjunction | semmle.label | getAnOperand() |
-| Foo.qll:14:3:20:13 | Disjunction | Foo.qll:14:3:18:28 | Disjunction | semmle.order | 34 |
+| Foo.qll:14:3:20:13 | Disjunction | Foo.qll:14:3:18:28 | Disjunction | semmle.order | 35 |
| Foo.qll:14:3:20:13 | Disjunction | Foo.qll:20:3:20:13 | ComparisonFormula | semmle.label | getAnOperand() |
-| Foo.qll:14:3:20:13 | Disjunction | Foo.qll:20:3:20:13 | ComparisonFormula | semmle.order | 55 |
+| Foo.qll:14:3:20:13 | Disjunction | Foo.qll:20:3:20:13 | ComparisonFormula | semmle.order | 56 |
| Foo.qll:14:3:22:16 | Disjunction | Foo.qll:14:3:20:13 | Disjunction | semmle.label | getAnOperand() |
-| Foo.qll:14:3:22:16 | Disjunction | Foo.qll:14:3:20:13 | Disjunction | semmle.order | 34 |
+| Foo.qll:14:3:22:16 | Disjunction | Foo.qll:14:3:20:13 | Disjunction | semmle.order | 35 |
| Foo.qll:14:3:22:16 | Disjunction | Foo.qll:22:3:22:16 | ComparisonFormula | semmle.label | getAnOperand() |
-| Foo.qll:14:3:22:16 | Disjunction | Foo.qll:22:3:22:16 | ComparisonFormula | semmle.order | 60 |
+| Foo.qll:14:3:22:16 | Disjunction | Foo.qll:22:3:22:16 | ComparisonFormula | semmle.order | 61 |
| Foo.qll:14:3:24:23 | Disjunction | Foo.qll:14:3:22:16 | Disjunction | semmle.label | getAnOperand() |
-| Foo.qll:14:3:24:23 | Disjunction | Foo.qll:14:3:22:16 | Disjunction | semmle.order | 34 |
+| Foo.qll:14:3:24:23 | Disjunction | Foo.qll:14:3:22:16 | Disjunction | semmle.order | 35 |
| Foo.qll:14:3:24:23 | Disjunction | Foo.qll:24:3:24:23 | ComparisonFormula | semmle.label | getAnOperand() |
-| Foo.qll:14:3:24:23 | Disjunction | Foo.qll:24:3:24:23 | ComparisonFormula | semmle.order | 65 |
+| Foo.qll:14:3:24:23 | Disjunction | Foo.qll:24:3:24:23 | ComparisonFormula | semmle.order | 66 |
| Foo.qll:14:3:26:14 | Disjunction | Foo.qll:14:3:24:23 | Disjunction | semmle.label | getAnOperand() |
-| Foo.qll:14:3:26:14 | Disjunction | Foo.qll:14:3:24:23 | Disjunction | semmle.order | 34 |
+| Foo.qll:14:3:26:14 | Disjunction | Foo.qll:14:3:24:23 | Disjunction | semmle.order | 35 |
| Foo.qll:14:3:26:14 | Disjunction | Foo.qll:26:3:26:14 | ComparisonFormula | semmle.label | getAnOperand() |
-| Foo.qll:14:3:26:14 | Disjunction | Foo.qll:26:3:26:14 | ComparisonFormula | semmle.order | 74 |
+| Foo.qll:14:3:26:14 | Disjunction | Foo.qll:26:3:26:14 | ComparisonFormula | semmle.order | 75 |
| Foo.qll:16:3:16:29 | ComparisonFormula | Foo.qll:16:3:16:7 | String | semmle.label | getLeftOperand() |
-| Foo.qll:16:3:16:29 | ComparisonFormula | Foo.qll:16:3:16:7 | String | semmle.order | 42 |
+| Foo.qll:16:3:16:29 | ComparisonFormula | Foo.qll:16:3:16:7 | String | semmle.order | 43 |
| Foo.qll:16:3:16:29 | ComparisonFormula | Foo.qll:16:11:16:29 | MemberCall | semmle.label | getRightOperand() |
-| Foo.qll:16:3:16:29 | ComparisonFormula | Foo.qll:16:11:16:29 | MemberCall | semmle.order | 44 |
+| Foo.qll:16:3:16:29 | ComparisonFormula | Foo.qll:16:11:16:29 | MemberCall | semmle.order | 45 |
| Foo.qll:16:11:16:29 | MemberCall | Foo.qll:16:11:16:11 | f | semmle.label | getBase() |
-| Foo.qll:16:11:16:29 | MemberCall | Foo.qll:16:11:16:11 | f | semmle.order | 44 |
+| Foo.qll:16:11:16:29 | MemberCall | Foo.qll:16:11:16:11 | f | semmle.order | 45 |
| Foo.qll:16:11:16:29 | MemberCall | Foo.qll:16:22:16:22 | Integer | semmle.label | getArgument(_) |
-| Foo.qll:16:11:16:29 | MemberCall | Foo.qll:16:22:16:22 | Integer | semmle.order | 46 |
+| Foo.qll:16:11:16:29 | MemberCall | Foo.qll:16:22:16:22 | Integer | semmle.order | 47 |
| Foo.qll:16:11:16:29 | MemberCall | Foo.qll:16:25:16:25 | Integer | semmle.label | getArgument(_) |
-| Foo.qll:16:11:16:29 | MemberCall | Foo.qll:16:25:16:25 | Integer | semmle.order | 47 |
+| Foo.qll:16:11:16:29 | MemberCall | Foo.qll:16:25:16:25 | Integer | semmle.order | 48 |
| Foo.qll:16:11:16:29 | MemberCall | Foo.qll:16:28:16:28 | Integer | semmle.label | getArgument(_) |
-| Foo.qll:16:11:16:29 | MemberCall | Foo.qll:16:28:16:28 | Integer | semmle.order | 48 |
+| Foo.qll:16:11:16:29 | MemberCall | Foo.qll:16:28:16:28 | Integer | semmle.order | 49 |
| Foo.qll:18:3:18:9 | InlineCast | Foo.qll:18:3:18:3 | f | semmle.label | getBase() |
-| Foo.qll:18:3:18:9 | InlineCast | Foo.qll:18:3:18:3 | f | semmle.order | 49 |
+| Foo.qll:18:3:18:9 | InlineCast | Foo.qll:18:3:18:3 | f | semmle.order | 50 |
| Foo.qll:18:3:18:9 | InlineCast | Foo.qll:18:6:18:8 | TypeExpr | semmle.label | getTypeExpr() |
-| Foo.qll:18:3:18:9 | InlineCast | Foo.qll:18:6:18:8 | TypeExpr | semmle.order | 53 |
+| Foo.qll:18:3:18:9 | InlineCast | Foo.qll:18:6:18:8 | TypeExpr | semmle.order | 54 |
| Foo.qll:18:3:18:20 | MemberCall | Foo.qll:18:3:18:9 | InlineCast | semmle.label | getBase() |
-| Foo.qll:18:3:18:20 | MemberCall | Foo.qll:18:3:18:9 | InlineCast | semmle.order | 49 |
+| Foo.qll:18:3:18:20 | MemberCall | Foo.qll:18:3:18:9 | InlineCast | semmle.order | 50 |
| Foo.qll:18:3:18:28 | ComparisonFormula | Foo.qll:18:3:18:20 | MemberCall | semmle.label | getLeftOperand() |
-| Foo.qll:18:3:18:28 | ComparisonFormula | Foo.qll:18:3:18:20 | MemberCall | semmle.order | 49 |
+| Foo.qll:18:3:18:28 | ComparisonFormula | Foo.qll:18:3:18:20 | MemberCall | semmle.order | 50 |
| Foo.qll:18:3:18:28 | ComparisonFormula | Foo.qll:18:24:18:28 | String | semmle.label | getRightOperand() |
-| Foo.qll:18:3:18:28 | ComparisonFormula | Foo.qll:18:24:18:28 | String | semmle.order | 54 |
+| Foo.qll:18:3:18:28 | ComparisonFormula | Foo.qll:18:24:18:28 | String | semmle.order | 55 |
| Foo.qll:20:3:20:9 | InlineCast | Foo.qll:20:3:20:3 | f | semmle.label | getBase() |
-| Foo.qll:20:3:20:9 | InlineCast | Foo.qll:20:3:20:3 | f | semmle.order | 55 |
+| Foo.qll:20:3:20:9 | InlineCast | Foo.qll:20:3:20:3 | f | semmle.order | 56 |
| Foo.qll:20:3:20:9 | InlineCast | Foo.qll:20:6:20:8 | TypeExpr | semmle.label | getTypeExpr() |
-| Foo.qll:20:3:20:9 | InlineCast | Foo.qll:20:6:20:8 | TypeExpr | semmle.order | 58 |
+| Foo.qll:20:3:20:9 | InlineCast | Foo.qll:20:6:20:8 | TypeExpr | semmle.order | 59 |
| Foo.qll:20:3:20:13 | ComparisonFormula | Foo.qll:20:3:20:9 | InlineCast | semmle.label | getLeftOperand() |
-| Foo.qll:20:3:20:13 | ComparisonFormula | Foo.qll:20:3:20:9 | InlineCast | semmle.order | 55 |
+| Foo.qll:20:3:20:13 | ComparisonFormula | Foo.qll:20:3:20:9 | InlineCast | semmle.order | 56 |
| Foo.qll:20:3:20:13 | ComparisonFormula | Foo.qll:20:13:20:13 | f | semmle.label | getRightOperand() |
-| Foo.qll:20:3:20:13 | ComparisonFormula | Foo.qll:20:13:20:13 | f | semmle.order | 59 |
+| Foo.qll:20:3:20:13 | ComparisonFormula | Foo.qll:20:13:20:13 | f | semmle.order | 60 |
| Foo.qll:22:3:22:16 | ComparisonFormula | Foo.qll:22:3:22:3 | f | semmle.label | getLeftOperand() |
-| Foo.qll:22:3:22:16 | ComparisonFormula | Foo.qll:22:3:22:3 | f | semmle.order | 60 |
+| Foo.qll:22:3:22:16 | ComparisonFormula | Foo.qll:22:3:22:3 | f | semmle.order | 61 |
| Foo.qll:22:3:22:16 | ComparisonFormula | Foo.qll:22:7:22:16 | Any | semmle.label | getRightOperand() |
-| Foo.qll:22:3:22:16 | ComparisonFormula | Foo.qll:22:7:22:16 | Any | semmle.order | 62 |
+| Foo.qll:22:3:22:16 | ComparisonFormula | Foo.qll:22:7:22:16 | Any | semmle.order | 63 |
| Foo.qll:22:7:22:16 | Any | Foo.qll:22:11:22:15 | f | semmle.label | getArgument(_) |
-| Foo.qll:22:7:22:16 | Any | Foo.qll:22:11:22:15 | f | semmle.order | 63 |
+| Foo.qll:22:7:22:16 | Any | Foo.qll:22:11:22:15 | f | semmle.order | 64 |
| Foo.qll:22:11:22:15 | f | Foo.qll:22:11:22:13 | TypeExpr | semmle.label | getTypeExpr() |
-| Foo.qll:22:11:22:15 | f | Foo.qll:22:11:22:13 | TypeExpr | semmle.order | 63 |
+| Foo.qll:22:11:22:15 | f | Foo.qll:22:11:22:13 | TypeExpr | semmle.order | 64 |
| Foo.qll:24:3:24:23 | ComparisonFormula | Foo.qll:24:3:24:3 | Integer | semmle.label | getLeftOperand() |
-| Foo.qll:24:3:24:23 | ComparisonFormula | Foo.qll:24:3:24:3 | Integer | semmle.order | 65 |
+| Foo.qll:24:3:24:23 | ComparisonFormula | Foo.qll:24:3:24:3 | Integer | semmle.order | 66 |
| Foo.qll:24:3:24:23 | ComparisonFormula | Foo.qll:24:7:24:23 | AddExpr | semmle.label | getRightOperand() |
-| Foo.qll:24:3:24:23 | ComparisonFormula | Foo.qll:24:7:24:23 | AddExpr | semmle.order | 67 |
+| Foo.qll:24:3:24:23 | ComparisonFormula | Foo.qll:24:7:24:23 | AddExpr | semmle.order | 68 |
| Foo.qll:24:7:24:23 | AddExpr | Foo.qll:24:7:24:7 | Integer | semmle.label | getLeftOperand() |
-| Foo.qll:24:7:24:23 | AddExpr | Foo.qll:24:7:24:7 | Integer | semmle.order | 67 |
+| Foo.qll:24:7:24:23 | AddExpr | Foo.qll:24:7:24:7 | Integer | semmle.order | 68 |
| Foo.qll:24:7:24:23 | AddExpr | Foo.qll:24:12:24:22 | AddExpr | semmle.label | getRightOperand() |
-| Foo.qll:24:7:24:23 | AddExpr | Foo.qll:24:12:24:22 | AddExpr | semmle.order | 69 |
+| Foo.qll:24:7:24:23 | AddExpr | Foo.qll:24:12:24:22 | AddExpr | semmle.order | 70 |
| Foo.qll:24:12:24:22 | AddExpr | Foo.qll:24:12:24:12 | Integer | semmle.label | getLeftOperand() |
-| Foo.qll:24:12:24:22 | AddExpr | Foo.qll:24:12:24:12 | Integer | semmle.order | 69 |
+| Foo.qll:24:12:24:22 | AddExpr | Foo.qll:24:12:24:12 | Integer | semmle.order | 70 |
| Foo.qll:24:12:24:22 | AddExpr | Foo.qll:24:17:24:21 | AddExpr | semmle.label | getRightOperand() |
-| Foo.qll:24:12:24:22 | AddExpr | Foo.qll:24:17:24:21 | AddExpr | semmle.order | 71 |
+| Foo.qll:24:12:24:22 | AddExpr | Foo.qll:24:17:24:21 | AddExpr | semmle.order | 72 |
| Foo.qll:24:17:24:21 | AddExpr | Foo.qll:24:17:24:17 | Integer | semmle.label | getLeftOperand() |
-| Foo.qll:24:17:24:21 | AddExpr | Foo.qll:24:17:24:17 | Integer | semmle.order | 71 |
+| Foo.qll:24:17:24:21 | AddExpr | Foo.qll:24:17:24:17 | Integer | semmle.order | 72 |
| Foo.qll:24:17:24:21 | AddExpr | Foo.qll:24:21:24:21 | Integer | semmle.label | getRightOperand() |
-| Foo.qll:24:17:24:21 | AddExpr | Foo.qll:24:21:24:21 | Integer | semmle.order | 73 |
+| Foo.qll:24:17:24:21 | AddExpr | Foo.qll:24:21:24:21 | Integer | semmle.order | 74 |
| Foo.qll:26:3:26:14 | ComparisonFormula | Foo.qll:26:3:26:6 | Boolean | semmle.label | getLeftOperand() |
-| Foo.qll:26:3:26:14 | ComparisonFormula | Foo.qll:26:3:26:6 | Boolean | semmle.order | 74 |
+| Foo.qll:26:3:26:14 | ComparisonFormula | Foo.qll:26:3:26:6 | Boolean | semmle.order | 75 |
| Foo.qll:26:3:26:14 | ComparisonFormula | Foo.qll:26:10:26:14 | Boolean | semmle.label | getRightOperand() |
-| Foo.qll:26:3:26:14 | ComparisonFormula | Foo.qll:26:10:26:14 | Boolean | semmle.order | 76 |
+| Foo.qll:26:3:26:14 | ComparisonFormula | Foo.qll:26:10:26:14 | Boolean | semmle.order | 77 |
+| printAst.ql:1:1:1:28 | Import | printAst.ql:1:18:1:28 | printAstAst | semmle.label | getModuleExpr() |
+| printAst.ql:1:1:1:28 | Import | printAst.ql:1:18:1:28 | printAstAst | semmle.order | 80 |
| printAst.ql:1:1:1:29 | TopLevel | printAst.ql:1:1:1:28 | Import | semmle.label | getAnImport() |
-| printAst.ql:1:1:1:29 | TopLevel | printAst.ql:1:1:1:28 | Import | semmle.order | 77 |
+| printAst.ql:1:1:1:29 | TopLevel | printAst.ql:1:1:1:28 | Import | semmle.order | 78 |
graphProperties
| semmle.graphKind | tree |
From 3005b4bfcc2a3398518956d5f9cec535b7a1ee5e Mon Sep 17 00:00:00 2001
From: Erik Krogh Kristensen
Date: Mon, 8 Aug 2022 14:18:11 +0200
Subject: [PATCH 120/600] cleanup the query pack after compilation, to avoid
including that in the following analysis
---
.github/workflows/ql-for-ql-build.yml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/.github/workflows/ql-for-ql-build.yml b/.github/workflows/ql-for-ql-build.yml
index f5df6291b62..7c3b8ccb78c 100644
--- a/.github/workflows/ql-for-ql-build.yml
+++ b/.github/workflows/ql-for-ql-build.yml
@@ -40,6 +40,7 @@ jobs:
"${CODEQL}" pack create
cd .codeql/pack/codeql/ql/0.0.0
zip "${PACKZIP}" -r .
+ rm -rf *
env:
CODEQL: ${{ steps.find-codeql.outputs.codeql-path }}
PACKZIP: ${{ runner.temp }}/query-pack.zip
@@ -117,6 +118,7 @@ jobs:
fi
cd pack
zip -rq ../codeql-ql.zip .
+ rm -rf *
- uses: actions/upload-artifact@v3
with:
name: codeql-ql-pack
From fcdba7ce57558a81f7b5faedbe849e554c7d6aa3 Mon Sep 17 00:00:00 2001
From: Erik Krogh Kristensen
Date: Tue, 9 Aug 2022 10:57:57 +0200
Subject: [PATCH 121/600] speed up resolving fields
---
ql/ql/src/codeql_ql/ast/internal/Variable.qll | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/ql/ql/src/codeql_ql/ast/internal/Variable.qll b/ql/ql/src/codeql_ql/ast/internal/Variable.qll
index 09f5894b20e..aa62c396404 100644
--- a/ql/ql/src/codeql_ql/ast/internal/Variable.qll
+++ b/ql/ql/src/codeql_ql/ast/internal/Variable.qll
@@ -73,7 +73,12 @@ private module Cached {
cached
predicate resolveField(Identifier i, VarDef decl) {
- scopeOf(i).containsField(decl, pragma[only_bind_into](getName(i)))
+ resolveFieldHelper(scopeOf(i), decl, getName(i))
+ }
+
+ pragma[noinline]
+ private predicate resolveFieldHelper(VariableScope scope, VarDef decl, string name) {
+ scope.containsField(decl, name)
}
}
From 79a8f96139aef35269d2fb8fa2ee74abc34164f9 Mon Sep 17 00:00:00 2001
From: Erik Krogh Kristensen
Date: Tue, 9 Aug 2022 11:04:49 +0200
Subject: [PATCH 122/600] disable the ModConsistency::noResolve predicate for
qltests
---
ql/ql/src/codeql_ql/ast/internal/Module.qll | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/ql/ql/src/codeql_ql/ast/internal/Module.qll b/ql/ql/src/codeql_ql/ast/internal/Module.qll
index 9df60148c37..54a45178e0a 100644
--- a/ql/ql/src/codeql_ql/ast/internal/Module.qll
+++ b/ql/ql/src/codeql_ql/ast/internal/Module.qll
@@ -391,5 +391,6 @@ module ModConsistency {
not i.getResolvedModule().getEnclosing*().asModule().hasParameter(_, _, _)
}
- query predicate noResolve(Import i) { not exists(i.getResolvedModule()) }
+ // not a query predicate, because this fails when running qltests, but it passes on the real thing (so it's used in EmptyConsistencies.ql)
+ predicate noResolve(Import i) { not exists(i.getResolvedModule()) }
}
From ad09386c5e7a2e3aaa59186bdb9f0a35f29b64d0 Mon Sep 17 00:00:00 2001
From: Erik Krogh Kristensen
Date: Tue, 9 Aug 2022 11:05:28 +0200
Subject: [PATCH 123/600] add explicit this
---
ql/ql/src/codeql_ql/ast/Ast.qll | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ql/ql/src/codeql_ql/ast/Ast.qll b/ql/ql/src/codeql_ql/ast/Ast.qll
index 4d0aaeaab21..6d72be61830 100644
--- a/ql/ql/src/codeql_ql/ast/Ast.qll
+++ b/ql/ql/src/codeql_ql/ast/Ast.qll
@@ -1182,7 +1182,7 @@ class Import extends TImport, ModuleMember, TypeRef {
*
* Does NOT include type arguments!
*/
- string getSelectionName() { result = getModuleExpr().getQualifiedName() }
+ string getSelectionName() { result = this.getModuleExpr().getQualifiedName() }
/**
* Gets the module expression selected in the import statement.
From 77277a9e1bf194f671ba657ca28ae0186ba194ad Mon Sep 17 00:00:00 2001
From: Erik Krogh Kristensen
Date: Tue, 9 Aug 2022 11:11:26 +0200
Subject: [PATCH 124/600] rename YAMLValue to YamlValue
---
ql/ql/src/codeql_ql/ast/Ast.qll | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/ql/ql/src/codeql_ql/ast/Ast.qll b/ql/ql/src/codeql_ql/ast/Ast.qll
index 6d72be61830..328f83d04e0 100644
--- a/ql/ql/src/codeql_ql/ast/Ast.qll
+++ b/ql/ql/src/codeql_ql/ast/Ast.qll
@@ -2488,7 +2488,7 @@ module YAML {
YamlListItem getListItem() { toGenerateYaml(result).getParent() = yamle }
/** Gets the value of this YAML entry. */
- YAMLValue getValue() {
+ YamlValue getValue() {
exists(Yaml::Keyvaluepair pair |
pair.getParent() = yamle and
result = TYamlValue(pair.getValue())
@@ -2510,7 +2510,7 @@ module YAML {
/**
* Gets the value of this YAML key.
*/
- YAMLValue getValue() {
+ YamlValue getValue() {
exists(Yaml::Keyvaluepair pair |
pair.getKey() = yamlkey and result = TYamlValue(pair.getValue())
)
@@ -2549,7 +2549,7 @@ module YAML {
/**
* Gets the value of this YAML list item.
*/
- YAMLValue getValue() { result = TYamlValue(yamllistitem.getChild()) }
+ YamlValue getValue() { result = TYamlValue(yamllistitem.getChild()) }
override string getAPrimaryQlClass() { result = "YamlListItem" }
}
@@ -2558,12 +2558,12 @@ module YAML {
deprecated class YAMLListItem = YamlListItem;
/** A YAML value. */
- class YAMLValue extends TYamlValue, YAMLNode {
+ class YamlValue extends TYamlValue, YAMLNode {
Yaml::Value yamlvalue;
- YAMLValue() { this = TYamlValue(yamlvalue) }
+ YamlValue() { this = TYamlValue(yamlvalue) }
- override string getAPrimaryQlClass() { result = "YAMLValue" }
+ override string getAPrimaryQlClass() { result = "YamlValue" }
/** Gets the value of this YAML value. */
string getValue() { result = yamlvalue.getValue() }
From 160208188e4f37b598c9ac09624b227c81737af7 Mon Sep 17 00:00:00 2001
From: Erik Krogh Kristensen
Date: Tue, 9 Aug 2022 11:12:03 +0200
Subject: [PATCH 125/600] remove redundant cast
---
ql/ql/src/codeql_ql/ast/Ast.qll | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ql/ql/src/codeql_ql/ast/Ast.qll b/ql/ql/src/codeql_ql/ast/Ast.qll
index 328f83d04e0..27c9937a009 100644
--- a/ql/ql/src/codeql_ql/ast/Ast.qll
+++ b/ql/ql/src/codeql_ql/ast/Ast.qll
@@ -115,7 +115,7 @@ class TopLevel extends TTopLevel, AstNode {
ModuleMember getAMember() { result = this.getMember(_) }
/** Gets the `i`'th member of this top-level module. */
- ModuleMember getMember(int i) { toQL(result) = file.getChild(i).(QL::ModuleMember).getChild(_) }
+ ModuleMember getMember(int i) { toQL(result) = file.getChild(i).getChild(_) }
/** Gets a top-level import in this module. */
Import getAnImport() { result = this.getAMember() }
From 9b1842b18e33454f5c36c314c157218b4d2dcde8 Mon Sep 17 00:00:00 2001
From: Erik Krogh Kristensen
Date: Tue, 9 Aug 2022 12:13:59 +0200
Subject: [PATCH 126/600] use an exclusion filter in the ModConsistency
predicates (consistency query is now empty)
---
ql/ql/src/codeql_ql/ast/internal/Module.qll | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/ql/ql/src/codeql_ql/ast/internal/Module.qll b/ql/ql/src/codeql_ql/ast/internal/Module.qll
index 54a45178e0a..26f0cc11dbc 100644
--- a/ql/ql/src/codeql_ql/ast/internal/Module.qll
+++ b/ql/ql/src/codeql_ql/ast/internal/Module.qll
@@ -388,9 +388,19 @@ module ModConsistency {
not exists(mod.asModule().getAlias())
) >= 2 and
// paramerized modules are not treated nicely, so we ignore them here.
- not i.getResolvedModule().getEnclosing*().asModule().hasParameter(_, _, _)
+ not i.getResolvedModule().getEnclosing*().asModule().hasParameter(_, _, _) and
+ not i.getLocation()
+ .getFile()
+ .getAbsolutePath()
+ .regexpMatch(".*/(test|examples|ql-training|recorded-call-graph-metrics)/.*")
}
// not a query predicate, because this fails when running qltests, but it passes on the real thing (so it's used in EmptyConsistencies.ql)
- predicate noResolve(Import i) { not exists(i.getResolvedModule()) }
+ predicate noResolve(Import i) {
+ not exists(i.getResolvedModule()) and
+ not i.getLocation()
+ .getFile()
+ .getAbsolutePath()
+ .regexpMatch(".*/(test|examples|ql-training|recorded-call-graph-metrics)/.*")
+ }
}
From 2feb9db96cdead8b6976981e631c966b0b647d0e Mon Sep 17 00:00:00 2001
From: erik-krogh
Date: Thu, 11 Aug 2022 12:33:03 +0200
Subject: [PATCH 127/600] re-enable consistency checks for swift
---
ql/ql/src/queries/diagnostics/EmptyConsistencies.ql | 1 -
1 file changed, 1 deletion(-)
diff --git a/ql/ql/src/queries/diagnostics/EmptyConsistencies.ql b/ql/ql/src/queries/diagnostics/EmptyConsistencies.ql
index b57fffd52ff..4964ee4ae9d 100644
--- a/ql/ql/src/queries/diagnostics/EmptyConsistencies.ql
+++ b/ql/ql/src/queries/diagnostics/EmptyConsistencies.ql
@@ -63,7 +63,6 @@ where
.matches("%/" +
[
"docs", // docs is not meant to compile on it's own
- "swift", // Swift has lots of code that doesn't compile
"ql/ql/test" // the QL-for-QL tests are not meant to compile
] + "/%")
select node, msg
From 57c4f9145be0235a80e24b63b2a6405d12fa027c Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
Date: Thu, 11 Aug 2022 11:12:15 +0000
Subject: [PATCH 128/600] Release preparation for version 2.10.3
---
cpp/ql/lib/CHANGELOG.md | 12 ++++++++++++
.../lib/change-notes/2022-06-23-global-var-flow.md | 4 ----
.../2022-07-26-additional-builtin-support.md | 4 ----
.../2022-08-02-must-flow-local-only-flow.md | 4 ----
...22-08-10-constant-attribute-argument-support.md | 4 ----
cpp/ql/lib/change-notes/released/0.3.3.md | 11 +++++++++++
cpp/ql/lib/codeql-pack.release.yml | 2 +-
cpp/ql/lib/qlpack.yml | 2 +-
cpp/ql/src/CHANGELOG.md | 6 ++++++
.../0.3.2.md} | 7 ++++---
cpp/ql/src/codeql-pack.release.yml | 2 +-
cpp/ql/src/qlpack.yml | 2 +-
csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md | 2 ++
.../Solorigate/lib/change-notes/released/1.2.3.md | 1 +
.../Solorigate/lib/codeql-pack.release.yml | 2 +-
csharp/ql/campaigns/Solorigate/lib/qlpack.yml | 2 +-
csharp/ql/campaigns/Solorigate/src/CHANGELOG.md | 2 ++
.../Solorigate/src/change-notes/released/1.2.3.md | 1 +
.../Solorigate/src/codeql-pack.release.yml | 2 +-
csharp/ql/campaigns/Solorigate/src/qlpack.yml | 2 +-
csharp/ql/lib/CHANGELOG.md | 2 ++
csharp/ql/lib/change-notes/released/0.3.3.md | 1 +
csharp/ql/lib/codeql-pack.release.yml | 2 +-
csharp/ql/lib/qlpack.yml | 2 +-
csharp/ql/src/CHANGELOG.md | 2 ++
csharp/ql/src/change-notes/released/0.3.2.md | 1 +
csharp/ql/src/codeql-pack.release.yml | 2 +-
csharp/ql/src/qlpack.yml | 2 +-
go/ql/lib/CHANGELOG.md | 2 ++
go/ql/lib/change-notes/released/0.2.3.md | 1 +
go/ql/lib/codeql-pack.release.yml | 2 +-
go/ql/lib/qlpack.yml | 2 +-
go/ql/src/CHANGELOG.md | 6 ++++++
.../0.2.3.md} | 7 ++++---
go/ql/src/codeql-pack.release.yml | 2 +-
go/ql/src/qlpack.yml | 2 +-
java/ql/lib/CHANGELOG.md | 7 +++++++
java/ql/lib/change-notes/2022-08-03-properties.md | 4 ----
.../2022-08-05-asynctask-improvements.md | 4 ----
java/ql/lib/change-notes/released/0.3.3.md | 6 ++++++
java/ql/lib/codeql-pack.release.yml | 2 +-
java/ql/lib/qlpack.yml | 2 +-
java/ql/src/CHANGELOG.md | 14 ++++++++++++++
...6-22-improper-webview-certificate-validation.md | 4 ----
.../change-notes/2022-08-03-tainted-path-mad.md | 4 ----
.../change-notes/2022-08-10-sensitive-log-dedup.md | 4 ----
java/ql/src/change-notes/released/0.3.2.md | 13 +++++++++++++
java/ql/src/codeql-pack.release.yml | 2 +-
java/ql/src/qlpack.yml | 2 +-
javascript/ql/lib/CHANGELOG.md | 2 ++
javascript/ql/lib/change-notes/released/0.2.3.md | 1 +
javascript/ql/lib/codeql-pack.release.yml | 2 +-
javascript/ql/lib/qlpack.yml | 2 +-
javascript/ql/src/CHANGELOG.md | 2 ++
javascript/ql/src/change-notes/released/0.3.2.md | 1 +
javascript/ql/src/codeql-pack.release.yml | 2 +-
javascript/ql/src/qlpack.yml | 2 +-
python/ql/lib/CHANGELOG.md | 6 ++++++
.../0.5.3.md} | 7 ++++---
python/ql/lib/codeql-pack.release.yml | 2 +-
python/ql/lib/qlpack.yml | 2 +-
python/ql/src/CHANGELOG.md | 2 ++
python/ql/src/change-notes/released/0.4.1.md | 1 +
python/ql/src/codeql-pack.release.yml | 2 +-
python/ql/src/qlpack.yml | 2 +-
ruby/ql/lib/CHANGELOG.md | 12 ++++++++++++
.../2022-08-04-active-record-writes.md | 5 -----
ruby/ql/lib/change-notes/2022-08-04-mime-type.md | 5 -----
.../2022-08-05-active-record-associations.md | 6 ------
ruby/ql/lib/change-notes/released/0.3.3.md | 11 +++++++++++
ruby/ql/lib/codeql-pack.release.yml | 2 +-
ruby/ql/lib/qlpack.yml | 2 +-
ruby/ql/src/CHANGELOG.md | 2 ++
ruby/ql/src/change-notes/released/0.3.2.md | 1 +
ruby/ql/src/codeql-pack.release.yml | 2 +-
ruby/ql/src/qlpack.yml | 2 +-
76 files changed, 175 insertions(+), 93 deletions(-)
delete mode 100644 cpp/ql/lib/change-notes/2022-06-23-global-var-flow.md
delete mode 100644 cpp/ql/lib/change-notes/2022-07-26-additional-builtin-support.md
delete mode 100644 cpp/ql/lib/change-notes/2022-08-02-must-flow-local-only-flow.md
delete mode 100644 cpp/ql/lib/change-notes/2022-08-10-constant-attribute-argument-support.md
create mode 100644 cpp/ql/lib/change-notes/released/0.3.3.md
rename cpp/ql/src/change-notes/{2021-08-10-use-strcpyfunction-in-bad-strncpy-size.md => released/0.3.2.md} (82%)
create mode 100644 csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.2.3.md
create mode 100644 csharp/ql/campaigns/Solorigate/src/change-notes/released/1.2.3.md
create mode 100644 csharp/ql/lib/change-notes/released/0.3.3.md
create mode 100644 csharp/ql/src/change-notes/released/0.3.2.md
create mode 100644 go/ql/lib/change-notes/released/0.2.3.md
rename go/ql/src/change-notes/{2022-08-02-path-injection-sanitizer.md => released/0.2.3.md} (74%)
delete mode 100644 java/ql/lib/change-notes/2022-08-03-properties.md
delete mode 100644 java/ql/lib/change-notes/2022-08-05-asynctask-improvements.md
create mode 100644 java/ql/lib/change-notes/released/0.3.3.md
delete mode 100644 java/ql/src/change-notes/2022-06-22-improper-webview-certificate-validation.md
delete mode 100644 java/ql/src/change-notes/2022-08-03-tainted-path-mad.md
delete mode 100644 java/ql/src/change-notes/2022-08-10-sensitive-log-dedup.md
create mode 100644 java/ql/src/change-notes/released/0.3.2.md
create mode 100644 javascript/ql/lib/change-notes/released/0.2.3.md
create mode 100644 javascript/ql/src/change-notes/released/0.3.2.md
rename python/ql/lib/change-notes/{2022-06-15-class-decorator-api-subclass.md => released/0.5.3.md} (73%)
create mode 100644 python/ql/src/change-notes/released/0.4.1.md
delete mode 100644 ruby/ql/lib/change-notes/2022-08-04-active-record-writes.md
delete mode 100644 ruby/ql/lib/change-notes/2022-08-04-mime-type.md
delete mode 100644 ruby/ql/lib/change-notes/2022-08-05-active-record-associations.md
create mode 100644 ruby/ql/lib/change-notes/released/0.3.3.md
create mode 100644 ruby/ql/src/change-notes/released/0.3.2.md
diff --git a/cpp/ql/lib/CHANGELOG.md b/cpp/ql/lib/CHANGELOG.md
index 9b4761ec2ce..6f20ab41c69 100644
--- a/cpp/ql/lib/CHANGELOG.md
+++ b/cpp/ql/lib/CHANGELOG.md
@@ -1,3 +1,15 @@
+## 0.3.3
+
+### New Features
+
+* Added a predicate `getValueConstant` to `AttributeArgument` that yields the argument value as an `Expr` when the value is a constant expression.
+* A new class predicate `MustFlowConfiguration::allowInterproceduralFlow` has been added to the `semmle.code.cpp.ir.dataflow.MustFlow` library. The new predicate can be overridden to disable interprocedural flow.
+* Added subclasses of `BuiltInOperations` for `__builtin_bit_cast`, `__builtin_shuffle`, `__has_unique_object_representations`, `__is_aggregate`, and `__is_assignable`.
+
+### Major Analysis Improvements
+
+* The IR dataflow library now includes flow through global variables. This enables new findings in many scenarios.
+
## 0.3.2
### Bug Fixes
diff --git a/cpp/ql/lib/change-notes/2022-06-23-global-var-flow.md b/cpp/ql/lib/change-notes/2022-06-23-global-var-flow.md
deleted file mode 100644
index ce931ef8de0..00000000000
--- a/cpp/ql/lib/change-notes/2022-06-23-global-var-flow.md
+++ /dev/null
@@ -1,4 +0,0 @@
----
-category: majorAnalysis
----
-* The IR dataflow library now includes flow through global variables. This enables new findings in many scenarios.
diff --git a/cpp/ql/lib/change-notes/2022-07-26-additional-builtin-support.md b/cpp/ql/lib/change-notes/2022-07-26-additional-builtin-support.md
deleted file mode 100644
index 2e4d7db69a5..00000000000
--- a/cpp/ql/lib/change-notes/2022-07-26-additional-builtin-support.md
+++ /dev/null
@@ -1,4 +0,0 @@
----
-category: feature
----
-* Added subclasses of `BuiltInOperations` for `__builtin_bit_cast`, `__builtin_shuffle`, `__has_unique_object_representations`, `__is_aggregate`, and `__is_assignable`.
diff --git a/cpp/ql/lib/change-notes/2022-08-02-must-flow-local-only-flow.md b/cpp/ql/lib/change-notes/2022-08-02-must-flow-local-only-flow.md
deleted file mode 100644
index 820822a5396..00000000000
--- a/cpp/ql/lib/change-notes/2022-08-02-must-flow-local-only-flow.md
+++ /dev/null
@@ -1,4 +0,0 @@
----
-category: feature
----
-* A new class predicate `MustFlowConfiguration::allowInterproceduralFlow` has been added to the `semmle.code.cpp.ir.dataflow.MustFlow` library. The new predicate can be overridden to disable interprocedural flow.
diff --git a/cpp/ql/lib/change-notes/2022-08-10-constant-attribute-argument-support.md b/cpp/ql/lib/change-notes/2022-08-10-constant-attribute-argument-support.md
deleted file mode 100644
index 056190026a8..00000000000
--- a/cpp/ql/lib/change-notes/2022-08-10-constant-attribute-argument-support.md
+++ /dev/null
@@ -1,4 +0,0 @@
----
-category: feature
----
-* Added a predicate `getValueConstant` to `AttributeArgument` that yields the argument value as an `Expr` when the value is a constant expression.
diff --git a/cpp/ql/lib/change-notes/released/0.3.3.md b/cpp/ql/lib/change-notes/released/0.3.3.md
new file mode 100644
index 00000000000..9a459eb7f3b
--- /dev/null
+++ b/cpp/ql/lib/change-notes/released/0.3.3.md
@@ -0,0 +1,11 @@
+## 0.3.3
+
+### New Features
+
+* Added a predicate `getValueConstant` to `AttributeArgument` that yields the argument value as an `Expr` when the value is a constant expression.
+* A new class predicate `MustFlowConfiguration::allowInterproceduralFlow` has been added to the `semmle.code.cpp.ir.dataflow.MustFlow` library. The new predicate can be overridden to disable interprocedural flow.
+* Added subclasses of `BuiltInOperations` for `__builtin_bit_cast`, `__builtin_shuffle`, `__has_unique_object_representations`, `__is_aggregate`, and `__is_assignable`.
+
+### Major Analysis Improvements
+
+* The IR dataflow library now includes flow through global variables. This enables new findings in many scenarios.
diff --git a/cpp/ql/lib/codeql-pack.release.yml b/cpp/ql/lib/codeql-pack.release.yml
index 18c64250f42..9da182d3394 100644
--- a/cpp/ql/lib/codeql-pack.release.yml
+++ b/cpp/ql/lib/codeql-pack.release.yml
@@ -1,2 +1,2 @@
---
-lastReleaseVersion: 0.3.2
+lastReleaseVersion: 0.3.3
diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml
index 06e68dba48c..656023c0b12 100644
--- a/cpp/ql/lib/qlpack.yml
+++ b/cpp/ql/lib/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/cpp-all
-version: 0.3.3-dev
+version: 0.3.3
groups: cpp
dbscheme: semmlecode.cpp.dbscheme
extractor: cpp
diff --git a/cpp/ql/src/CHANGELOG.md b/cpp/ql/src/CHANGELOG.md
index ae7e4f7151b..773bb1be347 100644
--- a/cpp/ql/src/CHANGELOG.md
+++ b/cpp/ql/src/CHANGELOG.md
@@ -1,3 +1,9 @@
+## 0.3.2
+
+### Minor Analysis Improvements
+
+* The query `cpp/bad-strncpy-size` now covers more `strncpy`-like functions than before, including `strxfrm`(`_l`), `wcsxfrm`(`_l`), and `stpncpy`. Users of this query may see an increase in results.
+
## 0.3.1
## 0.3.0
diff --git a/cpp/ql/src/change-notes/2021-08-10-use-strcpyfunction-in-bad-strncpy-size.md b/cpp/ql/src/change-notes/released/0.3.2.md
similarity index 82%
rename from cpp/ql/src/change-notes/2021-08-10-use-strcpyfunction-in-bad-strncpy-size.md
rename to cpp/ql/src/change-notes/released/0.3.2.md
index 3468fec4c8d..1b02e1445e3 100644
--- a/cpp/ql/src/change-notes/2021-08-10-use-strcpyfunction-in-bad-strncpy-size.md
+++ b/cpp/ql/src/change-notes/released/0.3.2.md
@@ -1,4 +1,5 @@
----
-category: minorAnalysis
----
+## 0.3.2
+
+### Minor Analysis Improvements
+
* The query `cpp/bad-strncpy-size` now covers more `strncpy`-like functions than before, including `strxfrm`(`_l`), `wcsxfrm`(`_l`), and `stpncpy`. Users of this query may see an increase in results.
diff --git a/cpp/ql/src/codeql-pack.release.yml b/cpp/ql/src/codeql-pack.release.yml
index bb106b1cb63..18c64250f42 100644
--- a/cpp/ql/src/codeql-pack.release.yml
+++ b/cpp/ql/src/codeql-pack.release.yml
@@ -1,2 +1,2 @@
---
-lastReleaseVersion: 0.3.1
+lastReleaseVersion: 0.3.2
diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml
index 03b90cb3668..c907b87c8b9 100644
--- a/cpp/ql/src/qlpack.yml
+++ b/cpp/ql/src/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/cpp-queries
-version: 0.3.2-dev
+version: 0.3.2
groups:
- cpp
- queries
diff --git a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md
index 0efa6239b0f..e6a2f6edefc 100644
--- a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md
+++ b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md
@@ -1,3 +1,5 @@
+## 1.2.3
+
## 1.2.2
## 1.2.1
diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.2.3.md b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.2.3.md
new file mode 100644
index 00000000000..dec11cbd564
--- /dev/null
+++ b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.2.3.md
@@ -0,0 +1 @@
+## 1.2.3
diff --git a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml
index 0a70a9a01a7..09a7400b594 100644
--- a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml
+++ b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml
@@ -1,2 +1,2 @@
---
-lastReleaseVersion: 1.2.2
+lastReleaseVersion: 1.2.3
diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml
index 78cc75ede63..6ede4a3d983 100644
--- a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml
+++ b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/csharp-solorigate-all
-version: 1.2.3-dev
+version: 1.2.3
groups:
- csharp
- solorigate
diff --git a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md
index 0efa6239b0f..e6a2f6edefc 100644
--- a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md
+++ b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md
@@ -1,3 +1,5 @@
+## 1.2.3
+
## 1.2.2
## 1.2.1
diff --git a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.2.3.md b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.2.3.md
new file mode 100644
index 00000000000..dec11cbd564
--- /dev/null
+++ b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.2.3.md
@@ -0,0 +1 @@
+## 1.2.3
diff --git a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml
index 0a70a9a01a7..09a7400b594 100644
--- a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml
+++ b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml
@@ -1,2 +1,2 @@
---
-lastReleaseVersion: 1.2.2
+lastReleaseVersion: 1.2.3
diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml
index fced50b6ef4..5e6dc3d4ff0 100644
--- a/csharp/ql/campaigns/Solorigate/src/qlpack.yml
+++ b/csharp/ql/campaigns/Solorigate/src/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/csharp-solorigate-queries
-version: 1.2.3-dev
+version: 1.2.3
groups:
- csharp
- solorigate
diff --git a/csharp/ql/lib/CHANGELOG.md b/csharp/ql/lib/CHANGELOG.md
index 5ea16d73e48..ba78aa63788 100644
--- a/csharp/ql/lib/CHANGELOG.md
+++ b/csharp/ql/lib/CHANGELOG.md
@@ -1,3 +1,5 @@
+## 0.3.3
+
## 0.3.2
## 0.3.1
diff --git a/csharp/ql/lib/change-notes/released/0.3.3.md b/csharp/ql/lib/change-notes/released/0.3.3.md
new file mode 100644
index 00000000000..4574a88b38c
--- /dev/null
+++ b/csharp/ql/lib/change-notes/released/0.3.3.md
@@ -0,0 +1 @@
+## 0.3.3
diff --git a/csharp/ql/lib/codeql-pack.release.yml b/csharp/ql/lib/codeql-pack.release.yml
index 18c64250f42..9da182d3394 100644
--- a/csharp/ql/lib/codeql-pack.release.yml
+++ b/csharp/ql/lib/codeql-pack.release.yml
@@ -1,2 +1,2 @@
---
-lastReleaseVersion: 0.3.2
+lastReleaseVersion: 0.3.3
diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml
index 8f932e28c7a..961e5db75fe 100644
--- a/csharp/ql/lib/qlpack.yml
+++ b/csharp/ql/lib/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/csharp-all
-version: 0.3.3-dev
+version: 0.3.3
groups: csharp
dbscheme: semmlecode.csharp.dbscheme
extractor: csharp
diff --git a/csharp/ql/src/CHANGELOG.md b/csharp/ql/src/CHANGELOG.md
index bb530ba1727..e1592a7124e 100644
--- a/csharp/ql/src/CHANGELOG.md
+++ b/csharp/ql/src/CHANGELOG.md
@@ -1,3 +1,5 @@
+## 0.3.2
+
## 0.3.1
## 0.3.0
diff --git a/csharp/ql/src/change-notes/released/0.3.2.md b/csharp/ql/src/change-notes/released/0.3.2.md
new file mode 100644
index 00000000000..8309e697333
--- /dev/null
+++ b/csharp/ql/src/change-notes/released/0.3.2.md
@@ -0,0 +1 @@
+## 0.3.2
diff --git a/csharp/ql/src/codeql-pack.release.yml b/csharp/ql/src/codeql-pack.release.yml
index bb106b1cb63..18c64250f42 100644
--- a/csharp/ql/src/codeql-pack.release.yml
+++ b/csharp/ql/src/codeql-pack.release.yml
@@ -1,2 +1,2 @@
---
-lastReleaseVersion: 0.3.1
+lastReleaseVersion: 0.3.2
diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml
index 9f59ceafaf5..9538cd7aa03 100644
--- a/csharp/ql/src/qlpack.yml
+++ b/csharp/ql/src/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/csharp-queries
-version: 0.3.2-dev
+version: 0.3.2
groups:
- csharp
- queries
diff --git a/go/ql/lib/CHANGELOG.md b/go/ql/lib/CHANGELOG.md
index a4ead0ef794..50c3ba0c65a 100644
--- a/go/ql/lib/CHANGELOG.md
+++ b/go/ql/lib/CHANGELOG.md
@@ -1,3 +1,5 @@
+## 0.2.3
+
## 0.2.2
## 0.2.1
diff --git a/go/ql/lib/change-notes/released/0.2.3.md b/go/ql/lib/change-notes/released/0.2.3.md
new file mode 100644
index 00000000000..b92596ffef1
--- /dev/null
+++ b/go/ql/lib/change-notes/released/0.2.3.md
@@ -0,0 +1 @@
+## 0.2.3
diff --git a/go/ql/lib/codeql-pack.release.yml b/go/ql/lib/codeql-pack.release.yml
index 16a06790aa8..0b605901b42 100644
--- a/go/ql/lib/codeql-pack.release.yml
+++ b/go/ql/lib/codeql-pack.release.yml
@@ -1,2 +1,2 @@
---
-lastReleaseVersion: 0.2.2
+lastReleaseVersion: 0.2.3
diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml
index 789f504c667..f1d2fd68248 100644
--- a/go/ql/lib/qlpack.yml
+++ b/go/ql/lib/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/go-all
-version: 0.2.3-dev
+version: 0.2.3
groups: go
dbscheme: go.dbscheme
extractor: go
diff --git a/go/ql/src/CHANGELOG.md b/go/ql/src/CHANGELOG.md
index c981e074fad..e35b76d2763 100644
--- a/go/ql/src/CHANGELOG.md
+++ b/go/ql/src/CHANGELOG.md
@@ -1,3 +1,9 @@
+## 0.2.3
+
+### Minor Analysis Improvements
+
+* The query `go/path-injection` no longer considers user-controlled numeric or boolean-typed data as potentially dangerous.
+
## 0.2.2
## 0.2.1
diff --git a/go/ql/src/change-notes/2022-08-02-path-injection-sanitizer.md b/go/ql/src/change-notes/released/0.2.3.md
similarity index 74%
rename from go/ql/src/change-notes/2022-08-02-path-injection-sanitizer.md
rename to go/ql/src/change-notes/released/0.2.3.md
index 1c45e8d14e5..11ae5a2a35e 100644
--- a/go/ql/src/change-notes/2022-08-02-path-injection-sanitizer.md
+++ b/go/ql/src/change-notes/released/0.2.3.md
@@ -1,4 +1,5 @@
----
-category: minorAnalysis
----
+## 0.2.3
+
+### Minor Analysis Improvements
+
* The query `go/path-injection` no longer considers user-controlled numeric or boolean-typed data as potentially dangerous.
diff --git a/go/ql/src/codeql-pack.release.yml b/go/ql/src/codeql-pack.release.yml
index 16a06790aa8..0b605901b42 100644
--- a/go/ql/src/codeql-pack.release.yml
+++ b/go/ql/src/codeql-pack.release.yml
@@ -1,2 +1,2 @@
---
-lastReleaseVersion: 0.2.2
+lastReleaseVersion: 0.2.3
diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml
index b19c723b9c7..5adb9c6ff46 100644
--- a/go/ql/src/qlpack.yml
+++ b/go/ql/src/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/go-queries
-version: 0.2.3-dev
+version: 0.2.3
groups:
- go
- queries
diff --git a/java/ql/lib/CHANGELOG.md b/java/ql/lib/CHANGELOG.md
index 150a12f68fe..fbe6733c38f 100644
--- a/java/ql/lib/CHANGELOG.md
+++ b/java/ql/lib/CHANGELOG.md
@@ -1,3 +1,10 @@
+## 0.3.3
+
+### Minor Analysis Improvements
+
+* Improved analysis of the Android class `AsyncTask` so that data can properly flow through its methods according to the life-cycle steps described here: https://developer.android.com/reference/android/os/AsyncTask#the-4-steps.
+* Added a data-flow model for the `setProperty` method of `java.util.Properties`. Additional results may be found where relevant data is stored in and then retrieved from a `Properties` instance.
+
## 0.3.2
### New Features
diff --git a/java/ql/lib/change-notes/2022-08-03-properties.md b/java/ql/lib/change-notes/2022-08-03-properties.md
deleted file mode 100644
index c9626ba2bf9..00000000000
--- a/java/ql/lib/change-notes/2022-08-03-properties.md
+++ /dev/null
@@ -1,4 +0,0 @@
----
-category: minorAnalysis
----
-* Added a data-flow model for the `setProperty` method of `java.util.Properties`. Additional results may be found where relevant data is stored in and then retrieved from a `Properties` instance.
\ No newline at end of file
diff --git a/java/ql/lib/change-notes/2022-08-05-asynctask-improvements.md b/java/ql/lib/change-notes/2022-08-05-asynctask-improvements.md
deleted file mode 100644
index 95c8438b324..00000000000
--- a/java/ql/lib/change-notes/2022-08-05-asynctask-improvements.md
+++ /dev/null
@@ -1,4 +0,0 @@
----
-category: minorAnalysis
----
-* Improved analysis of the Android class `AsyncTask` so that data can properly flow through its methods according to the life-cycle steps described here: https://developer.android.com/reference/android/os/AsyncTask#the-4-steps.
\ No newline at end of file
diff --git a/java/ql/lib/change-notes/released/0.3.3.md b/java/ql/lib/change-notes/released/0.3.3.md
new file mode 100644
index 00000000000..ec467c367d6
--- /dev/null
+++ b/java/ql/lib/change-notes/released/0.3.3.md
@@ -0,0 +1,6 @@
+## 0.3.3
+
+### Minor Analysis Improvements
+
+* Improved analysis of the Android class `AsyncTask` so that data can properly flow through its methods according to the life-cycle steps described here: https://developer.android.com/reference/android/os/AsyncTask#the-4-steps.
+* Added a data-flow model for the `setProperty` method of `java.util.Properties`. Additional results may be found where relevant data is stored in and then retrieved from a `Properties` instance.
diff --git a/java/ql/lib/codeql-pack.release.yml b/java/ql/lib/codeql-pack.release.yml
index 18c64250f42..9da182d3394 100644
--- a/java/ql/lib/codeql-pack.release.yml
+++ b/java/ql/lib/codeql-pack.release.yml
@@ -1,2 +1,2 @@
---
-lastReleaseVersion: 0.3.2
+lastReleaseVersion: 0.3.3
diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml
index 5fe704a4f35..b84086bfb00 100644
--- a/java/ql/lib/qlpack.yml
+++ b/java/ql/lib/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/java-all
-version: 0.3.3-dev
+version: 0.3.3
groups: java
dbscheme: config/semmlecode.dbscheme
extractor: java
diff --git a/java/ql/src/CHANGELOG.md b/java/ql/src/CHANGELOG.md
index 33ae45fbb9f..1132417ac27 100644
--- a/java/ql/src/CHANGELOG.md
+++ b/java/ql/src/CHANGELOG.md
@@ -1,3 +1,17 @@
+## 0.3.2
+
+### New Queries
+
+* A new query "Android `WebView` that accepts all certificates" (`java/improper-webview-certificate-validation`) has been added. This query finds implementations of `WebViewClient`s that accept all certificates in the case of an SSL error.
+
+### Major Analysis Improvements
+
+* The query `java/sensitive-log` has been improved to no longer report results that are effectively duplicates due to one source flowing to another source.
+
+### Minor Analysis Improvements
+
+* The query `java/path-injection` now recognises vulnerable APIs defined using the `SinkModelCsv` class with the `create-file` type. Out of the box this includes Apache Commons-IO functions, as well as any user-defined sinks.
+
## 0.3.1
## 0.3.0
diff --git a/java/ql/src/change-notes/2022-06-22-improper-webview-certificate-validation.md b/java/ql/src/change-notes/2022-06-22-improper-webview-certificate-validation.md
deleted file mode 100644
index 3e80487d772..00000000000
--- a/java/ql/src/change-notes/2022-06-22-improper-webview-certificate-validation.md
+++ /dev/null
@@ -1,4 +0,0 @@
----
-category: newQuery
----
-* A new query "Android `WebView` that accepts all certificates" (`java/improper-webview-certificate-validation`) has been added. This query finds implementations of `WebViewClient`s that accept all certificates in the case of an SSL error.
\ No newline at end of file
diff --git a/java/ql/src/change-notes/2022-08-03-tainted-path-mad.md b/java/ql/src/change-notes/2022-08-03-tainted-path-mad.md
deleted file mode 100644
index 6f70a8f69e1..00000000000
--- a/java/ql/src/change-notes/2022-08-03-tainted-path-mad.md
+++ /dev/null
@@ -1,4 +0,0 @@
----
-category: minorAnalysis
----
-* The query `java/path-injection` now recognises vulnerable APIs defined using the `SinkModelCsv` class with the `create-file` type. Out of the box this includes Apache Commons-IO functions, as well as any user-defined sinks.
diff --git a/java/ql/src/change-notes/2022-08-10-sensitive-log-dedup.md b/java/ql/src/change-notes/2022-08-10-sensitive-log-dedup.md
deleted file mode 100644
index b8fe317f98d..00000000000
--- a/java/ql/src/change-notes/2022-08-10-sensitive-log-dedup.md
+++ /dev/null
@@ -1,4 +0,0 @@
----
-category: majorAnalysis
----
-* The query `java/sensitive-log` has been improved to no longer report results that are effectively duplicates due to one source flowing to another source.
diff --git a/java/ql/src/change-notes/released/0.3.2.md b/java/ql/src/change-notes/released/0.3.2.md
new file mode 100644
index 00000000000..3e2fc491a1d
--- /dev/null
+++ b/java/ql/src/change-notes/released/0.3.2.md
@@ -0,0 +1,13 @@
+## 0.3.2
+
+### New Queries
+
+* A new query "Android `WebView` that accepts all certificates" (`java/improper-webview-certificate-validation`) has been added. This query finds implementations of `WebViewClient`s that accept all certificates in the case of an SSL error.
+
+### Major Analysis Improvements
+
+* The query `java/sensitive-log` has been improved to no longer report results that are effectively duplicates due to one source flowing to another source.
+
+### Minor Analysis Improvements
+
+* The query `java/path-injection` now recognises vulnerable APIs defined using the `SinkModelCsv` class with the `create-file` type. Out of the box this includes Apache Commons-IO functions, as well as any user-defined sinks.
diff --git a/java/ql/src/codeql-pack.release.yml b/java/ql/src/codeql-pack.release.yml
index bb106b1cb63..18c64250f42 100644
--- a/java/ql/src/codeql-pack.release.yml
+++ b/java/ql/src/codeql-pack.release.yml
@@ -1,2 +1,2 @@
---
-lastReleaseVersion: 0.3.1
+lastReleaseVersion: 0.3.2
diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml
index 8c0538014c1..7702f0d5391 100644
--- a/java/ql/src/qlpack.yml
+++ b/java/ql/src/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/java-queries
-version: 0.3.2-dev
+version: 0.3.2
groups:
- java
- queries
diff --git a/javascript/ql/lib/CHANGELOG.md b/javascript/ql/lib/CHANGELOG.md
index 6f359e0ac85..77feb5a9851 100644
--- a/javascript/ql/lib/CHANGELOG.md
+++ b/javascript/ql/lib/CHANGELOG.md
@@ -1,3 +1,5 @@
+## 0.2.3
+
## 0.2.2
## 0.2.1
diff --git a/javascript/ql/lib/change-notes/released/0.2.3.md b/javascript/ql/lib/change-notes/released/0.2.3.md
new file mode 100644
index 00000000000..b92596ffef1
--- /dev/null
+++ b/javascript/ql/lib/change-notes/released/0.2.3.md
@@ -0,0 +1 @@
+## 0.2.3
diff --git a/javascript/ql/lib/codeql-pack.release.yml b/javascript/ql/lib/codeql-pack.release.yml
index 16a06790aa8..0b605901b42 100644
--- a/javascript/ql/lib/codeql-pack.release.yml
+++ b/javascript/ql/lib/codeql-pack.release.yml
@@ -1,2 +1,2 @@
---
-lastReleaseVersion: 0.2.2
+lastReleaseVersion: 0.2.3
diff --git a/javascript/ql/lib/qlpack.yml b/javascript/ql/lib/qlpack.yml
index e559e82a56a..b66aff31f3b 100644
--- a/javascript/ql/lib/qlpack.yml
+++ b/javascript/ql/lib/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/javascript-all
-version: 0.2.3-dev
+version: 0.2.3
groups: javascript
dbscheme: semmlecode.javascript.dbscheme
extractor: javascript
diff --git a/javascript/ql/src/CHANGELOG.md b/javascript/ql/src/CHANGELOG.md
index 00016a45458..440bbc9357f 100644
--- a/javascript/ql/src/CHANGELOG.md
+++ b/javascript/ql/src/CHANGELOG.md
@@ -1,3 +1,5 @@
+## 0.3.2
+
## 0.3.1
### New Queries
diff --git a/javascript/ql/src/change-notes/released/0.3.2.md b/javascript/ql/src/change-notes/released/0.3.2.md
new file mode 100644
index 00000000000..8309e697333
--- /dev/null
+++ b/javascript/ql/src/change-notes/released/0.3.2.md
@@ -0,0 +1 @@
+## 0.3.2
diff --git a/javascript/ql/src/codeql-pack.release.yml b/javascript/ql/src/codeql-pack.release.yml
index bb106b1cb63..18c64250f42 100644
--- a/javascript/ql/src/codeql-pack.release.yml
+++ b/javascript/ql/src/codeql-pack.release.yml
@@ -1,2 +1,2 @@
---
-lastReleaseVersion: 0.3.1
+lastReleaseVersion: 0.3.2
diff --git a/javascript/ql/src/qlpack.yml b/javascript/ql/src/qlpack.yml
index 9852441a368..89ed52a7109 100644
--- a/javascript/ql/src/qlpack.yml
+++ b/javascript/ql/src/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/javascript-queries
-version: 0.3.2-dev
+version: 0.3.2
groups:
- javascript
- queries
diff --git a/python/ql/lib/CHANGELOG.md b/python/ql/lib/CHANGELOG.md
index b57f612b336..d02b6c0dd19 100644
--- a/python/ql/lib/CHANGELOG.md
+++ b/python/ql/lib/CHANGELOG.md
@@ -1,3 +1,9 @@
+## 0.5.3
+
+### Minor Analysis Improvements
+
+* Change `.getASubclass()` on `API::Node` so it allows to follow subclasses even if the class has a class decorator.
+
## 0.5.2
## 0.5.1
diff --git a/python/ql/lib/change-notes/2022-06-15-class-decorator-api-subclass.md b/python/ql/lib/change-notes/released/0.5.3.md
similarity index 73%
rename from python/ql/lib/change-notes/2022-06-15-class-decorator-api-subclass.md
rename to python/ql/lib/change-notes/released/0.5.3.md
index 04beefb14b6..c5387780d5c 100644
--- a/python/ql/lib/change-notes/2022-06-15-class-decorator-api-subclass.md
+++ b/python/ql/lib/change-notes/released/0.5.3.md
@@ -1,4 +1,5 @@
----
-category: minorAnalysis
----
+## 0.5.3
+
+### Minor Analysis Improvements
+
* Change `.getASubclass()` on `API::Node` so it allows to follow subclasses even if the class has a class decorator.
diff --git a/python/ql/lib/codeql-pack.release.yml b/python/ql/lib/codeql-pack.release.yml
index 2d9d3f587f8..2164e038a5d 100644
--- a/python/ql/lib/codeql-pack.release.yml
+++ b/python/ql/lib/codeql-pack.release.yml
@@ -1,2 +1,2 @@
---
-lastReleaseVersion: 0.5.2
+lastReleaseVersion: 0.5.3
diff --git a/python/ql/lib/qlpack.yml b/python/ql/lib/qlpack.yml
index 20d79f44e49..6f181ad34a8 100644
--- a/python/ql/lib/qlpack.yml
+++ b/python/ql/lib/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/python-all
-version: 0.5.3-dev
+version: 0.5.3
groups: python
dbscheme: semmlecode.python.dbscheme
extractor: python
diff --git a/python/ql/src/CHANGELOG.md b/python/ql/src/CHANGELOG.md
index 8fdacb47f64..7aa1b67b230 100644
--- a/python/ql/src/CHANGELOG.md
+++ b/python/ql/src/CHANGELOG.md
@@ -1,3 +1,5 @@
+## 0.4.1
+
## 0.4.0
### Breaking Changes
diff --git a/python/ql/src/change-notes/released/0.4.1.md b/python/ql/src/change-notes/released/0.4.1.md
new file mode 100644
index 00000000000..8c948e67f6d
--- /dev/null
+++ b/python/ql/src/change-notes/released/0.4.1.md
@@ -0,0 +1 @@
+## 0.4.1
diff --git a/python/ql/src/codeql-pack.release.yml b/python/ql/src/codeql-pack.release.yml
index 458bfbeccff..89fa3a87180 100644
--- a/python/ql/src/codeql-pack.release.yml
+++ b/python/ql/src/codeql-pack.release.yml
@@ -1,2 +1,2 @@
---
-lastReleaseVersion: 0.4.0
+lastReleaseVersion: 0.4.1
diff --git a/python/ql/src/qlpack.yml b/python/ql/src/qlpack.yml
index 75227225c64..9e45d5f1001 100644
--- a/python/ql/src/qlpack.yml
+++ b/python/ql/src/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/python-queries
-version: 0.4.1-dev
+version: 0.4.1
groups:
- python
- queries
diff --git a/ruby/ql/lib/CHANGELOG.md b/ruby/ql/lib/CHANGELOG.md
index 09d016efb49..681976087cd 100644
--- a/ruby/ql/lib/CHANGELOG.md
+++ b/ruby/ql/lib/CHANGELOG.md
@@ -1,3 +1,15 @@
+## 0.3.3
+
+### Minor Analysis Improvements
+
+* Calls to methods generated by ActiveRecord associations are now recognised as
+ instantiations of ActiveRecord objects. This increases the sensitivity of
+ queries such as `rb/sql-injection` and `rb/stored-xss`.
+* Calls to `ActiveRecord::Base.create` and `ActiveRecord::Base.update` are now
+ recognised as write accesses.
+* Arguments to `Mime::Type#match?` and `Mime::Type#=~` are now recognised as
+ regular expression sources.
+
## 0.3.2
### Minor Analysis Improvements
diff --git a/ruby/ql/lib/change-notes/2022-08-04-active-record-writes.md b/ruby/ql/lib/change-notes/2022-08-04-active-record-writes.md
deleted file mode 100644
index b2b4d0bc2ad..00000000000
--- a/ruby/ql/lib/change-notes/2022-08-04-active-record-writes.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-category: minorAnalysis
----
-* Calls to `ActiveRecord::Base.create` and `ActiveRecord::Base.update` are now
- recognised as write accesses.
diff --git a/ruby/ql/lib/change-notes/2022-08-04-mime-type.md b/ruby/ql/lib/change-notes/2022-08-04-mime-type.md
deleted file mode 100644
index 033e8ed626c..00000000000
--- a/ruby/ql/lib/change-notes/2022-08-04-mime-type.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-category: minorAnalysis
----
-* Arguments to `Mime::Type#match?` and `Mime::Type#=~` are now recognised as
- regular expression sources.
diff --git a/ruby/ql/lib/change-notes/2022-08-05-active-record-associations.md b/ruby/ql/lib/change-notes/2022-08-05-active-record-associations.md
deleted file mode 100644
index 9fa4d0a6cd5..00000000000
--- a/ruby/ql/lib/change-notes/2022-08-05-active-record-associations.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-category: minorAnalysis
----
-* Calls to methods generated by ActiveRecord associations are now recognised as
- instantiations of ActiveRecord objects. This increases the sensitivity of
- queries such as `rb/sql-injection` and `rb/stored-xss`.
diff --git a/ruby/ql/lib/change-notes/released/0.3.3.md b/ruby/ql/lib/change-notes/released/0.3.3.md
new file mode 100644
index 00000000000..163a2bfdadc
--- /dev/null
+++ b/ruby/ql/lib/change-notes/released/0.3.3.md
@@ -0,0 +1,11 @@
+## 0.3.3
+
+### Minor Analysis Improvements
+
+* Calls to methods generated by ActiveRecord associations are now recognised as
+ instantiations of ActiveRecord objects. This increases the sensitivity of
+ queries such as `rb/sql-injection` and `rb/stored-xss`.
+* Calls to `ActiveRecord::Base.create` and `ActiveRecord::Base.update` are now
+ recognised as write accesses.
+* Arguments to `Mime::Type#match?` and `Mime::Type#=~` are now recognised as
+ regular expression sources.
diff --git a/ruby/ql/lib/codeql-pack.release.yml b/ruby/ql/lib/codeql-pack.release.yml
index 18c64250f42..9da182d3394 100644
--- a/ruby/ql/lib/codeql-pack.release.yml
+++ b/ruby/ql/lib/codeql-pack.release.yml
@@ -1,2 +1,2 @@
---
-lastReleaseVersion: 0.3.2
+lastReleaseVersion: 0.3.3
diff --git a/ruby/ql/lib/qlpack.yml b/ruby/ql/lib/qlpack.yml
index 5a763d9c3dd..e2373ffff74 100644
--- a/ruby/ql/lib/qlpack.yml
+++ b/ruby/ql/lib/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/ruby-all
-version: 0.3.3-dev
+version: 0.3.3
groups: ruby
extractor: ruby
dbscheme: ruby.dbscheme
diff --git a/ruby/ql/src/CHANGELOG.md b/ruby/ql/src/CHANGELOG.md
index 9aeec45dc3f..6dc30a08e3d 100644
--- a/ruby/ql/src/CHANGELOG.md
+++ b/ruby/ql/src/CHANGELOG.md
@@ -1,3 +1,5 @@
+## 0.3.2
+
## 0.3.1
### New Queries
diff --git a/ruby/ql/src/change-notes/released/0.3.2.md b/ruby/ql/src/change-notes/released/0.3.2.md
new file mode 100644
index 00000000000..8309e697333
--- /dev/null
+++ b/ruby/ql/src/change-notes/released/0.3.2.md
@@ -0,0 +1 @@
+## 0.3.2
diff --git a/ruby/ql/src/codeql-pack.release.yml b/ruby/ql/src/codeql-pack.release.yml
index bb106b1cb63..18c64250f42 100644
--- a/ruby/ql/src/codeql-pack.release.yml
+++ b/ruby/ql/src/codeql-pack.release.yml
@@ -1,2 +1,2 @@
---
-lastReleaseVersion: 0.3.1
+lastReleaseVersion: 0.3.2
diff --git a/ruby/ql/src/qlpack.yml b/ruby/ql/src/qlpack.yml
index b713a6c49e3..c8f7fdc64f4 100644
--- a/ruby/ql/src/qlpack.yml
+++ b/ruby/ql/src/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/ruby-queries
-version: 0.3.2-dev
+version: 0.3.2
groups:
- ruby
- queries
From a3fc463d0a34a31fbf7de66dc1ec15839b537558 Mon Sep 17 00:00:00 2001
From: Anders Schack-Mulligen
Date: Thu, 11 Aug 2022 13:24:27 +0200
Subject: [PATCH 129/600] Java: Minor perf improvement.
---
java/ql/lib/semmle/code/java/JDK.qll | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/java/ql/lib/semmle/code/java/JDK.qll b/java/ql/lib/semmle/code/java/JDK.qll
index 32ef7fd4b18..78f7defc32f 100644
--- a/java/ql/lib/semmle/code/java/JDK.qll
+++ b/java/ql/lib/semmle/code/java/JDK.qll
@@ -141,7 +141,8 @@ class TypeNumber extends RefType {
/** A (reflexive, transitive) subtype of `java.lang.Number`. */
class NumberType extends RefType {
- NumberType() { exists(TypeNumber number | hasDescendant(number, this)) }
+ pragma[nomagic]
+ NumberType() { this.getASupertype*() instanceof TypeNumber }
}
/** An immutable type. */
From 21d0c78376ef05620424101874db6f63b506cb6e Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
Date: Thu, 11 Aug 2022 23:20:39 +0000
Subject: [PATCH 130/600] Post-release preparation for codeql-cli-2.10.3
---
cpp/ql/lib/qlpack.yml | 2 +-
cpp/ql/src/qlpack.yml | 2 +-
csharp/ql/campaigns/Solorigate/lib/qlpack.yml | 2 +-
csharp/ql/campaigns/Solorigate/src/qlpack.yml | 2 +-
csharp/ql/lib/qlpack.yml | 2 +-
csharp/ql/src/qlpack.yml | 2 +-
go/ql/lib/qlpack.yml | 2 +-
go/ql/src/qlpack.yml | 2 +-
java/ql/lib/qlpack.yml | 2 +-
java/ql/src/qlpack.yml | 2 +-
javascript/ql/lib/qlpack.yml | 2 +-
javascript/ql/src/qlpack.yml | 2 +-
python/ql/lib/qlpack.yml | 2 +-
python/ql/src/qlpack.yml | 2 +-
ruby/ql/lib/qlpack.yml | 2 +-
ruby/ql/src/qlpack.yml | 2 +-
16 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml
index 656023c0b12..089b767ee8d 100644
--- a/cpp/ql/lib/qlpack.yml
+++ b/cpp/ql/lib/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/cpp-all
-version: 0.3.3
+version: 0.3.4-dev
groups: cpp
dbscheme: semmlecode.cpp.dbscheme
extractor: cpp
diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml
index c907b87c8b9..08cd1fb4641 100644
--- a/cpp/ql/src/qlpack.yml
+++ b/cpp/ql/src/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/cpp-queries
-version: 0.3.2
+version: 0.3.3-dev
groups:
- cpp
- queries
diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml
index 6ede4a3d983..c25094f667e 100644
--- a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml
+++ b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/csharp-solorigate-all
-version: 1.2.3
+version: 1.2.4-dev
groups:
- csharp
- solorigate
diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml
index 5e6dc3d4ff0..d2d8273babb 100644
--- a/csharp/ql/campaigns/Solorigate/src/qlpack.yml
+++ b/csharp/ql/campaigns/Solorigate/src/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/csharp-solorigate-queries
-version: 1.2.3
+version: 1.2.4-dev
groups:
- csharp
- solorigate
diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml
index 961e5db75fe..bbf1b6189ff 100644
--- a/csharp/ql/lib/qlpack.yml
+++ b/csharp/ql/lib/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/csharp-all
-version: 0.3.3
+version: 0.3.4-dev
groups: csharp
dbscheme: semmlecode.csharp.dbscheme
extractor: csharp
diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml
index 9538cd7aa03..04aace591ff 100644
--- a/csharp/ql/src/qlpack.yml
+++ b/csharp/ql/src/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/csharp-queries
-version: 0.3.2
+version: 0.3.3-dev
groups:
- csharp
- queries
diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml
index f1d2fd68248..3c854bd1c39 100644
--- a/go/ql/lib/qlpack.yml
+++ b/go/ql/lib/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/go-all
-version: 0.2.3
+version: 0.2.4-dev
groups: go
dbscheme: go.dbscheme
extractor: go
diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml
index 5adb9c6ff46..977534b7d21 100644
--- a/go/ql/src/qlpack.yml
+++ b/go/ql/src/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/go-queries
-version: 0.2.3
+version: 0.2.4-dev
groups:
- go
- queries
diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml
index b84086bfb00..e43a9cb3929 100644
--- a/java/ql/lib/qlpack.yml
+++ b/java/ql/lib/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/java-all
-version: 0.3.3
+version: 0.3.4-dev
groups: java
dbscheme: config/semmlecode.dbscheme
extractor: java
diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml
index 7702f0d5391..8dd606078e5 100644
--- a/java/ql/src/qlpack.yml
+++ b/java/ql/src/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/java-queries
-version: 0.3.2
+version: 0.3.3-dev
groups:
- java
- queries
diff --git a/javascript/ql/lib/qlpack.yml b/javascript/ql/lib/qlpack.yml
index b66aff31f3b..102c065e3bc 100644
--- a/javascript/ql/lib/qlpack.yml
+++ b/javascript/ql/lib/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/javascript-all
-version: 0.2.3
+version: 0.2.4-dev
groups: javascript
dbscheme: semmlecode.javascript.dbscheme
extractor: javascript
diff --git a/javascript/ql/src/qlpack.yml b/javascript/ql/src/qlpack.yml
index 89ed52a7109..0348ae10c54 100644
--- a/javascript/ql/src/qlpack.yml
+++ b/javascript/ql/src/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/javascript-queries
-version: 0.3.2
+version: 0.3.3-dev
groups:
- javascript
- queries
diff --git a/python/ql/lib/qlpack.yml b/python/ql/lib/qlpack.yml
index 6f181ad34a8..f374566374f 100644
--- a/python/ql/lib/qlpack.yml
+++ b/python/ql/lib/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/python-all
-version: 0.5.3
+version: 0.5.4-dev
groups: python
dbscheme: semmlecode.python.dbscheme
extractor: python
diff --git a/python/ql/src/qlpack.yml b/python/ql/src/qlpack.yml
index 9e45d5f1001..e6b15e49a7d 100644
--- a/python/ql/src/qlpack.yml
+++ b/python/ql/src/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/python-queries
-version: 0.4.1
+version: 0.4.2-dev
groups:
- python
- queries
diff --git a/ruby/ql/lib/qlpack.yml b/ruby/ql/lib/qlpack.yml
index e2373ffff74..f443ef78e77 100644
--- a/ruby/ql/lib/qlpack.yml
+++ b/ruby/ql/lib/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/ruby-all
-version: 0.3.3
+version: 0.3.4-dev
groups: ruby
extractor: ruby
dbscheme: ruby.dbscheme
diff --git a/ruby/ql/src/qlpack.yml b/ruby/ql/src/qlpack.yml
index c8f7fdc64f4..7c57bbf189b 100644
--- a/ruby/ql/src/qlpack.yml
+++ b/ruby/ql/src/qlpack.yml
@@ -1,5 +1,5 @@
name: codeql/ruby-queries
-version: 0.3.2
+version: 0.3.3-dev
groups:
- ruby
- queries
From 50fb6621a95b7b7659e21ed105f75ad396de73b4 Mon Sep 17 00:00:00 2001
From: Chris Smowton
Date: Fri, 12 Aug 2022 09:00:16 +0100
Subject: [PATCH 131/600] Create 2022-08-12-cross-thread-flow.md
---
go/ql/lib/change-notes/2022-08-12-cross-thread-flow.md | 5 +++++
1 file changed, 5 insertions(+)
create mode 100644 go/ql/lib/change-notes/2022-08-12-cross-thread-flow.md
diff --git a/go/ql/lib/change-notes/2022-08-12-cross-thread-flow.md b/go/ql/lib/change-notes/2022-08-12-cross-thread-flow.md
new file mode 100644
index 00000000000..6c624aba6dd
--- /dev/null
+++ b/go/ql/lib/change-notes/2022-08-12-cross-thread-flow.md
@@ -0,0 +1,5 @@
+---
+category: minorAnalysis
+---
+* Fixed data-flow to captured variable references.
+* We now assume that if a channel-typed field is only referred to twice in the user codebase, once in a send operation and once in a receive, then data flows from the send to the receive statement. This enables finding some cross-goroutine flow.
From d023f840de5dd07c9f72b994ee079433f4374e37 Mon Sep 17 00:00:00 2001
From: Michael Nebel
Date: Wed, 10 Aug 2022 09:26:54 +0200
Subject: [PATCH 132/600] C#: Add Enum examples in stub generator test code.
---
.../query-tests/Stubs/All/AllStubs.expected | 2 +-
csharp/ql/test/query-tests/Stubs/All/Test.cs | 28 +++++++++++++++++++
2 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/csharp/ql/test/query-tests/Stubs/All/AllStubs.expected b/csharp/ql/test/query-tests/Stubs/All/AllStubs.expected
index 94d3a4fe826..5c7d428bc07 100644
--- a/csharp/ql/test/query-tests/Stubs/All/AllStubs.expected
+++ b/csharp/ql/test/query-tests/Stubs/All/AllStubs.expected
@@ -1 +1 @@
-| // This file contains auto-generated code.\n\nnamespace A1\n{\n// Generated from `A1.C1` in `Test.cs:146:18:146:19; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C1\n{\n}\n\n}\nnamespace A2\n{\nnamespace B2\n{\n// Generated from `A2.B2.C2` in `Test.cs:153:22:153:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C2\n{\n}\n\n}\n}\nnamespace A3\n{\n// Generated from `A3.C3` in `Test.cs:159:18:159:19; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C3\n{\n}\n\n}\nnamespace A4\n{\n// Generated from `A4.C4` in `Test.cs:169:18:169:19; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C4\n{\n}\n\nnamespace B4\n{\n// Generated from `A4.B4.D4` in `Test.cs:166:22:166:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class D4\n{\n}\n\n}\n}\nnamespace Test\n{\n// Generated from `Test.Class1` in `Test.cs:5:18:5:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class1\n{\n// Generated from `Test.Class1+Class11` in `Test.cs:34:22:34:28; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class11 : Test.Class1.Interface1, Test.Class1.Interface2\n{\n int Test.Class1.Interface2.this[int i] { get => throw null; }\n public void Method1() => throw null;\n void Test.Class1.Interface2.Method2() => throw null;\n}\n\n\n// Generated from `Test.Class1+Class12` in `Test.cs:51:22:51:28; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class12 : Test.Class1.Class11\n{\n}\n\n\n// Generated from `Test.Class1+Class13` in `Test.cs:63:31:63:37; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic abstract class Class13\n{\n protected internal virtual void M() => throw null;\n public virtual void M1() where T: Test.Class1.Class13 => throw null;\n public abstract void M2();\n}\n\n\n// Generated from `Test.Class1+Class14` in `Test.cs:70:31:70:37; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic abstract class Class14 : Test.Class1.Class13\n{\n protected internal override void M() => throw null;\n public override void M1() => throw null;\n public abstract override void M2();\n}\n\n\n// Generated from `Test.Class1+Delegate1<>` in `Test.cs:47:30:47:41; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic delegate void Delegate1(T i, int j);\n\n\n// Generated from `Test.Class1+GenericType<>` in `Test.cs:56:22:56:35; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class GenericType\n{\n// Generated from `Test.Class1+GenericType<>+X` in `Test.cs:58:26:58:26; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class X\n{\n}\n\n\n}\n\n\n// Generated from `Test.Class1+Interface1` in `Test.cs:18:26:18:35; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface Interface1\n{\n void Method1();\n}\n\n\n// Generated from `Test.Class1+Interface2` in `Test.cs:23:38:23:47; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\nprotected internal interface Interface2\n{\n int this[int i] { get; }\n void Method2();\n}\n\n\n// Generated from `Test.Class1+Struct1` in `Test.cs:7:23:7:29; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic struct Struct1\n{\n public void Method(Test.Class1.Struct1 s = default(Test.Class1.Struct1)) => throw null;\n public int i;\n public static int j = default;\n public System.ValueTuple t1;\n public (int,int) t2;\n}\n\n\n public event Test.Class1.Delegate1 Event1;\n public Test.Class1.GenericType.X Prop { get => throw null; }\n}\n\n// Generated from `Test.Class3` in `Test.cs:84:18:84:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class3\n{\n public object Item { get => throw null; set => throw null; }\n [System.Runtime.CompilerServices.IndexerName("MyItem")]\n public object this[string index] { get => throw null; set => throw null; }\n}\n\n// Generated from `Test.Class4` in `Test.cs:91:18:91:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class4\n{\n unsafe public void M(int* p) => throw null;\n}\n\n// Generated from `Test.Class5` in `Test.cs:102:18:102:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class5 : Test.IInterface1\n{\n public void M2() => throw null;\n}\n\n// Generated from `Test.Class6<>` in `Test.cs:107:18:107:26; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class6 where T: class, Test.IInterface1\n{\n public virtual void M1() where T: class, Test.IInterface1, new() => throw null;\n}\n\n// Generated from `Test.Class7` in `Test.cs:114:18:114:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class7 : Test.Class6\n{\n public override void M1() where T: class => throw null;\n}\n\n// Generated from `Test.Class8` in `Test.cs:121:18:121:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class8\n{\n public static int @this = default;\n}\n\n// Generated from `Test.Class9` in `Test.cs:126:18:126:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class9\n{\n// Generated from `Test.Class9+Nested` in `Test.cs:130:22:130:27; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Nested : Test.Class9\n{\n}\n\n\n public Test.Class9.Nested NestedInstance { get => throw null; }\n}\n\n// Generated from `Test.IInterface1` in `Test.cs:96:22:96:32; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface IInterface1\n{\n void M1() => throw null;\n void M2();\n}\n\n}\n\n\n |
+| // This file contains auto-generated code.\n\nnamespace A1\n{\n// Generated from `A1.C1` in `Test.cs:174:18:174:19; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C1\n{\n}\n\n}\nnamespace A2\n{\nnamespace B2\n{\n// Generated from `A2.B2.C2` in `Test.cs:181:22:181:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C2\n{\n}\n\n}\n}\nnamespace A3\n{\n// Generated from `A3.C3` in `Test.cs:187:18:187:19; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C3\n{\n}\n\n}\nnamespace A4\n{\n// Generated from `A4.C4` in `Test.cs:197:18:197:19; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C4\n{\n}\n\nnamespace B4\n{\n// Generated from `A4.B4.D4` in `Test.cs:194:22:194:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class D4\n{\n}\n\n}\n}\nnamespace Test\n{\n// Generated from `Test.Class1` in `Test.cs:5:18:5:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class1\n{\n// Generated from `Test.Class1+Class11` in `Test.cs:34:22:34:28; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class11 : Test.Class1.Interface1, Test.Class1.Interface2\n{\n int Test.Class1.Interface2.this[int i] { get => throw null; }\n public void Method1() => throw null;\n void Test.Class1.Interface2.Method2() => throw null;\n}\n\n\n// Generated from `Test.Class1+Class12` in `Test.cs:51:22:51:28; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class12 : Test.Class1.Class11\n{\n}\n\n\n// Generated from `Test.Class1+Class13` in `Test.cs:63:31:63:37; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic abstract class Class13\n{\n protected internal virtual void M() => throw null;\n public virtual void M1() where T: Test.Class1.Class13 => throw null;\n public abstract void M2();\n}\n\n\n// Generated from `Test.Class1+Class14` in `Test.cs:70:31:70:37; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic abstract class Class14 : Test.Class1.Class13\n{\n protected internal override void M() => throw null;\n public override void M1() => throw null;\n public abstract override void M2();\n}\n\n\n// Generated from `Test.Class1+Delegate1<>` in `Test.cs:47:30:47:41; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic delegate void Delegate1(T i, int j);\n\n\n// Generated from `Test.Class1+GenericType<>` in `Test.cs:56:22:56:35; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class GenericType\n{\n// Generated from `Test.Class1+GenericType<>+X` in `Test.cs:58:26:58:26; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class X\n{\n}\n\n\n}\n\n\n// Generated from `Test.Class1+Interface1` in `Test.cs:18:26:18:35; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface Interface1\n{\n void Method1();\n}\n\n\n// Generated from `Test.Class1+Interface2` in `Test.cs:23:38:23:47; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\nprotected internal interface Interface2\n{\n int this[int i] { get; }\n void Method2();\n}\n\n\n// Generated from `Test.Class1+Struct1` in `Test.cs:7:23:7:29; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic struct Struct1\n{\n public void Method(Test.Class1.Struct1 s = default(Test.Class1.Struct1)) => throw null;\n public int i;\n public static int j = default;\n public System.ValueTuple t1;\n public (int,int) t2;\n}\n\n\n public event Test.Class1.Delegate1 Event1;\n public Test.Class1.GenericType.X Prop { get => throw null; }\n}\n\n// Generated from `Test.Class3` in `Test.cs:84:18:84:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class3\n{\n public object Item { get => throw null; set => throw null; }\n [System.Runtime.CompilerServices.IndexerName("MyItem")]\n public object this[string index] { get => throw null; set => throw null; }\n}\n\n// Generated from `Test.Class4` in `Test.cs:91:18:91:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class4\n{\n unsafe public void M(int* p) => throw null;\n}\n\n// Generated from `Test.Class5` in `Test.cs:102:18:102:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class5 : Test.IInterface1\n{\n public void M2() => throw null;\n}\n\n// Generated from `Test.Class6<>` in `Test.cs:107:18:107:26; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class6 where T: class, Test.IInterface1\n{\n public virtual void M1() where T: class, Test.IInterface1, new() => throw null;\n}\n\n// Generated from `Test.Class7` in `Test.cs:114:18:114:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class7 : Test.Class6\n{\n public override void M1() where T: class => throw null;\n}\n\n// Generated from `Test.Class8` in `Test.cs:121:18:121:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class8\n{\n public static int @this = default;\n}\n\n// Generated from `Test.Class9` in `Test.cs:126:18:126:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class9\n{\n// Generated from `Test.Class9+Nested` in `Test.cs:130:22:130:27; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Nested : Test.Class9\n{\n}\n\n\n public Test.Class9.Nested NestedInstance { get => throw null; }\n}\n\n// Generated from `Test.Enum1` in `Test.cs:138:17:138:21; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic enum Enum1\n{\n None1,\n Some11,\n Some12,\n}\n\n// Generated from `Test.Enum2` in `Test.cs:145:17:145:21; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic enum Enum2\n{\n None2,\n Some21,\n Some22,\n}\n\n// Generated from `Test.Enum3` in `Test.cs:152:17:152:21; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic enum Enum3\n{\n None3,\n Some31,\n Some32,\n}\n\n// Generated from `Test.Enum4` in `Test.cs:159:17:159:21; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic enum Enum4\n{\n None4,\n Some41,\n Some42,\n}\n\n// Generated from `Test.IInterface1` in `Test.cs:96:22:96:32; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface IInterface1\n{\n void M1() => throw null;\n void M2();\n}\n\n}\n\n\n |
diff --git a/csharp/ql/test/query-tests/Stubs/All/Test.cs b/csharp/ql/test/query-tests/Stubs/All/Test.cs
index da498a8cbff..62222557b42 100644
--- a/csharp/ql/test/query-tests/Stubs/All/Test.cs
+++ b/csharp/ql/test/query-tests/Stubs/All/Test.cs
@@ -134,6 +134,34 @@ namespace Test
public Class9.Nested NestedInstance { get; } = new Class9.Nested(1);
}
+
+ public enum Enum1
+ {
+ None1,
+ Some11,
+ Some12
+ }
+
+ public enum Enum2
+ {
+ None2 = 2,
+ Some21 = 1,
+ Some22 = 3
+ }
+
+ public enum Enum3
+ {
+ Some32,
+ Some31,
+ None3
+ }
+
+ public enum Enum4
+ {
+ Some41 = 7,
+ None4 = 2,
+ Some42 = 6
+ }
}
namespace A1
From 284d88d906ebb143d4b5a02163080cba9efc8763 Mon Sep 17 00:00:00 2001
From: Michael Nebel
Date: Wed, 10 Aug 2022 09:30:45 +0200
Subject: [PATCH 133/600] C#: Update stub generator query to explicit include
enum constants.
---
csharp/ql/src/Stubs/Stubs.qll | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/csharp/ql/src/Stubs/Stubs.qll b/csharp/ql/src/Stubs/Stubs.qll
index ea38367c876..dcc6ceab936 100644
--- a/csharp/ql/src/Stubs/Stubs.qll
+++ b/csharp/ql/src/Stubs/Stubs.qll
@@ -726,7 +726,7 @@ pragma[noinline]
private string stubEnumConstant(EnumConstant ec, Assembly assembly) {
ec instanceof GeneratedMember and
ec.getALocation() = assembly and
- result = " " + escapeIfKeyword(ec.getName()) + ",\n"
+ result = " " + escapeIfKeyword(ec.getName()) + "=" + ec.getValue() + ",\n"
}
pragma[noinline]
From 9ff94120d8509b2f7f431c37c8615e64296bd0a3 Mon Sep 17 00:00:00 2001
From: Michael Nebel
Date: Wed, 10 Aug 2022 09:41:41 +0200
Subject: [PATCH 134/600] C#: Update stub generator test(s) expected output.
---
csharp/ql/test/query-tests/Stubs/All/AllStubs.expected | 2 +-
.../query-tests/Stubs/Minimal/MinimalStubsFromSource.expected | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/csharp/ql/test/query-tests/Stubs/All/AllStubs.expected b/csharp/ql/test/query-tests/Stubs/All/AllStubs.expected
index 5c7d428bc07..6eb0a6eb7af 100644
--- a/csharp/ql/test/query-tests/Stubs/All/AllStubs.expected
+++ b/csharp/ql/test/query-tests/Stubs/All/AllStubs.expected
@@ -1 +1 @@
-| // This file contains auto-generated code.\n\nnamespace A1\n{\n// Generated from `A1.C1` in `Test.cs:174:18:174:19; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C1\n{\n}\n\n}\nnamespace A2\n{\nnamespace B2\n{\n// Generated from `A2.B2.C2` in `Test.cs:181:22:181:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C2\n{\n}\n\n}\n}\nnamespace A3\n{\n// Generated from `A3.C3` in `Test.cs:187:18:187:19; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C3\n{\n}\n\n}\nnamespace A4\n{\n// Generated from `A4.C4` in `Test.cs:197:18:197:19; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C4\n{\n}\n\nnamespace B4\n{\n// Generated from `A4.B4.D4` in `Test.cs:194:22:194:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class D4\n{\n}\n\n}\n}\nnamespace Test\n{\n// Generated from `Test.Class1` in `Test.cs:5:18:5:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class1\n{\n// Generated from `Test.Class1+Class11` in `Test.cs:34:22:34:28; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class11 : Test.Class1.Interface1, Test.Class1.Interface2\n{\n int Test.Class1.Interface2.this[int i] { get => throw null; }\n public void Method1() => throw null;\n void Test.Class1.Interface2.Method2() => throw null;\n}\n\n\n// Generated from `Test.Class1+Class12` in `Test.cs:51:22:51:28; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class12 : Test.Class1.Class11\n{\n}\n\n\n// Generated from `Test.Class1+Class13` in `Test.cs:63:31:63:37; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic abstract class Class13\n{\n protected internal virtual void M() => throw null;\n public virtual void M1() where T: Test.Class1.Class13 => throw null;\n public abstract void M2();\n}\n\n\n// Generated from `Test.Class1+Class14` in `Test.cs:70:31:70:37; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic abstract class Class14 : Test.Class1.Class13\n{\n protected internal override void M() => throw null;\n public override void M1() => throw null;\n public abstract override void M2();\n}\n\n\n// Generated from `Test.Class1+Delegate1<>` in `Test.cs:47:30:47:41; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic delegate void Delegate1(T i, int j);\n\n\n// Generated from `Test.Class1+GenericType<>` in `Test.cs:56:22:56:35; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class GenericType\n{\n// Generated from `Test.Class1+GenericType<>+X` in `Test.cs:58:26:58:26; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class X\n{\n}\n\n\n}\n\n\n// Generated from `Test.Class1+Interface1` in `Test.cs:18:26:18:35; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface Interface1\n{\n void Method1();\n}\n\n\n// Generated from `Test.Class1+Interface2` in `Test.cs:23:38:23:47; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\nprotected internal interface Interface2\n{\n int this[int i] { get; }\n void Method2();\n}\n\n\n// Generated from `Test.Class1+Struct1` in `Test.cs:7:23:7:29; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic struct Struct1\n{\n public void Method(Test.Class1.Struct1 s = default(Test.Class1.Struct1)) => throw null;\n public int i;\n public static int j = default;\n public System.ValueTuple t1;\n public (int,int) t2;\n}\n\n\n public event Test.Class1.Delegate1 Event1;\n public Test.Class1.GenericType.X Prop { get => throw null; }\n}\n\n// Generated from `Test.Class3` in `Test.cs:84:18:84:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class3\n{\n public object Item { get => throw null; set => throw null; }\n [System.Runtime.CompilerServices.IndexerName("MyItem")]\n public object this[string index] { get => throw null; set => throw null; }\n}\n\n// Generated from `Test.Class4` in `Test.cs:91:18:91:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class4\n{\n unsafe public void M(int* p) => throw null;\n}\n\n// Generated from `Test.Class5` in `Test.cs:102:18:102:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class5 : Test.IInterface1\n{\n public void M2() => throw null;\n}\n\n// Generated from `Test.Class6<>` in `Test.cs:107:18:107:26; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class6 where T: class, Test.IInterface1\n{\n public virtual void M1() where T: class, Test.IInterface1, new() => throw null;\n}\n\n// Generated from `Test.Class7` in `Test.cs:114:18:114:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class7 : Test.Class6\n{\n public override void M1() where T: class => throw null;\n}\n\n// Generated from `Test.Class8` in `Test.cs:121:18:121:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class8\n{\n public static int @this = default;\n}\n\n// Generated from `Test.Class9` in `Test.cs:126:18:126:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class9\n{\n// Generated from `Test.Class9+Nested` in `Test.cs:130:22:130:27; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Nested : Test.Class9\n{\n}\n\n\n public Test.Class9.Nested NestedInstance { get => throw null; }\n}\n\n// Generated from `Test.Enum1` in `Test.cs:138:17:138:21; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic enum Enum1\n{\n None1,\n Some11,\n Some12,\n}\n\n// Generated from `Test.Enum2` in `Test.cs:145:17:145:21; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic enum Enum2\n{\n None2,\n Some21,\n Some22,\n}\n\n// Generated from `Test.Enum3` in `Test.cs:152:17:152:21; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic enum Enum3\n{\n None3,\n Some31,\n Some32,\n}\n\n// Generated from `Test.Enum4` in `Test.cs:159:17:159:21; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic enum Enum4\n{\n None4,\n Some41,\n Some42,\n}\n\n// Generated from `Test.IInterface1` in `Test.cs:96:22:96:32; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface IInterface1\n{\n void M1() => throw null;\n void M2();\n}\n\n}\n\n\n |
+| // This file contains auto-generated code.\n\nnamespace A1\n{\n// Generated from `A1.C1` in `Test.cs:174:18:174:19; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C1\n{\n}\n\n}\nnamespace A2\n{\nnamespace B2\n{\n// Generated from `A2.B2.C2` in `Test.cs:181:22:181:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C2\n{\n}\n\n}\n}\nnamespace A3\n{\n// Generated from `A3.C3` in `Test.cs:187:18:187:19; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C3\n{\n}\n\n}\nnamespace A4\n{\n// Generated from `A4.C4` in `Test.cs:197:18:197:19; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C4\n{\n}\n\nnamespace B4\n{\n// Generated from `A4.B4.D4` in `Test.cs:194:22:194:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class D4\n{\n}\n\n}\n}\nnamespace Test\n{\n// Generated from `Test.Class1` in `Test.cs:5:18:5:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class1\n{\n// Generated from `Test.Class1+Class11` in `Test.cs:34:22:34:28; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class11 : Test.Class1.Interface1, Test.Class1.Interface2\n{\n int Test.Class1.Interface2.this[int i] { get => throw null; }\n public void Method1() => throw null;\n void Test.Class1.Interface2.Method2() => throw null;\n}\n\n\n// Generated from `Test.Class1+Class12` in `Test.cs:51:22:51:28; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class12 : Test.Class1.Class11\n{\n}\n\n\n// Generated from `Test.Class1+Class13` in `Test.cs:63:31:63:37; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic abstract class Class13\n{\n protected internal virtual void M() => throw null;\n public virtual void M1() where T: Test.Class1.Class13 => throw null;\n public abstract void M2();\n}\n\n\n// Generated from `Test.Class1+Class14` in `Test.cs:70:31:70:37; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic abstract class Class14 : Test.Class1.Class13\n{\n protected internal override void M() => throw null;\n public override void M1() => throw null;\n public abstract override void M2();\n}\n\n\n// Generated from `Test.Class1+Delegate1<>` in `Test.cs:47:30:47:41; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic delegate void Delegate1(T i, int j);\n\n\n// Generated from `Test.Class1+GenericType<>` in `Test.cs:56:22:56:35; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class GenericType\n{\n// Generated from `Test.Class1+GenericType<>+X` in `Test.cs:58:26:58:26; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class X\n{\n}\n\n\n}\n\n\n// Generated from `Test.Class1+Interface1` in `Test.cs:18:26:18:35; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface Interface1\n{\n void Method1();\n}\n\n\n// Generated from `Test.Class1+Interface2` in `Test.cs:23:38:23:47; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\nprotected internal interface Interface2\n{\n int this[int i] { get; }\n void Method2();\n}\n\n\n// Generated from `Test.Class1+Struct1` in `Test.cs:7:23:7:29; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic struct Struct1\n{\n public void Method(Test.Class1.Struct1 s = default(Test.Class1.Struct1)) => throw null;\n public int i;\n public static int j = default;\n public System.ValueTuple t1;\n public (int,int) t2;\n}\n\n\n public event Test.Class1.Delegate1 Event1;\n public Test.Class1.GenericType.X Prop { get => throw null; }\n}\n\n// Generated from `Test.Class3` in `Test.cs:84:18:84:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class3\n{\n public object Item { get => throw null; set => throw null; }\n [System.Runtime.CompilerServices.IndexerName("MyItem")]\n public object this[string index] { get => throw null; set => throw null; }\n}\n\n// Generated from `Test.Class4` in `Test.cs:91:18:91:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class4\n{\n unsafe public void M(int* p) => throw null;\n}\n\n// Generated from `Test.Class5` in `Test.cs:102:18:102:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class5 : Test.IInterface1\n{\n public void M2() => throw null;\n}\n\n// Generated from `Test.Class6<>` in `Test.cs:107:18:107:26; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class6 where T: class, Test.IInterface1\n{\n public virtual void M1() where T: class, Test.IInterface1, new() => throw null;\n}\n\n// Generated from `Test.Class7` in `Test.cs:114:18:114:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class7 : Test.Class6\n{\n public override void M1() where T: class => throw null;\n}\n\n// Generated from `Test.Class8` in `Test.cs:121:18:121:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class8\n{\n public static int @this = default;\n}\n\n// Generated from `Test.Class9` in `Test.cs:126:18:126:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class9\n{\n// Generated from `Test.Class9+Nested` in `Test.cs:130:22:130:27; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Nested : Test.Class9\n{\n}\n\n\n public Test.Class9.Nested NestedInstance { get => throw null; }\n}\n\n// Generated from `Test.Enum1` in `Test.cs:138:17:138:21; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic enum Enum1\n{\n None1=0,\n Some11=1,\n Some12=2,\n}\n\n// Generated from `Test.Enum2` in `Test.cs:145:17:145:21; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic enum Enum2\n{\n None2=2,\n Some21=1,\n Some22=3,\n}\n\n// Generated from `Test.Enum3` in `Test.cs:152:17:152:21; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic enum Enum3\n{\n None3=2,\n Some31=1,\n Some32=0,\n}\n\n// Generated from `Test.Enum4` in `Test.cs:159:17:159:21; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic enum Enum4\n{\n None4=2,\n Some41=7,\n Some42=6,\n}\n\n// Generated from `Test.IInterface1` in `Test.cs:96:22:96:32; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface IInterface1\n{\n void M1() => throw null;\n void M2();\n}\n\n}\n\n\n |
diff --git a/csharp/ql/test/query-tests/Stubs/Minimal/MinimalStubsFromSource.expected b/csharp/ql/test/query-tests/Stubs/Minimal/MinimalStubsFromSource.expected
index 8ee9904f360..f0c0ec49ce1 100644
--- a/csharp/ql/test/query-tests/Stubs/Minimal/MinimalStubsFromSource.expected
+++ b/csharp/ql/test/query-tests/Stubs/Minimal/MinimalStubsFromSource.expected
@@ -1 +1 @@
-| // This file contains auto-generated code.\n\nnamespace System\n{\n// Generated from `System.Uri` in `System.Private.Uri, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Uri : System.Runtime.Serialization.ISerializable\n{\n public override bool Equals(object comparand) => throw null;\n public override int GetHashCode() => throw null;\n void System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext) => throw null;\n public override string ToString() => throw null;\n}\n\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Collections\n{\n// Generated from `System.Collections.SortedList` in `System.Collections.NonGeneric, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class SortedList : System.Collections.ICollection, System.Collections.IDictionary, System.Collections.IEnumerable, System.ICloneable\n{\n public virtual void Add(object key, object value) => throw null;\n public virtual void Clear() => throw null;\n public virtual object Clone() => throw null;\n public virtual bool Contains(object key) => throw null;\n public virtual void CopyTo(System.Array array, int arrayIndex) => throw null;\n public virtual int Count { get => throw null; }\n public virtual object GetByIndex(int index) => throw null;\n public virtual System.Collections.IDictionaryEnumerator GetEnumerator() => throw null;\n System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() => throw null;\n public virtual bool IsFixedSize { get => throw null; }\n public virtual bool IsReadOnly { get => throw null; }\n public virtual bool IsSynchronized { get => throw null; }\n public virtual object this[object key] { get => throw null; set => throw null; }\n public virtual System.Collections.ICollection Keys { get => throw null; }\n public virtual void Remove(object key) => throw null;\n public virtual object SyncRoot { get => throw null; }\n public virtual System.Collections.ICollection Values { get => throw null; }\n}\n\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Collections\n{\nnamespace Generic\n{\n// Generated from `System.Collections.Generic.Stack<>` in `System.Collections, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Stack : System.Collections.Generic.IEnumerable, System.Collections.Generic.IReadOnlyCollection, System.Collections.ICollection, System.Collections.IEnumerable\n{\n void System.Collections.ICollection.CopyTo(System.Array array, int arrayIndex) => throw null;\n public int Count { get => throw null; }\n System.Collections.Generic.IEnumerator System.Collections.Generic.IEnumerable.GetEnumerator() => throw null;\n System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() => throw null;\n bool System.Collections.ICollection.IsSynchronized { get => throw null; }\n public T Peek() => throw null;\n object System.Collections.ICollection.SyncRoot { get => throw null; }\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Collections\n{\nnamespace Specialized\n{\n// Generated from `System.Collections.Specialized.NameObjectCollectionBase` in `System.Collections.Specialized, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic abstract class NameObjectCollectionBase : System.Collections.ICollection, System.Collections.IEnumerable, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable\n{\n void System.Collections.ICollection.CopyTo(System.Array array, int index) => throw null;\n public virtual int Count { get => throw null; }\n public virtual System.Collections.IEnumerator GetEnumerator() => throw null;\n public virtual void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) => throw null;\n bool System.Collections.ICollection.IsSynchronized { get => throw null; }\n public virtual void OnDeserialization(object sender) => throw null;\n object System.Collections.ICollection.SyncRoot { get => throw null; }\n}\n\n// Generated from `System.Collections.Specialized.NameValueCollection` in `System.Collections.Specialized, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class NameValueCollection : System.Collections.Specialized.NameObjectCollectionBase\n{\n public string this[string name] { get => throw null; set => throw null; }\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace ComponentModel\n{\n// Generated from `System.ComponentModel.ComponentConverter` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class ComponentConverter : System.ComponentModel.ReferenceConverter\n{\n}\n\n// Generated from `System.ComponentModel.DefaultEventAttribute` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class DefaultEventAttribute : System.Attribute\n{\n public DefaultEventAttribute(string name) => throw null;\n public override bool Equals(object obj) => throw null;\n public override int GetHashCode() => throw null;\n}\n\n// Generated from `System.ComponentModel.DefaultPropertyAttribute` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class DefaultPropertyAttribute : System.Attribute\n{\n public DefaultPropertyAttribute(string name) => throw null;\n public override bool Equals(object obj) => throw null;\n public override int GetHashCode() => throw null;\n}\n\n// Generated from `System.ComponentModel.ReferenceConverter` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class ReferenceConverter : System.ComponentModel.TypeConverter\n{\n}\n\n// Generated from `System.ComponentModel.TypeConverter` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class TypeConverter\n{\n}\n\n}\nnamespace Timers\n{\n// Generated from `System.Timers.TimersDescriptionAttribute` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class TimersDescriptionAttribute\n{\n public TimersDescriptionAttribute(string description) => throw null;\n internal TimersDescriptionAttribute(string description, string unused) => throw null;\n}\n\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace ComponentModel\n{\n// Generated from `System.ComponentModel.TypeConverterAttribute` in `System.ObjectModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class TypeConverterAttribute : System.Attribute\n{\n public override bool Equals(object obj) => throw null;\n public override int GetHashCode() => throw null;\n public TypeConverterAttribute() => throw null;\n public TypeConverterAttribute(System.Type type) => throw null;\n public TypeConverterAttribute(string typeName) => throw null;\n}\n\n// Generated from `System.ComponentModel.TypeDescriptionProviderAttribute` in `System.ObjectModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class TypeDescriptionProviderAttribute : System.Attribute\n{\n public TypeDescriptionProviderAttribute(System.Type type) => throw null;\n public TypeDescriptionProviderAttribute(string typeName) => throw null;\n}\n\n}\nnamespace Windows\n{\nnamespace Markup\n{\n// Generated from `System.Windows.Markup.ValueSerializerAttribute` in `System.ObjectModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class ValueSerializerAttribute : System.Attribute\n{\n public ValueSerializerAttribute(System.Type valueSerializerType) => throw null;\n public ValueSerializerAttribute(string valueSerializerTypeName) => throw null;\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Linq\n{\n// Generated from `System.Linq.Enumerable` in `System.Linq, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic static class Enumerable\n{\n public static System.Collections.Generic.IEnumerable Select(this System.Collections.Generic.IEnumerable source, System.Func selector) => throw null;\n}\n\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Linq\n{\n// Generated from `System.Linq.IQueryable` in `System.Linq.Expressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic interface IQueryable : System.Collections.IEnumerable\n{\n}\n\n}\nnamespace Runtime\n{\nnamespace CompilerServices\n{\n// Generated from `System.Runtime.CompilerServices.CallSite` in `System.Linq.Expressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class CallSite\n{\n internal CallSite(System.Runtime.CompilerServices.CallSiteBinder binder) => throw null;\n}\n\n// Generated from `System.Runtime.CompilerServices.CallSite<>` in `System.Linq.Expressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class CallSite : System.Runtime.CompilerServices.CallSite where T: class\n{\n private CallSite() : base(default(System.Runtime.CompilerServices.CallSiteBinder)) => throw null;\n private CallSite(System.Runtime.CompilerServices.CallSiteBinder binder) : base(default(System.Runtime.CompilerServices.CallSiteBinder)) => throw null;\n}\n\n// Generated from `System.Runtime.CompilerServices.CallSiteBinder` in `System.Linq.Expressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic abstract class CallSiteBinder\n{\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Linq\n{\n// Generated from `System.Linq.ParallelEnumerable` in `System.Linq.Parallel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic static class ParallelEnumerable\n{\n public static System.Linq.ParallelQuery AsParallel(this System.Collections.IEnumerable source) => throw null;\n}\n\n// Generated from `System.Linq.ParallelQuery` in `System.Linq.Parallel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class ParallelQuery : System.Collections.IEnumerable\n{\n System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() => throw null;\n internal ParallelQuery(System.Linq.Parallel.QuerySettings specifiedSettings) => throw null;\n}\n\nnamespace Parallel\n{\n// Generated from `System.Linq.Parallel.QuerySettings` in `System.Linq.Parallel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\ninternal struct QuerySettings\n{\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Linq\n{\n// Generated from `System.Linq.Queryable` in `System.Linq.Queryable, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic static class Queryable\n{\n public static System.Linq.IQueryable AsQueryable(this System.Collections.IEnumerable source) => throw null;\n}\n\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Runtime\n{\nnamespace Serialization\n{\n// Generated from `System.Runtime.Serialization.DataContractAttribute` in `System.Runtime.Serialization.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class DataContractAttribute : System.Attribute\n{\n public DataContractAttribute() => throw null;\n}\n\n// Generated from `System.Runtime.Serialization.DataMemberAttribute` in `System.Runtime.Serialization.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class DataMemberAttribute : System.Attribute\n{\n public DataMemberAttribute() => throw null;\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Security\n{\nnamespace Cryptography\n{\n// Generated from `System.Security.Cryptography.PaddingMode` in `System.Security.Cryptography.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic enum PaddingMode\n{\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Text\n{\nnamespace RegularExpressions\n{\n// Generated from `System.Text.RegularExpressions.Capture` in `System.Text.RegularExpressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Capture\n{\n internal Capture(string text, int index, int length) => throw null;\n public override string ToString() => throw null;\n}\n\n// Generated from `System.Text.RegularExpressions.Group` in `System.Text.RegularExpressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Group : System.Text.RegularExpressions.Capture\n{\n internal Group(string text, int[] caps, int capcount, string name) : base(default(string), default(int), default(int)) => throw null;\n}\n\n// Generated from `System.Text.RegularExpressions.Match` in `System.Text.RegularExpressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Match : System.Text.RegularExpressions.Group\n{\n internal Match(System.Text.RegularExpressions.Regex regex, int capcount, string text, int begpos, int len, int startpos) : base(default(string), default(int[]), default(int), default(string)) => throw null;\n}\n\n// Generated from `System.Text.RegularExpressions.Regex` in `System.Text.RegularExpressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Regex : System.Runtime.Serialization.ISerializable\n{\n void System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo si, System.Runtime.Serialization.StreamingContext context) => throw null;\n public System.Text.RegularExpressions.Match Match(string input) => throw null;\n public static System.Text.RegularExpressions.Match Match(string input, string pattern) => throw null;\n public static System.Text.RegularExpressions.Match Match(string input, string pattern, System.Text.RegularExpressions.RegexOptions options, System.TimeSpan matchTimeout) => throw null;\n public Regex(string pattern) => throw null;\n public Regex(string pattern, System.Text.RegularExpressions.RegexOptions options, System.TimeSpan matchTimeout) => throw null;\n public string Replace(string input, string replacement) => throw null;\n public override string ToString() => throw null;\n}\n\n// Generated from `System.Text.RegularExpressions.RegexOptions` in `System.Text.RegularExpressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\n[System.Flags]\npublic enum RegexOptions\n{\n IgnoreCase,\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Web\n{\n// Generated from `System.Web.HtmlString` in `../../../resources/stubs/System.Web.cs:34:18:34:27; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HtmlString : System.Web.IHtmlString\n{\n}\n\n// Generated from `System.Web.HttpContextBase` in `../../../resources/stubs/System.Web.cs:24:18:24:32; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpContextBase\n{\n public virtual System.Web.HttpRequestBase Request { get => throw null; }\n}\n\n// Generated from `System.Web.HttpCookie` in `../../../resources/stubs/System.Web.cs:174:18:174:27; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpCookie\n{\n}\n\n// Generated from `System.Web.HttpCookieCollection` in `../../../resources/stubs/System.Web.cs:192:27:192:46; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic abstract class HttpCookieCollection : System.Collections.Specialized.NameObjectCollectionBase\n{\n}\n\n// Generated from `System.Web.HttpRequest` in `../../../resources/stubs/System.Web.cs:145:18:145:28; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpRequest\n{\n}\n\n// Generated from `System.Web.HttpRequestBase` in `../../../resources/stubs/System.Web.cs:10:18:10:32; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpRequestBase\n{\n public virtual System.Collections.Specialized.NameValueCollection QueryString { get => throw null; }\n}\n\n// Generated from `System.Web.HttpResponse` in `../../../resources/stubs/System.Web.cs:156:18:156:29; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpResponse\n{\n}\n\n// Generated from `System.Web.HttpResponseBase` in `../../../resources/stubs/System.Web.cs:19:18:19:33; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpResponseBase\n{\n}\n\n// Generated from `System.Web.HttpServerUtility` in `../../../resources/stubs/System.Web.cs:41:18:41:34; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpServerUtility\n{\n}\n\n// Generated from `System.Web.IHtmlString` in `../../../resources/stubs/System.Web.cs:30:22:30:32; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface IHtmlString\n{\n}\n\n// Generated from `System.Web.IHttpHandler` in `../../../resources/stubs/System.Web.cs:132:22:132:33; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface IHttpHandler\n{\n}\n\n// Generated from `System.Web.IServiceProvider` in `../../../resources/stubs/System.Web.cs:136:22:136:37; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface IServiceProvider\n{\n}\n\n// Generated from `System.Web.UnvalidatedRequestValues` in `../../../resources/stubs/System.Web.cs:140:18:140:41; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class UnvalidatedRequestValues\n{\n}\n\n// Generated from `System.Web.UnvalidatedRequestValuesBase` in `../../../resources/stubs/System.Web.cs:5:18:5:45; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class UnvalidatedRequestValuesBase\n{\n}\n\nnamespace Mvc\n{\n// Generated from `System.Web.Mvc.ActionMethodSelectorAttribute` in `../../../resources/stubs/System.Web.cs:241:18:241:46; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ActionMethodSelectorAttribute : System.Attribute\n{\n}\n\n// Generated from `System.Web.Mvc.ActionResult` in `../../../resources/stubs/System.Web.cs:233:18:233:29; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ActionResult\n{\n}\n\n// Generated from `System.Web.Mvc.ControllerContext` in `../../../resources/stubs/System.Web.cs:211:18:211:34; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ControllerContext\n{\n}\n\n// Generated from `System.Web.Mvc.FilterAttribute` in `../../../resources/stubs/System.Web.cs:237:18:237:32; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class FilterAttribute : System.Attribute\n{\n}\n\n// Generated from `System.Web.Mvc.GlobalFilterCollection` in `../../../resources/stubs/System.Web.cs:281:18:281:39; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class GlobalFilterCollection\n{\n}\n\n// Generated from `System.Web.Mvc.IFilterProvider` in `../../../resources/stubs/System.Web.cs:277:15:277:29; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\ninternal interface IFilterProvider\n{\n}\n\n// Generated from `System.Web.Mvc.IViewDataContainer` in `../../../resources/stubs/System.Web.cs:219:22:219:39; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface IViewDataContainer\n{\n}\n\n// Generated from `System.Web.Mvc.ViewContext` in `../../../resources/stubs/System.Web.cs:215:18:215:28; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ViewContext : System.Web.Mvc.ControllerContext\n{\n}\n\n// Generated from `System.Web.Mvc.ViewResult` in `../../../resources/stubs/System.Web.cs:273:18:273:27; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ViewResult : System.Web.Mvc.ViewResultBase\n{\n}\n\n// Generated from `System.Web.Mvc.ViewResultBase` in `../../../resources/stubs/System.Web.cs:269:18:269:31; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ViewResultBase : System.Web.Mvc.ActionResult\n{\n}\n\n}\nnamespace Routing\n{\n// Generated from `System.Web.Routing.RequestContext` in `../../../resources/stubs/System.Web.cs:300:18:300:31; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class RequestContext\n{\n}\n\n}\nnamespace Script\n{\nnamespace Serialization\n{\n// Generated from `System.Web.Script.Serialization.JavaScriptTypeResolver` in `../../../resources/stubs/System.Web.cs:365:27:365:48; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic abstract class JavaScriptTypeResolver\n{\n}\n\n}\n}\nnamespace Security\n{\n// Generated from `System.Web.Security.MembershipUser` in `../../../resources/stubs/System.Web.cs:323:18:323:31; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class MembershipUser\n{\n}\n\n}\nnamespace SessionState\n{\n// Generated from `System.Web.SessionState.HttpSessionState` in `../../../resources/stubs/System.Web.cs:201:18:201:33; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpSessionState\n{\n}\n\n}\nnamespace UI\n{\n// Generated from `System.Web.UI.Control` in `../../../resources/stubs/System.Web.cs:76:18:76:24; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Control\n{\n}\n\nnamespace WebControls\n{\n// Generated from `System.Web.UI.WebControls.WebControl` in `../../../resources/stubs/System.Web.cs:104:18:104:27; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class WebControl : System.Web.UI.Control\n{\n}\n\n}\n}\n}\n}\n\n\n |
+| // This file contains auto-generated code.\n\nnamespace System\n{\n// Generated from `System.Uri` in `System.Private.Uri, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Uri : System.Runtime.Serialization.ISerializable\n{\n public override bool Equals(object comparand) => throw null;\n public override int GetHashCode() => throw null;\n void System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext) => throw null;\n public override string ToString() => throw null;\n}\n\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Collections\n{\n// Generated from `System.Collections.SortedList` in `System.Collections.NonGeneric, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class SortedList : System.Collections.ICollection, System.Collections.IDictionary, System.Collections.IEnumerable, System.ICloneable\n{\n public virtual void Add(object key, object value) => throw null;\n public virtual void Clear() => throw null;\n public virtual object Clone() => throw null;\n public virtual bool Contains(object key) => throw null;\n public virtual void CopyTo(System.Array array, int arrayIndex) => throw null;\n public virtual int Count { get => throw null; }\n public virtual object GetByIndex(int index) => throw null;\n public virtual System.Collections.IDictionaryEnumerator GetEnumerator() => throw null;\n System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() => throw null;\n public virtual bool IsFixedSize { get => throw null; }\n public virtual bool IsReadOnly { get => throw null; }\n public virtual bool IsSynchronized { get => throw null; }\n public virtual object this[object key] { get => throw null; set => throw null; }\n public virtual System.Collections.ICollection Keys { get => throw null; }\n public virtual void Remove(object key) => throw null;\n public virtual object SyncRoot { get => throw null; }\n public virtual System.Collections.ICollection Values { get => throw null; }\n}\n\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Collections\n{\nnamespace Generic\n{\n// Generated from `System.Collections.Generic.Stack<>` in `System.Collections, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Stack : System.Collections.Generic.IEnumerable, System.Collections.Generic.IReadOnlyCollection, System.Collections.ICollection, System.Collections.IEnumerable\n{\n void System.Collections.ICollection.CopyTo(System.Array array, int arrayIndex) => throw null;\n public int Count { get => throw null; }\n System.Collections.Generic.IEnumerator System.Collections.Generic.IEnumerable.GetEnumerator() => throw null;\n System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() => throw null;\n bool System.Collections.ICollection.IsSynchronized { get => throw null; }\n public T Peek() => throw null;\n object System.Collections.ICollection.SyncRoot { get => throw null; }\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Collections\n{\nnamespace Specialized\n{\n// Generated from `System.Collections.Specialized.NameObjectCollectionBase` in `System.Collections.Specialized, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic abstract class NameObjectCollectionBase : System.Collections.ICollection, System.Collections.IEnumerable, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable\n{\n void System.Collections.ICollection.CopyTo(System.Array array, int index) => throw null;\n public virtual int Count { get => throw null; }\n public virtual System.Collections.IEnumerator GetEnumerator() => throw null;\n public virtual void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) => throw null;\n bool System.Collections.ICollection.IsSynchronized { get => throw null; }\n public virtual void OnDeserialization(object sender) => throw null;\n object System.Collections.ICollection.SyncRoot { get => throw null; }\n}\n\n// Generated from `System.Collections.Specialized.NameValueCollection` in `System.Collections.Specialized, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class NameValueCollection : System.Collections.Specialized.NameObjectCollectionBase\n{\n public string this[string name] { get => throw null; set => throw null; }\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace ComponentModel\n{\n// Generated from `System.ComponentModel.ComponentConverter` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class ComponentConverter : System.ComponentModel.ReferenceConverter\n{\n}\n\n// Generated from `System.ComponentModel.DefaultEventAttribute` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class DefaultEventAttribute : System.Attribute\n{\n public DefaultEventAttribute(string name) => throw null;\n public override bool Equals(object obj) => throw null;\n public override int GetHashCode() => throw null;\n}\n\n// Generated from `System.ComponentModel.DefaultPropertyAttribute` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class DefaultPropertyAttribute : System.Attribute\n{\n public DefaultPropertyAttribute(string name) => throw null;\n public override bool Equals(object obj) => throw null;\n public override int GetHashCode() => throw null;\n}\n\n// Generated from `System.ComponentModel.ReferenceConverter` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class ReferenceConverter : System.ComponentModel.TypeConverter\n{\n}\n\n// Generated from `System.ComponentModel.TypeConverter` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class TypeConverter\n{\n}\n\n}\nnamespace Timers\n{\n// Generated from `System.Timers.TimersDescriptionAttribute` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class TimersDescriptionAttribute\n{\n public TimersDescriptionAttribute(string description) => throw null;\n internal TimersDescriptionAttribute(string description, string unused) => throw null;\n}\n\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace ComponentModel\n{\n// Generated from `System.ComponentModel.TypeConverterAttribute` in `System.ObjectModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class TypeConverterAttribute : System.Attribute\n{\n public override bool Equals(object obj) => throw null;\n public override int GetHashCode() => throw null;\n public TypeConverterAttribute() => throw null;\n public TypeConverterAttribute(System.Type type) => throw null;\n public TypeConverterAttribute(string typeName) => throw null;\n}\n\n// Generated from `System.ComponentModel.TypeDescriptionProviderAttribute` in `System.ObjectModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class TypeDescriptionProviderAttribute : System.Attribute\n{\n public TypeDescriptionProviderAttribute(System.Type type) => throw null;\n public TypeDescriptionProviderAttribute(string typeName) => throw null;\n}\n\n}\nnamespace Windows\n{\nnamespace Markup\n{\n// Generated from `System.Windows.Markup.ValueSerializerAttribute` in `System.ObjectModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class ValueSerializerAttribute : System.Attribute\n{\n public ValueSerializerAttribute(System.Type valueSerializerType) => throw null;\n public ValueSerializerAttribute(string valueSerializerTypeName) => throw null;\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Linq\n{\n// Generated from `System.Linq.Enumerable` in `System.Linq, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic static class Enumerable\n{\n public static System.Collections.Generic.IEnumerable Select(this System.Collections.Generic.IEnumerable source, System.Func selector) => throw null;\n}\n\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Linq\n{\n// Generated from `System.Linq.IQueryable` in `System.Linq.Expressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic interface IQueryable : System.Collections.IEnumerable\n{\n}\n\n}\nnamespace Runtime\n{\nnamespace CompilerServices\n{\n// Generated from `System.Runtime.CompilerServices.CallSite` in `System.Linq.Expressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class CallSite\n{\n internal CallSite(System.Runtime.CompilerServices.CallSiteBinder binder) => throw null;\n}\n\n// Generated from `System.Runtime.CompilerServices.CallSite<>` in `System.Linq.Expressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class CallSite : System.Runtime.CompilerServices.CallSite where T: class\n{\n private CallSite() : base(default(System.Runtime.CompilerServices.CallSiteBinder)) => throw null;\n private CallSite(System.Runtime.CompilerServices.CallSiteBinder binder) : base(default(System.Runtime.CompilerServices.CallSiteBinder)) => throw null;\n}\n\n// Generated from `System.Runtime.CompilerServices.CallSiteBinder` in `System.Linq.Expressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic abstract class CallSiteBinder\n{\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Linq\n{\n// Generated from `System.Linq.ParallelEnumerable` in `System.Linq.Parallel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic static class ParallelEnumerable\n{\n public static System.Linq.ParallelQuery AsParallel(this System.Collections.IEnumerable source) => throw null;\n}\n\n// Generated from `System.Linq.ParallelQuery` in `System.Linq.Parallel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class ParallelQuery : System.Collections.IEnumerable\n{\n System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() => throw null;\n internal ParallelQuery(System.Linq.Parallel.QuerySettings specifiedSettings) => throw null;\n}\n\nnamespace Parallel\n{\n// Generated from `System.Linq.Parallel.QuerySettings` in `System.Linq.Parallel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\ninternal struct QuerySettings\n{\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Linq\n{\n// Generated from `System.Linq.Queryable` in `System.Linq.Queryable, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic static class Queryable\n{\n public static System.Linq.IQueryable AsQueryable(this System.Collections.IEnumerable source) => throw null;\n}\n\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Runtime\n{\nnamespace Serialization\n{\n// Generated from `System.Runtime.Serialization.DataContractAttribute` in `System.Runtime.Serialization.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class DataContractAttribute : System.Attribute\n{\n public DataContractAttribute() => throw null;\n}\n\n// Generated from `System.Runtime.Serialization.DataMemberAttribute` in `System.Runtime.Serialization.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class DataMemberAttribute : System.Attribute\n{\n public DataMemberAttribute() => throw null;\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Security\n{\nnamespace Cryptography\n{\n// Generated from `System.Security.Cryptography.PaddingMode` in `System.Security.Cryptography.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic enum PaddingMode\n{\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Text\n{\nnamespace RegularExpressions\n{\n// Generated from `System.Text.RegularExpressions.Capture` in `System.Text.RegularExpressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Capture\n{\n internal Capture(string text, int index, int length) => throw null;\n public override string ToString() => throw null;\n}\n\n// Generated from `System.Text.RegularExpressions.Group` in `System.Text.RegularExpressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Group : System.Text.RegularExpressions.Capture\n{\n internal Group(string text, int[] caps, int capcount, string name) : base(default(string), default(int), default(int)) => throw null;\n}\n\n// Generated from `System.Text.RegularExpressions.Match` in `System.Text.RegularExpressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Match : System.Text.RegularExpressions.Group\n{\n internal Match(System.Text.RegularExpressions.Regex regex, int capcount, string text, int begpos, int len, int startpos) : base(default(string), default(int[]), default(int), default(string)) => throw null;\n}\n\n// Generated from `System.Text.RegularExpressions.Regex` in `System.Text.RegularExpressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Regex : System.Runtime.Serialization.ISerializable\n{\n void System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo si, System.Runtime.Serialization.StreamingContext context) => throw null;\n public System.Text.RegularExpressions.Match Match(string input) => throw null;\n public static System.Text.RegularExpressions.Match Match(string input, string pattern) => throw null;\n public static System.Text.RegularExpressions.Match Match(string input, string pattern, System.Text.RegularExpressions.RegexOptions options, System.TimeSpan matchTimeout) => throw null;\n public Regex(string pattern) => throw null;\n public Regex(string pattern, System.Text.RegularExpressions.RegexOptions options, System.TimeSpan matchTimeout) => throw null;\n public string Replace(string input, string replacement) => throw null;\n public override string ToString() => throw null;\n}\n\n// Generated from `System.Text.RegularExpressions.RegexOptions` in `System.Text.RegularExpressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\n[System.Flags]\npublic enum RegexOptions\n{\n IgnoreCase=1,\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Web\n{\n// Generated from `System.Web.HtmlString` in `../../../resources/stubs/System.Web.cs:34:18:34:27; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HtmlString : System.Web.IHtmlString\n{\n}\n\n// Generated from `System.Web.HttpContextBase` in `../../../resources/stubs/System.Web.cs:24:18:24:32; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpContextBase\n{\n public virtual System.Web.HttpRequestBase Request { get => throw null; }\n}\n\n// Generated from `System.Web.HttpCookie` in `../../../resources/stubs/System.Web.cs:174:18:174:27; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpCookie\n{\n}\n\n// Generated from `System.Web.HttpCookieCollection` in `../../../resources/stubs/System.Web.cs:192:27:192:46; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic abstract class HttpCookieCollection : System.Collections.Specialized.NameObjectCollectionBase\n{\n}\n\n// Generated from `System.Web.HttpRequest` in `../../../resources/stubs/System.Web.cs:145:18:145:28; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpRequest\n{\n}\n\n// Generated from `System.Web.HttpRequestBase` in `../../../resources/stubs/System.Web.cs:10:18:10:32; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpRequestBase\n{\n public virtual System.Collections.Specialized.NameValueCollection QueryString { get => throw null; }\n}\n\n// Generated from `System.Web.HttpResponse` in `../../../resources/stubs/System.Web.cs:156:18:156:29; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpResponse\n{\n}\n\n// Generated from `System.Web.HttpResponseBase` in `../../../resources/stubs/System.Web.cs:19:18:19:33; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpResponseBase\n{\n}\n\n// Generated from `System.Web.HttpServerUtility` in `../../../resources/stubs/System.Web.cs:41:18:41:34; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpServerUtility\n{\n}\n\n// Generated from `System.Web.IHtmlString` in `../../../resources/stubs/System.Web.cs:30:22:30:32; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface IHtmlString\n{\n}\n\n// Generated from `System.Web.IHttpHandler` in `../../../resources/stubs/System.Web.cs:132:22:132:33; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface IHttpHandler\n{\n}\n\n// Generated from `System.Web.IServiceProvider` in `../../../resources/stubs/System.Web.cs:136:22:136:37; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface IServiceProvider\n{\n}\n\n// Generated from `System.Web.UnvalidatedRequestValues` in `../../../resources/stubs/System.Web.cs:140:18:140:41; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class UnvalidatedRequestValues\n{\n}\n\n// Generated from `System.Web.UnvalidatedRequestValuesBase` in `../../../resources/stubs/System.Web.cs:5:18:5:45; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class UnvalidatedRequestValuesBase\n{\n}\n\nnamespace Mvc\n{\n// Generated from `System.Web.Mvc.ActionMethodSelectorAttribute` in `../../../resources/stubs/System.Web.cs:241:18:241:46; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ActionMethodSelectorAttribute : System.Attribute\n{\n}\n\n// Generated from `System.Web.Mvc.ActionResult` in `../../../resources/stubs/System.Web.cs:233:18:233:29; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ActionResult\n{\n}\n\n// Generated from `System.Web.Mvc.ControllerContext` in `../../../resources/stubs/System.Web.cs:211:18:211:34; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ControllerContext\n{\n}\n\n// Generated from `System.Web.Mvc.FilterAttribute` in `../../../resources/stubs/System.Web.cs:237:18:237:32; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class FilterAttribute : System.Attribute\n{\n}\n\n// Generated from `System.Web.Mvc.GlobalFilterCollection` in `../../../resources/stubs/System.Web.cs:281:18:281:39; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class GlobalFilterCollection\n{\n}\n\n// Generated from `System.Web.Mvc.IFilterProvider` in `../../../resources/stubs/System.Web.cs:277:15:277:29; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\ninternal interface IFilterProvider\n{\n}\n\n// Generated from `System.Web.Mvc.IViewDataContainer` in `../../../resources/stubs/System.Web.cs:219:22:219:39; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface IViewDataContainer\n{\n}\n\n// Generated from `System.Web.Mvc.ViewContext` in `../../../resources/stubs/System.Web.cs:215:18:215:28; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ViewContext : System.Web.Mvc.ControllerContext\n{\n}\n\n// Generated from `System.Web.Mvc.ViewResult` in `../../../resources/stubs/System.Web.cs:273:18:273:27; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ViewResult : System.Web.Mvc.ViewResultBase\n{\n}\n\n// Generated from `System.Web.Mvc.ViewResultBase` in `../../../resources/stubs/System.Web.cs:269:18:269:31; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ViewResultBase : System.Web.Mvc.ActionResult\n{\n}\n\n}\nnamespace Routing\n{\n// Generated from `System.Web.Routing.RequestContext` in `../../../resources/stubs/System.Web.cs:300:18:300:31; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class RequestContext\n{\n}\n\n}\nnamespace Script\n{\nnamespace Serialization\n{\n// Generated from `System.Web.Script.Serialization.JavaScriptTypeResolver` in `../../../resources/stubs/System.Web.cs:365:27:365:48; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic abstract class JavaScriptTypeResolver\n{\n}\n\n}\n}\nnamespace Security\n{\n// Generated from `System.Web.Security.MembershipUser` in `../../../resources/stubs/System.Web.cs:323:18:323:31; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class MembershipUser\n{\n}\n\n}\nnamespace SessionState\n{\n// Generated from `System.Web.SessionState.HttpSessionState` in `../../../resources/stubs/System.Web.cs:201:18:201:33; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpSessionState\n{\n}\n\n}\nnamespace UI\n{\n// Generated from `System.Web.UI.Control` in `../../../resources/stubs/System.Web.cs:76:18:76:24; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Control\n{\n}\n\nnamespace WebControls\n{\n// Generated from `System.Web.UI.WebControls.WebControl` in `../../../resources/stubs/System.Web.cs:104:18:104:27; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class WebControl : System.Web.UI.Control\n{\n}\n\n}\n}\n}\n}\n\n\n |
From f71d684a0884b97de97ff974985009b96bec83aa Mon Sep 17 00:00:00 2001
From: Michael Nebel
Date: Thu, 11 Aug 2022 13:08:54 +0200
Subject: [PATCH 135/600] C#: Use explicit typing for enums in the stub
generator.
---
csharp/ql/src/Stubs/Stubs.qll | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/csharp/ql/src/Stubs/Stubs.qll b/csharp/ql/src/Stubs/Stubs.qll
index dcc6ceab936..bc737d283ca 100644
--- a/csharp/ql/src/Stubs/Stubs.qll
+++ b/csharp/ql/src/Stubs/Stubs.qll
@@ -160,7 +160,7 @@ abstract private class GeneratedType extends Type, GeneratedElement {
private string stubBaseTypesString() {
if this instanceof Enum
- then result = ""
+ then result = " : " + this.(Enum).getUnderlyingType().toStringWithTypes()
else
if exists(this.getAnInterestingBaseType())
then
@@ -726,7 +726,7 @@ pragma[noinline]
private string stubEnumConstant(EnumConstant ec, Assembly assembly) {
ec instanceof GeneratedMember and
ec.getALocation() = assembly and
- result = " " + escapeIfKeyword(ec.getName()) + "=" + ec.getValue() + ",\n"
+ result = " " + escapeIfKeyword(ec.getName()) + " = " + ec.getValue() + ",\n"
}
pragma[noinline]
From b052fbf41c24030f4ee7bc00219a576516b4fccc Mon Sep 17 00:00:00 2001
From: Michael Nebel
Date: Fri, 12 Aug 2022 12:45:00 +0200
Subject: [PATCH 136/600] C#: Add enum long type testcase.
---
csharp/ql/test/query-tests/Stubs/All/Test.cs | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/csharp/ql/test/query-tests/Stubs/All/Test.cs b/csharp/ql/test/query-tests/Stubs/All/Test.cs
index 62222557b42..61ee2e2aed3 100644
--- a/csharp/ql/test/query-tests/Stubs/All/Test.cs
+++ b/csharp/ql/test/query-tests/Stubs/All/Test.cs
@@ -162,6 +162,12 @@ namespace Test
None4 = 2,
Some42 = 6
}
+
+ public enum EnumLong : long
+ {
+ Some = 223372036854775807,
+ None = 10
+ }
}
namespace A1
From 7c7c335b0e550866b34583e565e182b6db8ecf7d Mon Sep 17 00:00:00 2001
From: Michael Nebel
Date: Thu, 11 Aug 2022 13:11:13 +0200
Subject: [PATCH 137/600] C#: Update stub generator expected output.
---
csharp/ql/test/query-tests/Stubs/All/AllStubs.expected | 2 +-
.../query-tests/Stubs/Minimal/MinimalStubsFromSource.expected | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/csharp/ql/test/query-tests/Stubs/All/AllStubs.expected b/csharp/ql/test/query-tests/Stubs/All/AllStubs.expected
index 6eb0a6eb7af..6b5a68f4759 100644
--- a/csharp/ql/test/query-tests/Stubs/All/AllStubs.expected
+++ b/csharp/ql/test/query-tests/Stubs/All/AllStubs.expected
@@ -1 +1 @@
-| // This file contains auto-generated code.\n\nnamespace A1\n{\n// Generated from `A1.C1` in `Test.cs:174:18:174:19; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C1\n{\n}\n\n}\nnamespace A2\n{\nnamespace B2\n{\n// Generated from `A2.B2.C2` in `Test.cs:181:22:181:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C2\n{\n}\n\n}\n}\nnamespace A3\n{\n// Generated from `A3.C3` in `Test.cs:187:18:187:19; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C3\n{\n}\n\n}\nnamespace A4\n{\n// Generated from `A4.C4` in `Test.cs:197:18:197:19; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C4\n{\n}\n\nnamespace B4\n{\n// Generated from `A4.B4.D4` in `Test.cs:194:22:194:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class D4\n{\n}\n\n}\n}\nnamespace Test\n{\n// Generated from `Test.Class1` in `Test.cs:5:18:5:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class1\n{\n// Generated from `Test.Class1+Class11` in `Test.cs:34:22:34:28; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class11 : Test.Class1.Interface1, Test.Class1.Interface2\n{\n int Test.Class1.Interface2.this[int i] { get => throw null; }\n public void Method1() => throw null;\n void Test.Class1.Interface2.Method2() => throw null;\n}\n\n\n// Generated from `Test.Class1+Class12` in `Test.cs:51:22:51:28; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class12 : Test.Class1.Class11\n{\n}\n\n\n// Generated from `Test.Class1+Class13` in `Test.cs:63:31:63:37; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic abstract class Class13\n{\n protected internal virtual void M() => throw null;\n public virtual void M1() where T: Test.Class1.Class13 => throw null;\n public abstract void M2();\n}\n\n\n// Generated from `Test.Class1+Class14` in `Test.cs:70:31:70:37; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic abstract class Class14 : Test.Class1.Class13\n{\n protected internal override void M() => throw null;\n public override void M1() => throw null;\n public abstract override void M2();\n}\n\n\n// Generated from `Test.Class1+Delegate1<>` in `Test.cs:47:30:47:41; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic delegate void Delegate1(T i, int j);\n\n\n// Generated from `Test.Class1+GenericType<>` in `Test.cs:56:22:56:35; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class GenericType\n{\n// Generated from `Test.Class1+GenericType<>+X` in `Test.cs:58:26:58:26; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class X\n{\n}\n\n\n}\n\n\n// Generated from `Test.Class1+Interface1` in `Test.cs:18:26:18:35; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface Interface1\n{\n void Method1();\n}\n\n\n// Generated from `Test.Class1+Interface2` in `Test.cs:23:38:23:47; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\nprotected internal interface Interface2\n{\n int this[int i] { get; }\n void Method2();\n}\n\n\n// Generated from `Test.Class1+Struct1` in `Test.cs:7:23:7:29; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic struct Struct1\n{\n public void Method(Test.Class1.Struct1 s = default(Test.Class1.Struct1)) => throw null;\n public int i;\n public static int j = default;\n public System.ValueTuple t1;\n public (int,int) t2;\n}\n\n\n public event Test.Class1.Delegate1 Event1;\n public Test.Class1.GenericType.X Prop { get => throw null; }\n}\n\n// Generated from `Test.Class3` in `Test.cs:84:18:84:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class3\n{\n public object Item { get => throw null; set => throw null; }\n [System.Runtime.CompilerServices.IndexerName("MyItem")]\n public object this[string index] { get => throw null; set => throw null; }\n}\n\n// Generated from `Test.Class4` in `Test.cs:91:18:91:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class4\n{\n unsafe public void M(int* p) => throw null;\n}\n\n// Generated from `Test.Class5` in `Test.cs:102:18:102:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class5 : Test.IInterface1\n{\n public void M2() => throw null;\n}\n\n// Generated from `Test.Class6<>` in `Test.cs:107:18:107:26; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class6 where T: class, Test.IInterface1\n{\n public virtual void M1() where T: class, Test.IInterface1, new() => throw null;\n}\n\n// Generated from `Test.Class7` in `Test.cs:114:18:114:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class7 : Test.Class6\n{\n public override void M1() where T: class => throw null;\n}\n\n// Generated from `Test.Class8` in `Test.cs:121:18:121:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class8\n{\n public static int @this = default;\n}\n\n// Generated from `Test.Class9` in `Test.cs:126:18:126:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class9\n{\n// Generated from `Test.Class9+Nested` in `Test.cs:130:22:130:27; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Nested : Test.Class9\n{\n}\n\n\n public Test.Class9.Nested NestedInstance { get => throw null; }\n}\n\n// Generated from `Test.Enum1` in `Test.cs:138:17:138:21; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic enum Enum1\n{\n None1=0,\n Some11=1,\n Some12=2,\n}\n\n// Generated from `Test.Enum2` in `Test.cs:145:17:145:21; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic enum Enum2\n{\n None2=2,\n Some21=1,\n Some22=3,\n}\n\n// Generated from `Test.Enum3` in `Test.cs:152:17:152:21; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic enum Enum3\n{\n None3=2,\n Some31=1,\n Some32=0,\n}\n\n// Generated from `Test.Enum4` in `Test.cs:159:17:159:21; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic enum Enum4\n{\n None4=2,\n Some41=7,\n Some42=6,\n}\n\n// Generated from `Test.IInterface1` in `Test.cs:96:22:96:32; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface IInterface1\n{\n void M1() => throw null;\n void M2();\n}\n\n}\n\n\n |
+| // This file contains auto-generated code.\n\nnamespace A1\n{\n// Generated from `A1.C1` in `Test.cs:180:18:180:19; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C1\n{\n}\n\n}\nnamespace A2\n{\nnamespace B2\n{\n// Generated from `A2.B2.C2` in `Test.cs:187:22:187:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C2\n{\n}\n\n}\n}\nnamespace A3\n{\n// Generated from `A3.C3` in `Test.cs:193:18:193:19; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C3\n{\n}\n\n}\nnamespace A4\n{\n// Generated from `A4.C4` in `Test.cs:203:18:203:19; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class C4\n{\n}\n\nnamespace B4\n{\n// Generated from `A4.B4.D4` in `Test.cs:200:22:200:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class D4\n{\n}\n\n}\n}\nnamespace Test\n{\n// Generated from `Test.Class1` in `Test.cs:5:18:5:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class1\n{\n// Generated from `Test.Class1+Class11` in `Test.cs:34:22:34:28; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class11 : Test.Class1.Interface1, Test.Class1.Interface2\n{\n int Test.Class1.Interface2.this[int i] { get => throw null; }\n public void Method1() => throw null;\n void Test.Class1.Interface2.Method2() => throw null;\n}\n\n\n// Generated from `Test.Class1+Class12` in `Test.cs:51:22:51:28; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class12 : Test.Class1.Class11\n{\n}\n\n\n// Generated from `Test.Class1+Class13` in `Test.cs:63:31:63:37; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic abstract class Class13\n{\n protected internal virtual void M() => throw null;\n public virtual void M1() where T: Test.Class1.Class13 => throw null;\n public abstract void M2();\n}\n\n\n// Generated from `Test.Class1+Class14` in `Test.cs:70:31:70:37; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic abstract class Class14 : Test.Class1.Class13\n{\n protected internal override void M() => throw null;\n public override void M1() => throw null;\n public abstract override void M2();\n}\n\n\n// Generated from `Test.Class1+Delegate1<>` in `Test.cs:47:30:47:41; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic delegate void Delegate1(T i, int j);\n\n\n// Generated from `Test.Class1+GenericType<>` in `Test.cs:56:22:56:35; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class GenericType\n{\n// Generated from `Test.Class1+GenericType<>+X` in `Test.cs:58:26:58:26; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class X\n{\n}\n\n\n}\n\n\n// Generated from `Test.Class1+Interface1` in `Test.cs:18:26:18:35; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface Interface1\n{\n void Method1();\n}\n\n\n// Generated from `Test.Class1+Interface2` in `Test.cs:23:38:23:47; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\nprotected internal interface Interface2\n{\n int this[int i] { get; }\n void Method2();\n}\n\n\n// Generated from `Test.Class1+Struct1` in `Test.cs:7:23:7:29; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic struct Struct1\n{\n public void Method(Test.Class1.Struct1 s = default(Test.Class1.Struct1)) => throw null;\n public int i;\n public static int j = default;\n public System.ValueTuple t1;\n public (int,int) t2;\n}\n\n\n public event Test.Class1.Delegate1 Event1;\n public Test.Class1.GenericType.X Prop { get => throw null; }\n}\n\n// Generated from `Test.Class3` in `Test.cs:84:18:84:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class3\n{\n public object Item { get => throw null; set => throw null; }\n [System.Runtime.CompilerServices.IndexerName("MyItem")]\n public object this[string index] { get => throw null; set => throw null; }\n}\n\n// Generated from `Test.Class4` in `Test.cs:91:18:91:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class4\n{\n unsafe public void M(int* p) => throw null;\n}\n\n// Generated from `Test.Class5` in `Test.cs:102:18:102:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class5 : Test.IInterface1\n{\n public void M2() => throw null;\n}\n\n// Generated from `Test.Class6<>` in `Test.cs:107:18:107:26; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class6 where T: class, Test.IInterface1\n{\n public virtual void M1() where T: class, Test.IInterface1, new() => throw null;\n}\n\n// Generated from `Test.Class7` in `Test.cs:114:18:114:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class7 : Test.Class6\n{\n public override void M1() where T: class => throw null;\n}\n\n// Generated from `Test.Class8` in `Test.cs:121:18:121:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class8\n{\n public static int @this = default;\n}\n\n// Generated from `Test.Class9` in `Test.cs:126:18:126:23; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Class9\n{\n// Generated from `Test.Class9+Nested` in `Test.cs:130:22:130:27; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Nested : Test.Class9\n{\n}\n\n\n public Test.Class9.Nested NestedInstance { get => throw null; }\n}\n\n// Generated from `Test.Enum1` in `Test.cs:138:17:138:21; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic enum Enum1 : int\n{\n None1 = 0,\n Some11 = 1,\n Some12 = 2,\n}\n\n// Generated from `Test.Enum2` in `Test.cs:145:17:145:21; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic enum Enum2 : int\n{\n None2 = 2,\n Some21 = 1,\n Some22 = 3,\n}\n\n// Generated from `Test.Enum3` in `Test.cs:152:17:152:21; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic enum Enum3 : int\n{\n None3 = 2,\n Some31 = 1,\n Some32 = 0,\n}\n\n// Generated from `Test.Enum4` in `Test.cs:159:17:159:21; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic enum Enum4 : int\n{\n None4 = 2,\n Some41 = 7,\n Some42 = 6,\n}\n\n// Generated from `Test.EnumLong` in `Test.cs:166:17:166:24; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic enum EnumLong : long\n{\n None = 10,\n Some = 223372036854775807,\n}\n\n// Generated from `Test.IInterface1` in `Test.cs:96:22:96:32; Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface IInterface1\n{\n void M1() => throw null;\n void M2();\n}\n\n}\n\n\n |
diff --git a/csharp/ql/test/query-tests/Stubs/Minimal/MinimalStubsFromSource.expected b/csharp/ql/test/query-tests/Stubs/Minimal/MinimalStubsFromSource.expected
index f0c0ec49ce1..5edef723615 100644
--- a/csharp/ql/test/query-tests/Stubs/Minimal/MinimalStubsFromSource.expected
+++ b/csharp/ql/test/query-tests/Stubs/Minimal/MinimalStubsFromSource.expected
@@ -1 +1 @@
-| // This file contains auto-generated code.\n\nnamespace System\n{\n// Generated from `System.Uri` in `System.Private.Uri, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Uri : System.Runtime.Serialization.ISerializable\n{\n public override bool Equals(object comparand) => throw null;\n public override int GetHashCode() => throw null;\n void System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext) => throw null;\n public override string ToString() => throw null;\n}\n\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Collections\n{\n// Generated from `System.Collections.SortedList` in `System.Collections.NonGeneric, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class SortedList : System.Collections.ICollection, System.Collections.IDictionary, System.Collections.IEnumerable, System.ICloneable\n{\n public virtual void Add(object key, object value) => throw null;\n public virtual void Clear() => throw null;\n public virtual object Clone() => throw null;\n public virtual bool Contains(object key) => throw null;\n public virtual void CopyTo(System.Array array, int arrayIndex) => throw null;\n public virtual int Count { get => throw null; }\n public virtual object GetByIndex(int index) => throw null;\n public virtual System.Collections.IDictionaryEnumerator GetEnumerator() => throw null;\n System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() => throw null;\n public virtual bool IsFixedSize { get => throw null; }\n public virtual bool IsReadOnly { get => throw null; }\n public virtual bool IsSynchronized { get => throw null; }\n public virtual object this[object key] { get => throw null; set => throw null; }\n public virtual System.Collections.ICollection Keys { get => throw null; }\n public virtual void Remove(object key) => throw null;\n public virtual object SyncRoot { get => throw null; }\n public virtual System.Collections.ICollection Values { get => throw null; }\n}\n\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Collections\n{\nnamespace Generic\n{\n// Generated from `System.Collections.Generic.Stack<>` in `System.Collections, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Stack : System.Collections.Generic.IEnumerable, System.Collections.Generic.IReadOnlyCollection, System.Collections.ICollection, System.Collections.IEnumerable\n{\n void System.Collections.ICollection.CopyTo(System.Array array, int arrayIndex) => throw null;\n public int Count { get => throw null; }\n System.Collections.Generic.IEnumerator System.Collections.Generic.IEnumerable.GetEnumerator() => throw null;\n System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() => throw null;\n bool System.Collections.ICollection.IsSynchronized { get => throw null; }\n public T Peek() => throw null;\n object System.Collections.ICollection.SyncRoot { get => throw null; }\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Collections\n{\nnamespace Specialized\n{\n// Generated from `System.Collections.Specialized.NameObjectCollectionBase` in `System.Collections.Specialized, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic abstract class NameObjectCollectionBase : System.Collections.ICollection, System.Collections.IEnumerable, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable\n{\n void System.Collections.ICollection.CopyTo(System.Array array, int index) => throw null;\n public virtual int Count { get => throw null; }\n public virtual System.Collections.IEnumerator GetEnumerator() => throw null;\n public virtual void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) => throw null;\n bool System.Collections.ICollection.IsSynchronized { get => throw null; }\n public virtual void OnDeserialization(object sender) => throw null;\n object System.Collections.ICollection.SyncRoot { get => throw null; }\n}\n\n// Generated from `System.Collections.Specialized.NameValueCollection` in `System.Collections.Specialized, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class NameValueCollection : System.Collections.Specialized.NameObjectCollectionBase\n{\n public string this[string name] { get => throw null; set => throw null; }\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace ComponentModel\n{\n// Generated from `System.ComponentModel.ComponentConverter` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class ComponentConverter : System.ComponentModel.ReferenceConverter\n{\n}\n\n// Generated from `System.ComponentModel.DefaultEventAttribute` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class DefaultEventAttribute : System.Attribute\n{\n public DefaultEventAttribute(string name) => throw null;\n public override bool Equals(object obj) => throw null;\n public override int GetHashCode() => throw null;\n}\n\n// Generated from `System.ComponentModel.DefaultPropertyAttribute` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class DefaultPropertyAttribute : System.Attribute\n{\n public DefaultPropertyAttribute(string name) => throw null;\n public override bool Equals(object obj) => throw null;\n public override int GetHashCode() => throw null;\n}\n\n// Generated from `System.ComponentModel.ReferenceConverter` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class ReferenceConverter : System.ComponentModel.TypeConverter\n{\n}\n\n// Generated from `System.ComponentModel.TypeConverter` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class TypeConverter\n{\n}\n\n}\nnamespace Timers\n{\n// Generated from `System.Timers.TimersDescriptionAttribute` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class TimersDescriptionAttribute\n{\n public TimersDescriptionAttribute(string description) => throw null;\n internal TimersDescriptionAttribute(string description, string unused) => throw null;\n}\n\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace ComponentModel\n{\n// Generated from `System.ComponentModel.TypeConverterAttribute` in `System.ObjectModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class TypeConverterAttribute : System.Attribute\n{\n public override bool Equals(object obj) => throw null;\n public override int GetHashCode() => throw null;\n public TypeConverterAttribute() => throw null;\n public TypeConverterAttribute(System.Type type) => throw null;\n public TypeConverterAttribute(string typeName) => throw null;\n}\n\n// Generated from `System.ComponentModel.TypeDescriptionProviderAttribute` in `System.ObjectModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class TypeDescriptionProviderAttribute : System.Attribute\n{\n public TypeDescriptionProviderAttribute(System.Type type) => throw null;\n public TypeDescriptionProviderAttribute(string typeName) => throw null;\n}\n\n}\nnamespace Windows\n{\nnamespace Markup\n{\n// Generated from `System.Windows.Markup.ValueSerializerAttribute` in `System.ObjectModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class ValueSerializerAttribute : System.Attribute\n{\n public ValueSerializerAttribute(System.Type valueSerializerType) => throw null;\n public ValueSerializerAttribute(string valueSerializerTypeName) => throw null;\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Linq\n{\n// Generated from `System.Linq.Enumerable` in `System.Linq, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic static class Enumerable\n{\n public static System.Collections.Generic.IEnumerable Select(this System.Collections.Generic.IEnumerable source, System.Func selector) => throw null;\n}\n\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Linq\n{\n// Generated from `System.Linq.IQueryable` in `System.Linq.Expressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic interface IQueryable : System.Collections.IEnumerable\n{\n}\n\n}\nnamespace Runtime\n{\nnamespace CompilerServices\n{\n// Generated from `System.Runtime.CompilerServices.CallSite` in `System.Linq.Expressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class CallSite\n{\n internal CallSite(System.Runtime.CompilerServices.CallSiteBinder binder) => throw null;\n}\n\n// Generated from `System.Runtime.CompilerServices.CallSite<>` in `System.Linq.Expressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class CallSite : System.Runtime.CompilerServices.CallSite where T: class\n{\n private CallSite() : base(default(System.Runtime.CompilerServices.CallSiteBinder)) => throw null;\n private CallSite(System.Runtime.CompilerServices.CallSiteBinder binder) : base(default(System.Runtime.CompilerServices.CallSiteBinder)) => throw null;\n}\n\n// Generated from `System.Runtime.CompilerServices.CallSiteBinder` in `System.Linq.Expressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic abstract class CallSiteBinder\n{\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Linq\n{\n// Generated from `System.Linq.ParallelEnumerable` in `System.Linq.Parallel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic static class ParallelEnumerable\n{\n public static System.Linq.ParallelQuery AsParallel(this System.Collections.IEnumerable source) => throw null;\n}\n\n// Generated from `System.Linq.ParallelQuery` in `System.Linq.Parallel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class ParallelQuery : System.Collections.IEnumerable\n{\n System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() => throw null;\n internal ParallelQuery(System.Linq.Parallel.QuerySettings specifiedSettings) => throw null;\n}\n\nnamespace Parallel\n{\n// Generated from `System.Linq.Parallel.QuerySettings` in `System.Linq.Parallel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\ninternal struct QuerySettings\n{\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Linq\n{\n// Generated from `System.Linq.Queryable` in `System.Linq.Queryable, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic static class Queryable\n{\n public static System.Linq.IQueryable AsQueryable(this System.Collections.IEnumerable source) => throw null;\n}\n\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Runtime\n{\nnamespace Serialization\n{\n// Generated from `System.Runtime.Serialization.DataContractAttribute` in `System.Runtime.Serialization.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class DataContractAttribute : System.Attribute\n{\n public DataContractAttribute() => throw null;\n}\n\n// Generated from `System.Runtime.Serialization.DataMemberAttribute` in `System.Runtime.Serialization.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class DataMemberAttribute : System.Attribute\n{\n public DataMemberAttribute() => throw null;\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Security\n{\nnamespace Cryptography\n{\n// Generated from `System.Security.Cryptography.PaddingMode` in `System.Security.Cryptography.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic enum PaddingMode\n{\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Text\n{\nnamespace RegularExpressions\n{\n// Generated from `System.Text.RegularExpressions.Capture` in `System.Text.RegularExpressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Capture\n{\n internal Capture(string text, int index, int length) => throw null;\n public override string ToString() => throw null;\n}\n\n// Generated from `System.Text.RegularExpressions.Group` in `System.Text.RegularExpressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Group : System.Text.RegularExpressions.Capture\n{\n internal Group(string text, int[] caps, int capcount, string name) : base(default(string), default(int), default(int)) => throw null;\n}\n\n// Generated from `System.Text.RegularExpressions.Match` in `System.Text.RegularExpressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Match : System.Text.RegularExpressions.Group\n{\n internal Match(System.Text.RegularExpressions.Regex regex, int capcount, string text, int begpos, int len, int startpos) : base(default(string), default(int[]), default(int), default(string)) => throw null;\n}\n\n// Generated from `System.Text.RegularExpressions.Regex` in `System.Text.RegularExpressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Regex : System.Runtime.Serialization.ISerializable\n{\n void System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo si, System.Runtime.Serialization.StreamingContext context) => throw null;\n public System.Text.RegularExpressions.Match Match(string input) => throw null;\n public static System.Text.RegularExpressions.Match Match(string input, string pattern) => throw null;\n public static System.Text.RegularExpressions.Match Match(string input, string pattern, System.Text.RegularExpressions.RegexOptions options, System.TimeSpan matchTimeout) => throw null;\n public Regex(string pattern) => throw null;\n public Regex(string pattern, System.Text.RegularExpressions.RegexOptions options, System.TimeSpan matchTimeout) => throw null;\n public string Replace(string input, string replacement) => throw null;\n public override string ToString() => throw null;\n}\n\n// Generated from `System.Text.RegularExpressions.RegexOptions` in `System.Text.RegularExpressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\n[System.Flags]\npublic enum RegexOptions\n{\n IgnoreCase=1,\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Web\n{\n// Generated from `System.Web.HtmlString` in `../../../resources/stubs/System.Web.cs:34:18:34:27; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HtmlString : System.Web.IHtmlString\n{\n}\n\n// Generated from `System.Web.HttpContextBase` in `../../../resources/stubs/System.Web.cs:24:18:24:32; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpContextBase\n{\n public virtual System.Web.HttpRequestBase Request { get => throw null; }\n}\n\n// Generated from `System.Web.HttpCookie` in `../../../resources/stubs/System.Web.cs:174:18:174:27; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpCookie\n{\n}\n\n// Generated from `System.Web.HttpCookieCollection` in `../../../resources/stubs/System.Web.cs:192:27:192:46; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic abstract class HttpCookieCollection : System.Collections.Specialized.NameObjectCollectionBase\n{\n}\n\n// Generated from `System.Web.HttpRequest` in `../../../resources/stubs/System.Web.cs:145:18:145:28; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpRequest\n{\n}\n\n// Generated from `System.Web.HttpRequestBase` in `../../../resources/stubs/System.Web.cs:10:18:10:32; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpRequestBase\n{\n public virtual System.Collections.Specialized.NameValueCollection QueryString { get => throw null; }\n}\n\n// Generated from `System.Web.HttpResponse` in `../../../resources/stubs/System.Web.cs:156:18:156:29; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpResponse\n{\n}\n\n// Generated from `System.Web.HttpResponseBase` in `../../../resources/stubs/System.Web.cs:19:18:19:33; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpResponseBase\n{\n}\n\n// Generated from `System.Web.HttpServerUtility` in `../../../resources/stubs/System.Web.cs:41:18:41:34; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpServerUtility\n{\n}\n\n// Generated from `System.Web.IHtmlString` in `../../../resources/stubs/System.Web.cs:30:22:30:32; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface IHtmlString\n{\n}\n\n// Generated from `System.Web.IHttpHandler` in `../../../resources/stubs/System.Web.cs:132:22:132:33; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface IHttpHandler\n{\n}\n\n// Generated from `System.Web.IServiceProvider` in `../../../resources/stubs/System.Web.cs:136:22:136:37; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface IServiceProvider\n{\n}\n\n// Generated from `System.Web.UnvalidatedRequestValues` in `../../../resources/stubs/System.Web.cs:140:18:140:41; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class UnvalidatedRequestValues\n{\n}\n\n// Generated from `System.Web.UnvalidatedRequestValuesBase` in `../../../resources/stubs/System.Web.cs:5:18:5:45; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class UnvalidatedRequestValuesBase\n{\n}\n\nnamespace Mvc\n{\n// Generated from `System.Web.Mvc.ActionMethodSelectorAttribute` in `../../../resources/stubs/System.Web.cs:241:18:241:46; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ActionMethodSelectorAttribute : System.Attribute\n{\n}\n\n// Generated from `System.Web.Mvc.ActionResult` in `../../../resources/stubs/System.Web.cs:233:18:233:29; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ActionResult\n{\n}\n\n// Generated from `System.Web.Mvc.ControllerContext` in `../../../resources/stubs/System.Web.cs:211:18:211:34; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ControllerContext\n{\n}\n\n// Generated from `System.Web.Mvc.FilterAttribute` in `../../../resources/stubs/System.Web.cs:237:18:237:32; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class FilterAttribute : System.Attribute\n{\n}\n\n// Generated from `System.Web.Mvc.GlobalFilterCollection` in `../../../resources/stubs/System.Web.cs:281:18:281:39; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class GlobalFilterCollection\n{\n}\n\n// Generated from `System.Web.Mvc.IFilterProvider` in `../../../resources/stubs/System.Web.cs:277:15:277:29; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\ninternal interface IFilterProvider\n{\n}\n\n// Generated from `System.Web.Mvc.IViewDataContainer` in `../../../resources/stubs/System.Web.cs:219:22:219:39; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface IViewDataContainer\n{\n}\n\n// Generated from `System.Web.Mvc.ViewContext` in `../../../resources/stubs/System.Web.cs:215:18:215:28; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ViewContext : System.Web.Mvc.ControllerContext\n{\n}\n\n// Generated from `System.Web.Mvc.ViewResult` in `../../../resources/stubs/System.Web.cs:273:18:273:27; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ViewResult : System.Web.Mvc.ViewResultBase\n{\n}\n\n// Generated from `System.Web.Mvc.ViewResultBase` in `../../../resources/stubs/System.Web.cs:269:18:269:31; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ViewResultBase : System.Web.Mvc.ActionResult\n{\n}\n\n}\nnamespace Routing\n{\n// Generated from `System.Web.Routing.RequestContext` in `../../../resources/stubs/System.Web.cs:300:18:300:31; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class RequestContext\n{\n}\n\n}\nnamespace Script\n{\nnamespace Serialization\n{\n// Generated from `System.Web.Script.Serialization.JavaScriptTypeResolver` in `../../../resources/stubs/System.Web.cs:365:27:365:48; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic abstract class JavaScriptTypeResolver\n{\n}\n\n}\n}\nnamespace Security\n{\n// Generated from `System.Web.Security.MembershipUser` in `../../../resources/stubs/System.Web.cs:323:18:323:31; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class MembershipUser\n{\n}\n\n}\nnamespace SessionState\n{\n// Generated from `System.Web.SessionState.HttpSessionState` in `../../../resources/stubs/System.Web.cs:201:18:201:33; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpSessionState\n{\n}\n\n}\nnamespace UI\n{\n// Generated from `System.Web.UI.Control` in `../../../resources/stubs/System.Web.cs:76:18:76:24; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Control\n{\n}\n\nnamespace WebControls\n{\n// Generated from `System.Web.UI.WebControls.WebControl` in `../../../resources/stubs/System.Web.cs:104:18:104:27; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class WebControl : System.Web.UI.Control\n{\n}\n\n}\n}\n}\n}\n\n\n |
+| // This file contains auto-generated code.\n\nnamespace System\n{\n// Generated from `System.Uri` in `System.Private.Uri, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Uri : System.Runtime.Serialization.ISerializable\n{\n public override bool Equals(object comparand) => throw null;\n public override int GetHashCode() => throw null;\n void System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext) => throw null;\n public override string ToString() => throw null;\n}\n\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Collections\n{\n// Generated from `System.Collections.SortedList` in `System.Collections.NonGeneric, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class SortedList : System.Collections.ICollection, System.Collections.IDictionary, System.Collections.IEnumerable, System.ICloneable\n{\n public virtual void Add(object key, object value) => throw null;\n public virtual void Clear() => throw null;\n public virtual object Clone() => throw null;\n public virtual bool Contains(object key) => throw null;\n public virtual void CopyTo(System.Array array, int arrayIndex) => throw null;\n public virtual int Count { get => throw null; }\n public virtual object GetByIndex(int index) => throw null;\n public virtual System.Collections.IDictionaryEnumerator GetEnumerator() => throw null;\n System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() => throw null;\n public virtual bool IsFixedSize { get => throw null; }\n public virtual bool IsReadOnly { get => throw null; }\n public virtual bool IsSynchronized { get => throw null; }\n public virtual object this[object key] { get => throw null; set => throw null; }\n public virtual System.Collections.ICollection Keys { get => throw null; }\n public virtual void Remove(object key) => throw null;\n public virtual object SyncRoot { get => throw null; }\n public virtual System.Collections.ICollection Values { get => throw null; }\n}\n\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Collections\n{\nnamespace Generic\n{\n// Generated from `System.Collections.Generic.Stack<>` in `System.Collections, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Stack : System.Collections.Generic.IEnumerable, System.Collections.Generic.IReadOnlyCollection, System.Collections.ICollection, System.Collections.IEnumerable\n{\n void System.Collections.ICollection.CopyTo(System.Array array, int arrayIndex) => throw null;\n public int Count { get => throw null; }\n System.Collections.Generic.IEnumerator System.Collections.Generic.IEnumerable.GetEnumerator() => throw null;\n System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() => throw null;\n bool System.Collections.ICollection.IsSynchronized { get => throw null; }\n public T Peek() => throw null;\n object System.Collections.ICollection.SyncRoot { get => throw null; }\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Collections\n{\nnamespace Specialized\n{\n// Generated from `System.Collections.Specialized.NameObjectCollectionBase` in `System.Collections.Specialized, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic abstract class NameObjectCollectionBase : System.Collections.ICollection, System.Collections.IEnumerable, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable\n{\n void System.Collections.ICollection.CopyTo(System.Array array, int index) => throw null;\n public virtual int Count { get => throw null; }\n public virtual System.Collections.IEnumerator GetEnumerator() => throw null;\n public virtual void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) => throw null;\n bool System.Collections.ICollection.IsSynchronized { get => throw null; }\n public virtual void OnDeserialization(object sender) => throw null;\n object System.Collections.ICollection.SyncRoot { get => throw null; }\n}\n\n// Generated from `System.Collections.Specialized.NameValueCollection` in `System.Collections.Specialized, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class NameValueCollection : System.Collections.Specialized.NameObjectCollectionBase\n{\n public string this[string name] { get => throw null; set => throw null; }\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace ComponentModel\n{\n// Generated from `System.ComponentModel.ComponentConverter` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class ComponentConverter : System.ComponentModel.ReferenceConverter\n{\n}\n\n// Generated from `System.ComponentModel.DefaultEventAttribute` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class DefaultEventAttribute : System.Attribute\n{\n public DefaultEventAttribute(string name) => throw null;\n public override bool Equals(object obj) => throw null;\n public override int GetHashCode() => throw null;\n}\n\n// Generated from `System.ComponentModel.DefaultPropertyAttribute` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class DefaultPropertyAttribute : System.Attribute\n{\n public DefaultPropertyAttribute(string name) => throw null;\n public override bool Equals(object obj) => throw null;\n public override int GetHashCode() => throw null;\n}\n\n// Generated from `System.ComponentModel.ReferenceConverter` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class ReferenceConverter : System.ComponentModel.TypeConverter\n{\n}\n\n// Generated from `System.ComponentModel.TypeConverter` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class TypeConverter\n{\n}\n\n}\nnamespace Timers\n{\n// Generated from `System.Timers.TimersDescriptionAttribute` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class TimersDescriptionAttribute\n{\n public TimersDescriptionAttribute(string description) => throw null;\n internal TimersDescriptionAttribute(string description, string unused) => throw null;\n}\n\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace ComponentModel\n{\n// Generated from `System.ComponentModel.TypeConverterAttribute` in `System.ObjectModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class TypeConverterAttribute : System.Attribute\n{\n public override bool Equals(object obj) => throw null;\n public override int GetHashCode() => throw null;\n public TypeConverterAttribute() => throw null;\n public TypeConverterAttribute(System.Type type) => throw null;\n public TypeConverterAttribute(string typeName) => throw null;\n}\n\n// Generated from `System.ComponentModel.TypeDescriptionProviderAttribute` in `System.ObjectModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class TypeDescriptionProviderAttribute : System.Attribute\n{\n public TypeDescriptionProviderAttribute(System.Type type) => throw null;\n public TypeDescriptionProviderAttribute(string typeName) => throw null;\n}\n\n}\nnamespace Windows\n{\nnamespace Markup\n{\n// Generated from `System.Windows.Markup.ValueSerializerAttribute` in `System.ObjectModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class ValueSerializerAttribute : System.Attribute\n{\n public ValueSerializerAttribute(System.Type valueSerializerType) => throw null;\n public ValueSerializerAttribute(string valueSerializerTypeName) => throw null;\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Linq\n{\n// Generated from `System.Linq.Enumerable` in `System.Linq, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic static class Enumerable\n{\n public static System.Collections.Generic.IEnumerable Select(this System.Collections.Generic.IEnumerable source, System.Func selector) => throw null;\n}\n\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Linq\n{\n// Generated from `System.Linq.IQueryable` in `System.Linq.Expressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic interface IQueryable : System.Collections.IEnumerable\n{\n}\n\n}\nnamespace Runtime\n{\nnamespace CompilerServices\n{\n// Generated from `System.Runtime.CompilerServices.CallSite` in `System.Linq.Expressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class CallSite\n{\n internal CallSite(System.Runtime.CompilerServices.CallSiteBinder binder) => throw null;\n}\n\n// Generated from `System.Runtime.CompilerServices.CallSite<>` in `System.Linq.Expressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class CallSite : System.Runtime.CompilerServices.CallSite where T: class\n{\n private CallSite() : base(default(System.Runtime.CompilerServices.CallSiteBinder)) => throw null;\n private CallSite(System.Runtime.CompilerServices.CallSiteBinder binder) : base(default(System.Runtime.CompilerServices.CallSiteBinder)) => throw null;\n}\n\n// Generated from `System.Runtime.CompilerServices.CallSiteBinder` in `System.Linq.Expressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic abstract class CallSiteBinder\n{\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Linq\n{\n// Generated from `System.Linq.ParallelEnumerable` in `System.Linq.Parallel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic static class ParallelEnumerable\n{\n public static System.Linq.ParallelQuery AsParallel(this System.Collections.IEnumerable source) => throw null;\n}\n\n// Generated from `System.Linq.ParallelQuery` in `System.Linq.Parallel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class ParallelQuery : System.Collections.IEnumerable\n{\n System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() => throw null;\n internal ParallelQuery(System.Linq.Parallel.QuerySettings specifiedSettings) => throw null;\n}\n\nnamespace Parallel\n{\n// Generated from `System.Linq.Parallel.QuerySettings` in `System.Linq.Parallel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\ninternal struct QuerySettings\n{\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Linq\n{\n// Generated from `System.Linq.Queryable` in `System.Linq.Queryable, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic static class Queryable\n{\n public static System.Linq.IQueryable AsQueryable(this System.Collections.IEnumerable source) => throw null;\n}\n\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Runtime\n{\nnamespace Serialization\n{\n// Generated from `System.Runtime.Serialization.DataContractAttribute` in `System.Runtime.Serialization.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class DataContractAttribute : System.Attribute\n{\n public DataContractAttribute() => throw null;\n}\n\n// Generated from `System.Runtime.Serialization.DataMemberAttribute` in `System.Runtime.Serialization.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class DataMemberAttribute : System.Attribute\n{\n public DataMemberAttribute() => throw null;\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Security\n{\nnamespace Cryptography\n{\n// Generated from `System.Security.Cryptography.PaddingMode` in `System.Security.Cryptography.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic enum PaddingMode : int\n{\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Text\n{\nnamespace RegularExpressions\n{\n// Generated from `System.Text.RegularExpressions.Capture` in `System.Text.RegularExpressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Capture\n{\n internal Capture(string text, int index, int length) => throw null;\n public override string ToString() => throw null;\n}\n\n// Generated from `System.Text.RegularExpressions.Group` in `System.Text.RegularExpressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Group : System.Text.RegularExpressions.Capture\n{\n internal Group(string text, int[] caps, int capcount, string name) : base(default(string), default(int), default(int)) => throw null;\n}\n\n// Generated from `System.Text.RegularExpressions.Match` in `System.Text.RegularExpressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Match : System.Text.RegularExpressions.Group\n{\n internal Match(System.Text.RegularExpressions.Regex regex, int capcount, string text, int begpos, int len, int startpos) : base(default(string), default(int[]), default(int), default(string)) => throw null;\n}\n\n// Generated from `System.Text.RegularExpressions.Regex` in `System.Text.RegularExpressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\npublic class Regex : System.Runtime.Serialization.ISerializable\n{\n void System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo si, System.Runtime.Serialization.StreamingContext context) => throw null;\n public System.Text.RegularExpressions.Match Match(string input) => throw null;\n public static System.Text.RegularExpressions.Match Match(string input, string pattern) => throw null;\n public static System.Text.RegularExpressions.Match Match(string input, string pattern, System.Text.RegularExpressions.RegexOptions options, System.TimeSpan matchTimeout) => throw null;\n public Regex(string pattern) => throw null;\n public Regex(string pattern, System.Text.RegularExpressions.RegexOptions options, System.TimeSpan matchTimeout) => throw null;\n public string Replace(string input, string replacement) => throw null;\n public override string ToString() => throw null;\n}\n\n// Generated from `System.Text.RegularExpressions.RegexOptions` in `System.Text.RegularExpressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`\n[System.Flags]\npublic enum RegexOptions : int\n{\n IgnoreCase = 1,\n}\n\n}\n}\n}\n\n\n// This file contains auto-generated code.\n\nnamespace System\n{\nnamespace Web\n{\n// Generated from `System.Web.HtmlString` in `../../../resources/stubs/System.Web.cs:34:18:34:27; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HtmlString : System.Web.IHtmlString\n{\n}\n\n// Generated from `System.Web.HttpContextBase` in `../../../resources/stubs/System.Web.cs:24:18:24:32; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpContextBase\n{\n public virtual System.Web.HttpRequestBase Request { get => throw null; }\n}\n\n// Generated from `System.Web.HttpCookie` in `../../../resources/stubs/System.Web.cs:174:18:174:27; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpCookie\n{\n}\n\n// Generated from `System.Web.HttpCookieCollection` in `../../../resources/stubs/System.Web.cs:192:27:192:46; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic abstract class HttpCookieCollection : System.Collections.Specialized.NameObjectCollectionBase\n{\n}\n\n// Generated from `System.Web.HttpRequest` in `../../../resources/stubs/System.Web.cs:145:18:145:28; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpRequest\n{\n}\n\n// Generated from `System.Web.HttpRequestBase` in `../../../resources/stubs/System.Web.cs:10:18:10:32; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpRequestBase\n{\n public virtual System.Collections.Specialized.NameValueCollection QueryString { get => throw null; }\n}\n\n// Generated from `System.Web.HttpResponse` in `../../../resources/stubs/System.Web.cs:156:18:156:29; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpResponse\n{\n}\n\n// Generated from `System.Web.HttpResponseBase` in `../../../resources/stubs/System.Web.cs:19:18:19:33; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpResponseBase\n{\n}\n\n// Generated from `System.Web.HttpServerUtility` in `../../../resources/stubs/System.Web.cs:41:18:41:34; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpServerUtility\n{\n}\n\n// Generated from `System.Web.IHtmlString` in `../../../resources/stubs/System.Web.cs:30:22:30:32; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface IHtmlString\n{\n}\n\n// Generated from `System.Web.IHttpHandler` in `../../../resources/stubs/System.Web.cs:132:22:132:33; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface IHttpHandler\n{\n}\n\n// Generated from `System.Web.IServiceProvider` in `../../../resources/stubs/System.Web.cs:136:22:136:37; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface IServiceProvider\n{\n}\n\n// Generated from `System.Web.UnvalidatedRequestValues` in `../../../resources/stubs/System.Web.cs:140:18:140:41; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class UnvalidatedRequestValues\n{\n}\n\n// Generated from `System.Web.UnvalidatedRequestValuesBase` in `../../../resources/stubs/System.Web.cs:5:18:5:45; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class UnvalidatedRequestValuesBase\n{\n}\n\nnamespace Mvc\n{\n// Generated from `System.Web.Mvc.ActionMethodSelectorAttribute` in `../../../resources/stubs/System.Web.cs:241:18:241:46; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ActionMethodSelectorAttribute : System.Attribute\n{\n}\n\n// Generated from `System.Web.Mvc.ActionResult` in `../../../resources/stubs/System.Web.cs:233:18:233:29; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ActionResult\n{\n}\n\n// Generated from `System.Web.Mvc.ControllerContext` in `../../../resources/stubs/System.Web.cs:211:18:211:34; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ControllerContext\n{\n}\n\n// Generated from `System.Web.Mvc.FilterAttribute` in `../../../resources/stubs/System.Web.cs:237:18:237:32; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class FilterAttribute : System.Attribute\n{\n}\n\n// Generated from `System.Web.Mvc.GlobalFilterCollection` in `../../../resources/stubs/System.Web.cs:281:18:281:39; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class GlobalFilterCollection\n{\n}\n\n// Generated from `System.Web.Mvc.IFilterProvider` in `../../../resources/stubs/System.Web.cs:277:15:277:29; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\ninternal interface IFilterProvider\n{\n}\n\n// Generated from `System.Web.Mvc.IViewDataContainer` in `../../../resources/stubs/System.Web.cs:219:22:219:39; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic interface IViewDataContainer\n{\n}\n\n// Generated from `System.Web.Mvc.ViewContext` in `../../../resources/stubs/System.Web.cs:215:18:215:28; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ViewContext : System.Web.Mvc.ControllerContext\n{\n}\n\n// Generated from `System.Web.Mvc.ViewResult` in `../../../resources/stubs/System.Web.cs:273:18:273:27; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ViewResult : System.Web.Mvc.ViewResultBase\n{\n}\n\n// Generated from `System.Web.Mvc.ViewResultBase` in `../../../resources/stubs/System.Web.cs:269:18:269:31; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class ViewResultBase : System.Web.Mvc.ActionResult\n{\n}\n\n}\nnamespace Routing\n{\n// Generated from `System.Web.Routing.RequestContext` in `../../../resources/stubs/System.Web.cs:300:18:300:31; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class RequestContext\n{\n}\n\n}\nnamespace Script\n{\nnamespace Serialization\n{\n// Generated from `System.Web.Script.Serialization.JavaScriptTypeResolver` in `../../../resources/stubs/System.Web.cs:365:27:365:48; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic abstract class JavaScriptTypeResolver\n{\n}\n\n}\n}\nnamespace Security\n{\n// Generated from `System.Web.Security.MembershipUser` in `../../../resources/stubs/System.Web.cs:323:18:323:31; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class MembershipUser\n{\n}\n\n}\nnamespace SessionState\n{\n// Generated from `System.Web.SessionState.HttpSessionState` in `../../../resources/stubs/System.Web.cs:201:18:201:33; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class HttpSessionState\n{\n}\n\n}\nnamespace UI\n{\n// Generated from `System.Web.UI.Control` in `../../../resources/stubs/System.Web.cs:76:18:76:24; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class Control\n{\n}\n\nnamespace WebControls\n{\n// Generated from `System.Web.UI.WebControls.WebControl` in `../../../resources/stubs/System.Web.cs:104:18:104:27; System.Web, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null`\npublic class WebControl : System.Web.UI.Control\n{\n}\n\n}\n}\n}\n}\n\n\n |
From e2882f0706b56ab79d33c48cf4577f6d8d329ae8 Mon Sep 17 00:00:00 2001
From: Michael Nebel
Date: Thu, 11 Aug 2022 13:09:20 +0200
Subject: [PATCH 138/600] C#: Re-generate stubs for the ASP.NET Core framework.
---
.../Microsoft.AspNetCore.Components.Web.cs | 16 +--
.../Microsoft.AspNetCore.Components.cs | 42 +++---
...oft.AspNetCore.Connections.Abstractions.cs | 14 +-
.../Microsoft.AspNetCore.CookiePolicy.cs | 6 +-
...t.AspNetCore.Cryptography.KeyDerivation.cs | 8 +-
.../Microsoft.AspNetCore.DataProtection.cs | 28 ++--
.../Microsoft.AspNetCore.Http.Abstractions.cs | 8 +-
...soft.AspNetCore.Http.Connections.Common.cs | 10 +-
.../Microsoft.AspNetCore.Http.Features.cs | 18 +--
.../Microsoft.AspNetCore.HttpLogging.cs | 86 ++++++------
.../Microsoft.AspNetCore.HttpOverrides.cs | 12 +-
.../Microsoft.AspNetCore.Mvc.Abstractions.cs | 34 ++---
.../Microsoft.AspNetCore.Mvc.Core.cs | 44 +++---
.../Microsoft.AspNetCore.Mvc.Razor.cs | 6 +-
.../Microsoft.AspNetCore.Mvc.TagHelpers.cs | 14 +-
.../Microsoft.AspNetCore.Mvc.ViewFeatures.cs | 54 ++++----
.../Microsoft.AspNetCore.Razor.cs | 26 ++--
.../Microsoft.AspNetCore.Rewrite.cs | 8 +-
...crosoft.AspNetCore.Routing.Abstractions.cs | 6 +-
.../Microsoft.AspNetCore.Routing.cs | 16 +--
.../Microsoft.AspNetCore.Server.HttpSys.cs | 36 ++---
.../Microsoft.AspNetCore.Server.IIS.cs | 2 +-
...icrosoft.AspNetCore.Server.Kestrel.Core.cs | 70 +++++-----
...crosoft.Extensions.Caching.Abstractions.cs | 24 ++--
...nsions.DependencyInjection.Abstractions.cs | 8 +-
...s.Diagnostics.HealthChecks.Abstractions.cs | 8 +-
...osoft.Extensions.FileProviders.Physical.cs | 12 +-
.../Microsoft.Extensions.Hosting.cs | 6 +-
.../Microsoft.Extensions.Identity.Core.cs | 14 +-
...crosoft.Extensions.Logging.Abstractions.cs | 16 +--
.../Microsoft.Extensions.Logging.Console.cs | 14 +-
.../Microsoft.Extensions.Logging.cs | 18 +--
.../Microsoft.JSInterop.cs | 10 +-
.../Microsoft.Net.Http.Headers.cs | 10 +-
.../System.Diagnostics.EventLog.cs | 126 +++++++++---------
35 files changed, 415 insertions(+), 415 deletions(-)
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Components.Web.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Components.Web.cs
index 11280568ca1..0ff2e593df5 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Components.Web.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Components.Web.cs
@@ -128,12 +128,12 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Components.Forms.InputDateType` in `Microsoft.AspNetCore.Components.Web, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum InputDateType
+ public enum InputDateType : int
{
- Date,
- DateTimeLocal,
- Month,
- Time,
+ Date = 0,
+ DateTimeLocal = 1,
+ Month = 2,
+ Time = 3,
}
// Generated from `Microsoft.AspNetCore.Components.Forms.InputFile` in `Microsoft.AspNetCore.Components.Web, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -304,10 +304,10 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Components.Routing.NavLinkMatch` in `Microsoft.AspNetCore.Components.Web, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum NavLinkMatch
+ public enum NavLinkMatch : int
{
- All,
- Prefix,
+ All = 1,
+ Prefix = 0,
}
}
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Components.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Components.cs
index 71fd84b7ecf..81b9b996f3d 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Components.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Components.cs
@@ -668,18 +668,18 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Components.RenderTree.RenderTreeEditType` in `Microsoft.AspNetCore.Components, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum RenderTreeEditType
+ public enum RenderTreeEditType : int
{
- PermutationListEnd,
- PermutationListEntry,
- PrependFrame,
- RemoveAttribute,
- RemoveFrame,
- SetAttribute,
- StepIn,
- StepOut,
- UpdateMarkup,
- UpdateText,
+ PermutationListEnd = 10,
+ PermutationListEntry = 9,
+ PrependFrame = 1,
+ RemoveAttribute = 4,
+ RemoveFrame = 2,
+ SetAttribute = 3,
+ StepIn = 6,
+ StepOut = 7,
+ UpdateMarkup = 8,
+ UpdateText = 5,
}
// Generated from `Microsoft.AspNetCore.Components.RenderTree.RenderTreeFrame` in `Microsoft.AspNetCore.Components, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -711,17 +711,17 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Components.RenderTree.RenderTreeFrameType` in `Microsoft.AspNetCore.Components, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum RenderTreeFrameType
+ public enum RenderTreeFrameType : short
{
- Attribute,
- Component,
- ComponentReferenceCapture,
- Element,
- ElementReferenceCapture,
- Markup,
- None,
- Region,
- Text,
+ Attribute = 3,
+ Component = 4,
+ ComponentReferenceCapture = 7,
+ Element = 1,
+ ElementReferenceCapture = 6,
+ Markup = 8,
+ None = 0,
+ Region = 5,
+ Text = 2,
}
// Generated from `Microsoft.AspNetCore.Components.RenderTree.Renderer` in `Microsoft.AspNetCore.Components, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Connections.Abstractions.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Connections.Abstractions.cs
index cb45be10951..29e4569777f 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Connections.Abstractions.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Connections.Abstractions.cs
@@ -131,11 +131,11 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Connections.FileHandleType` in `Microsoft.AspNetCore.Connections.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum FileHandleType
+ public enum FileHandleType : int
{
- Auto,
- Pipe,
- Tcp,
+ Auto = 0,
+ Pipe = 2,
+ Tcp = 1,
}
// Generated from `Microsoft.AspNetCore.Connections.IConnectionBuilder` in `Microsoft.AspNetCore.Connections.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -216,10 +216,10 @@ namespace Microsoft
// Generated from `Microsoft.AspNetCore.Connections.TransferFormat` in `Microsoft.AspNetCore.Connections.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
[System.Flags]
- public enum TransferFormat
+ public enum TransferFormat : int
{
- Binary,
- Text,
+ Binary = 1,
+ Text = 2,
}
// Generated from `Microsoft.AspNetCore.Connections.UriEndPoint` in `Microsoft.AspNetCore.Connections.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.CookiePolicy.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.CookiePolicy.cs
index 1052886d8b7..c501847a681 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.CookiePolicy.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.CookiePolicy.cs
@@ -64,10 +64,10 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.CookiePolicy.HttpOnlyPolicy` in `Microsoft.AspNetCore.CookiePolicy, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum HttpOnlyPolicy
+ public enum HttpOnlyPolicy : int
{
- None,
- Always,
+ Always = 1,
+ None = 0,
}
}
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Cryptography.KeyDerivation.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Cryptography.KeyDerivation.cs
index 6cb834bc3ad..caf6639e24b 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Cryptography.KeyDerivation.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Cryptography.KeyDerivation.cs
@@ -15,11 +15,11 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Cryptography.KeyDerivation.KeyDerivationPrf` in `Microsoft.AspNetCore.Cryptography.KeyDerivation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum KeyDerivationPrf
+ public enum KeyDerivationPrf : int
{
- HMACSHA1,
- HMACSHA256,
- HMACSHA512,
+ HMACSHA1 = 0,
+ HMACSHA256 = 1,
+ HMACSHA512 = 2,
}
}
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.DataProtection.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.DataProtection.cs
index e4b450d0757..612d9b5b68a 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.DataProtection.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.DataProtection.cs
@@ -110,14 +110,14 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.EncryptionAlgorithm` in `Microsoft.AspNetCore.DataProtection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum EncryptionAlgorithm
+ public enum EncryptionAlgorithm : int
{
- AES_128_CBC,
- AES_128_GCM,
- AES_192_CBC,
- AES_192_GCM,
- AES_256_CBC,
- AES_256_GCM,
+ AES_128_CBC = 0,
+ AES_128_GCM = 3,
+ AES_192_CBC = 1,
+ AES_192_GCM = 4,
+ AES_256_CBC = 2,
+ AES_256_GCM = 5,
}
// Generated from `Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.IAuthenticatedEncryptor` in `Microsoft.AspNetCore.DataProtection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -141,10 +141,10 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ValidationAlgorithm` in `Microsoft.AspNetCore.DataProtection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum ValidationAlgorithm
+ public enum ValidationAlgorithm : int
{
- HMACSHA256,
- HMACSHA512,
+ HMACSHA256 = 0,
+ HMACSHA512 = 1,
}
namespace ConfigurationModel
@@ -454,11 +454,11 @@ namespace Microsoft
// Generated from `Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiNGProtectionDescriptorFlags` in `Microsoft.AspNetCore.DataProtection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
[System.Flags]
- public enum DpapiNGProtectionDescriptorFlags
+ public enum DpapiNGProtectionDescriptorFlags : int
{
- MachineKey,
- NamedDescriptor,
- None,
+ MachineKey = 32,
+ NamedDescriptor = 1,
+ None = 0,
}
// Generated from `Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiNGXmlDecryptor` in `Microsoft.AspNetCore.DataProtection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Http.Abstractions.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Http.Abstractions.cs
index e02b74b35a1..210f0425967 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Http.Abstractions.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Http.Abstractions.cs
@@ -176,11 +176,11 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Http.CookieSecurePolicy` in `Microsoft.AspNetCore.Http.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum CookieSecurePolicy
+ public enum CookieSecurePolicy : int
{
- SameAsRequest,
- Always,
- None
+ Always = 1,
+ None = 2,
+ SameAsRequest = 0,
}
// Generated from `Microsoft.AspNetCore.Http.Endpoint` in `Microsoft.AspNetCore.Http.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Http.Connections.Common.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Http.Connections.Common.cs
index e4383f4ead1..cf8a1c6d7e6 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Http.Connections.Common.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Http.Connections.Common.cs
@@ -18,12 +18,12 @@ namespace Microsoft
// Generated from `Microsoft.AspNetCore.Http.Connections.HttpTransportType` in `Microsoft.AspNetCore.Http.Connections.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
[System.Flags]
- public enum HttpTransportType
+ public enum HttpTransportType : int
{
- LongPolling,
- None,
- ServerSentEvents,
- WebSockets,
+ LongPolling = 4,
+ None = 0,
+ ServerSentEvents = 2,
+ WebSockets = 1,
}
// Generated from `Microsoft.AspNetCore.Http.Connections.HttpTransports` in `Microsoft.AspNetCore.Http.Connections.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Http.Features.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Http.Features.cs
index 78a158bf731..606b18b725f 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Http.Features.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Http.Features.cs
@@ -194,12 +194,12 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Http.SameSiteMode` in `Microsoft.AspNetCore.Http.Features, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum SameSiteMode
+ public enum SameSiteMode : int
{
- Lax,
- None,
- Strict,
- Unspecified,
+ Lax = 1,
+ None = 0,
+ Strict = 2,
+ Unspecified = -1,
}
// Generated from `Microsoft.AspNetCore.Http.WebSocketAcceptContext` in `Microsoft.AspNetCore.Http.Features, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -216,11 +216,11 @@ namespace Microsoft
namespace Features
{
// Generated from `Microsoft.AspNetCore.Http.Features.HttpsCompressionMode` in `Microsoft.AspNetCore.Http.Features, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum HttpsCompressionMode
+ public enum HttpsCompressionMode : int
{
- Compress,
- Default,
- DoNotCompress,
+ Compress = 2,
+ Default = 0,
+ DoNotCompress = 1,
}
// Generated from `Microsoft.AspNetCore.Http.Features.IBadRequestExceptionFeature` in `Microsoft.AspNetCore.Http.Features, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.HttpLogging.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.HttpLogging.cs
index baf2614c14a..aca5bc3bc03 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.HttpLogging.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.HttpLogging.cs
@@ -18,27 +18,27 @@ namespace Microsoft
{
// Generated from `Microsoft.AspNetCore.HttpLogging.HttpLoggingFields` in `Microsoft.AspNetCore.HttpLogging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
[System.Flags]
- public enum HttpLoggingFields
+ public enum HttpLoggingFields : long
{
- All,
- None,
- Request,
- RequestBody,
- RequestHeaders,
- RequestMethod,
- RequestPath,
- RequestProperties,
- RequestPropertiesAndHeaders,
- RequestProtocol,
- RequestQuery,
- RequestScheme,
- RequestTrailers,
- Response,
- ResponseBody,
- ResponseHeaders,
- ResponsePropertiesAndHeaders,
- ResponseStatusCode,
- ResponseTrailers,
+ All = 3325,
+ None = 0,
+ Request = 1117,
+ RequestBody = 1024,
+ RequestHeaders = 64,
+ RequestMethod = 8,
+ RequestPath = 1,
+ RequestProperties = 29,
+ RequestPropertiesAndHeaders = 93,
+ RequestProtocol = 4,
+ RequestQuery = 2,
+ RequestScheme = 16,
+ RequestTrailers = 256,
+ Response = 2208,
+ ResponseBody = 2048,
+ ResponseHeaders = 128,
+ ResponsePropertiesAndHeaders = 160,
+ ResponseStatusCode = 32,
+ ResponseTrailers = 512,
}
// Generated from `Microsoft.AspNetCore.HttpLogging.HttpLoggingOptions` in `Microsoft.AspNetCore.HttpLogging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -77,30 +77,30 @@ namespace Microsoft
// Generated from `Microsoft.AspNetCore.HttpLogging.W3CLoggingFields` in `Microsoft.AspNetCore.HttpLogging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
[System.Flags]
- public enum W3CLoggingFields
+ public enum W3CLoggingFields : long
{
- All,
- ClientIpAddress,
- ConnectionInfoFields,
- Cookie,
- Date,
- Host,
- Method,
- None,
- ProtocolStatus,
- ProtocolVersion,
- Referer,
- Request,
- RequestHeaders,
- ServerIpAddress,
- ServerName,
- ServerPort,
- Time,
- TimeTaken,
- UriQuery,
- UriStem,
- UserAgent,
- UserName,
+ All = 131071,
+ ClientIpAddress = 4,
+ ConnectionInfoFields = 100,
+ Cookie = 32768,
+ Date = 1,
+ Host = 8192,
+ Method = 128,
+ None = 0,
+ ProtocolStatus = 1024,
+ ProtocolVersion = 4096,
+ Referer = 65536,
+ Request = 95104,
+ RequestHeaders = 90112,
+ ServerIpAddress = 32,
+ ServerName = 16,
+ ServerPort = 64,
+ Time = 2,
+ TimeTaken = 2048,
+ UriQuery = 512,
+ UriStem = 256,
+ UserAgent = 16384,
+ UserName = 8,
}
}
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.HttpOverrides.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.HttpOverrides.cs
index f87c95cea3b..a6d29df8e8b 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.HttpOverrides.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.HttpOverrides.cs
@@ -71,13 +71,13 @@ namespace Microsoft
// Generated from `Microsoft.AspNetCore.HttpOverrides.ForwardedHeaders` in `Microsoft.AspNetCore.HttpOverrides, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
[System.Flags]
- public enum ForwardedHeaders
+ public enum ForwardedHeaders : int
{
- All,
- None,
- XForwardedFor,
- XForwardedHost,
- XForwardedProto,
+ All = 7,
+ None = 0,
+ XForwardedFor = 1,
+ XForwardedHost = 2,
+ XForwardedProto = 4,
}
// Generated from `Microsoft.AspNetCore.HttpOverrides.ForwardedHeadersDefaults` in `Microsoft.AspNetCore.HttpOverrides, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Mvc.Abstractions.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Mvc.Abstractions.cs
index f4f04c690c3..796013c42ac 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Mvc.Abstractions.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Mvc.Abstractions.cs
@@ -551,10 +551,10 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Mvc.Formatters.InputFormatterExceptionPolicy` in `Microsoft.AspNetCore.Mvc.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum InputFormatterExceptionPolicy
+ public enum InputFormatterExceptionPolicy : int
{
- AllExceptions,
- MalformedInputExceptions,
+ AllExceptions = 0,
+ MalformedInputExceptions = 1,
}
// Generated from `Microsoft.AspNetCore.Mvc.Formatters.InputFormatterResult` in `Microsoft.AspNetCore.Mvc.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -644,11 +644,11 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Mvc.ModelBinding.EmptyBodyBehavior` in `Microsoft.AspNetCore.Mvc.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum EmptyBodyBehavior
+ public enum EmptyBodyBehavior : int
{
- Allow,
- Default,
- Disallow,
+ Allow = 1,
+ Default = 0,
+ Disallow = 2,
}
// Generated from `Microsoft.AspNetCore.Mvc.ModelBinding.EnumGroupAndName` in `Microsoft.AspNetCore.Mvc.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -1026,12 +1026,12 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Mvc.ModelBinding.ModelValidationState` in `Microsoft.AspNetCore.Mvc.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum ModelValidationState
+ public enum ModelValidationState : int
{
- Invalid,
- Skipped,
- Unvalidated,
- Valid,
+ Invalid = 1,
+ Skipped = 3,
+ Unvalidated = 0,
+ Valid = 2,
}
// Generated from `Microsoft.AspNetCore.Mvc.ModelBinding.TooManyModelErrorsException` in `Microsoft.AspNetCore.Mvc.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -1120,12 +1120,12 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ModelMetadataKind` in `Microsoft.AspNetCore.Mvc.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum ModelMetadataKind
+ public enum ModelMetadataKind : int
{
- Constructor,
- Parameter,
- Property,
- Type,
+ Constructor = 3,
+ Parameter = 2,
+ Property = 1,
+ Type = 0,
}
}
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Mvc.Core.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Mvc.Core.cs
index be7ec16655a..528a1c9ef1f 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Mvc.Core.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Mvc.Core.cs
@@ -262,13 +262,13 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Mvc.CompatibilityVersion` in `Microsoft.AspNetCore.Mvc.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum CompatibilityVersion
+ public enum CompatibilityVersion : int
{
- Latest,
- Version_2_0,
- Version_2_1,
- Version_2_2,
- Version_3_0,
+ Latest = 2147483647,
+ Version_2_0 = 0,
+ Version_2_1 = 1,
+ Version_2_2 = 2,
+ Version_3_0 = 3,
}
// Generated from `Microsoft.AspNetCore.Mvc.ConflictObjectResult` in `Microsoft.AspNetCore.Mvc.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -1071,11 +1071,11 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Mvc.ResponseCacheLocation` in `Microsoft.AspNetCore.Mvc.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum ResponseCacheLocation
+ public enum ResponseCacheLocation : int
{
- Any,
- Client,
- None,
+ Any = 0,
+ Client = 1,
+ None = 2,
}
// Generated from `Microsoft.AspNetCore.Mvc.RouteAttribute` in `Microsoft.AspNetCore.Mvc.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -1268,12 +1268,12 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Mvc.ApiExplorer.ApiConventionNameMatchBehavior` in `Microsoft.AspNetCore.Mvc.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum ApiConventionNameMatchBehavior
+ public enum ApiConventionNameMatchBehavior : int
{
- Any,
- Exact,
- Prefix,
- Suffix,
+ Any = 0,
+ Exact = 1,
+ Prefix = 2,
+ Suffix = 3,
}
// Generated from `Microsoft.AspNetCore.Mvc.ApiExplorer.ApiConventionResult` in `Microsoft.AspNetCore.Mvc.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -1291,10 +1291,10 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Mvc.ApiExplorer.ApiConventionTypeMatchBehavior` in `Microsoft.AspNetCore.Mvc.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum ApiConventionTypeMatchBehavior
+ public enum ApiConventionTypeMatchBehavior : int
{
- Any,
- AssignableFrom,
+ Any = 0,
+ AssignableFrom = 1,
}
// Generated from `Microsoft.AspNetCore.Mvc.ApiExplorer.IApiDefaultResponseMetadataProvider` in `Microsoft.AspNetCore.Mvc.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -2769,11 +2769,11 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Mvc.ModelBinding.BindingBehavior` in `Microsoft.AspNetCore.Mvc.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum BindingBehavior
+ public enum BindingBehavior : int
{
- Never,
- Optional,
- Required,
+ Never = 1,
+ Optional = 0,
+ Required = 2,
}
// Generated from `Microsoft.AspNetCore.Mvc.ModelBinding.BindingBehaviorAttribute` in `Microsoft.AspNetCore.Mvc.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Mvc.Razor.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Mvc.Razor.cs
index 2ef42cc70ad..0ae59044a30 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Mvc.Razor.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Mvc.Razor.cs
@@ -152,10 +152,10 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Mvc.Razor.LanguageViewLocationExpanderFormat` in `Microsoft.AspNetCore.Mvc.Razor, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum LanguageViewLocationExpanderFormat
+ public enum LanguageViewLocationExpanderFormat : int
{
- SubFolder,
- Suffix,
+ SubFolder = 0,
+ Suffix = 1,
}
// Generated from `Microsoft.AspNetCore.Mvc.Razor.RazorPage` in `Microsoft.AspNetCore.Mvc.Razor, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Mvc.TagHelpers.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Mvc.TagHelpers.cs
index 6838b10c711..9af16469d1c 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Mvc.TagHelpers.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Mvc.TagHelpers.cs
@@ -9,11 +9,11 @@ namespace Microsoft
namespace Rendering
{
// Generated from `Microsoft.AspNetCore.Mvc.Rendering.ValidationSummary` in `Microsoft.AspNetCore.Mvc.TagHelpers, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum ValidationSummary
+ public enum ValidationSummary : int
{
- All,
- ModelOnly,
- None,
+ All = 2,
+ ModelOnly = 1,
+ None = 0,
}
}
@@ -263,10 +263,10 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Mvc.TagHelpers.PersistenceMode` in `Microsoft.AspNetCore.Mvc.TagHelpers, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum PersistenceMode
+ public enum PersistenceMode : int
{
- Server,
- WebAssembly,
+ Server = 0,
+ WebAssembly = 1,
}
// Generated from `Microsoft.AspNetCore.Mvc.TagHelpers.RenderAtEndOfFormTagHelper` in `Microsoft.AspNetCore.Mvc.TagHelpers, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Mvc.ViewFeatures.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Mvc.ViewFeatures.cs
index 78e9154ec15..52d495db36c 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Mvc.ViewFeatures.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Mvc.ViewFeatures.cs
@@ -340,25 +340,25 @@ namespace Microsoft
namespace Rendering
{
// Generated from `Microsoft.AspNetCore.Mvc.Rendering.CheckBoxHiddenInputRenderMode` in `Microsoft.AspNetCore.Mvc.ViewFeatures, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum CheckBoxHiddenInputRenderMode
+ public enum CheckBoxHiddenInputRenderMode : int
{
- EndOfForm,
- Inline,
- None,
+ EndOfForm = 2,
+ Inline = 1,
+ None = 0,
}
// Generated from `Microsoft.AspNetCore.Mvc.Rendering.FormMethod` in `Microsoft.AspNetCore.Mvc.ViewFeatures, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum FormMethod
+ public enum FormMethod : int
{
- Get,
- Post,
+ Get = 0,
+ Post = 1,
}
// Generated from `Microsoft.AspNetCore.Mvc.Rendering.Html5DateRenderingMode` in `Microsoft.AspNetCore.Mvc.ViewFeatures, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum Html5DateRenderingMode
+ public enum Html5DateRenderingMode : int
{
- CurrentCulture,
- Rfc3339,
+ CurrentCulture = 1,
+ Rfc3339 = 0,
}
// Generated from `Microsoft.AspNetCore.Mvc.Rendering.HtmlHelperComponentExtensions` in `Microsoft.AspNetCore.Mvc.ViewFeatures, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -686,13 +686,13 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Mvc.Rendering.RenderMode` in `Microsoft.AspNetCore.Mvc.ViewFeatures, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum RenderMode
+ public enum RenderMode : int
{
- Server,
- ServerPrerendered,
- Static,
- WebAssembly,
- WebAssemblyPrerendered,
+ Server = 2,
+ ServerPrerendered = 3,
+ Static = 1,
+ WebAssembly = 4,
+ WebAssemblyPrerendered = 5,
}
// Generated from `Microsoft.AspNetCore.Mvc.Rendering.SelectList` in `Microsoft.AspNetCore.Mvc.ViewFeatures, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -753,12 +753,12 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Mvc.Rendering.TagRenderMode` in `Microsoft.AspNetCore.Mvc.ViewFeatures, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum TagRenderMode
+ public enum TagRenderMode : int
{
- EndTag,
- Normal,
- SelfClosing,
- StartTag,
+ EndTag = 2,
+ Normal = 0,
+ SelfClosing = 3,
+ StartTag = 1,
}
// Generated from `Microsoft.AspNetCore.Mvc.Rendering.ViewComponentHelperExtensions` in `Microsoft.AspNetCore.Mvc.ViewFeatures, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -1346,13 +1346,13 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Mvc.ViewFeatures.InputType` in `Microsoft.AspNetCore.Mvc.ViewFeatures, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum InputType
+ public enum InputType : int
{
- CheckBox,
- Hidden,
- Password,
- Radio,
- Text,
+ CheckBox = 0,
+ Hidden = 1,
+ Password = 2,
+ Radio = 3,
+ Text = 4,
}
// Generated from `Microsoft.AspNetCore.Mvc.ViewFeatures.ModelExplorer` in `Microsoft.AspNetCore.Mvc.ViewFeatures, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Razor.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Razor.cs
index d8213cf7971..e8016912666 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Razor.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Razor.cs
@@ -43,12 +43,12 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle` in `Microsoft.AspNetCore.Razor, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum HtmlAttributeValueStyle
+ public enum HtmlAttributeValueStyle : int
{
- DoubleQuotes,
- Minimized,
- NoQuotes,
- SingleQuotes,
+ DoubleQuotes = 0,
+ Minimized = 3,
+ NoQuotes = 2,
+ SingleQuotes = 1,
}
// Generated from `Microsoft.AspNetCore.Razor.TagHelpers.HtmlTargetElementAttribute` in `Microsoft.AspNetCore.Razor, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -237,19 +237,19 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Razor.TagHelpers.TagMode` in `Microsoft.AspNetCore.Razor, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum TagMode
+ public enum TagMode : int
{
- SelfClosing,
- StartTagAndEndTag,
- StartTagOnly,
+ SelfClosing = 1,
+ StartTagAndEndTag = 0,
+ StartTagOnly = 2,
}
// Generated from `Microsoft.AspNetCore.Razor.TagHelpers.TagStructure` in `Microsoft.AspNetCore.Razor, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum TagStructure
+ public enum TagStructure : int
{
- NormalOrSelfClosing,
- Unspecified,
- WithoutEndTag,
+ NormalOrSelfClosing = 1,
+ Unspecified = 0,
+ WithoutEndTag = 2,
}
}
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Rewrite.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Rewrite.cs
index 9d85561e16a..65ce3962a0d 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Rewrite.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Rewrite.cs
@@ -88,11 +88,11 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Rewrite.RuleResult` in `Microsoft.AspNetCore.Rewrite, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum RuleResult
+ public enum RuleResult : int
{
- ContinueRules,
- EndResponse,
- SkipRemainingRules,
+ ContinueRules = 0,
+ EndResponse = 1,
+ SkipRemainingRules = 2,
}
}
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Routing.Abstractions.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Routing.Abstractions.cs
index e23f7980c83..ebe4f26ac82 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Routing.Abstractions.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Routing.Abstractions.cs
@@ -92,10 +92,10 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Routing.RouteDirection` in `Microsoft.AspNetCore.Routing.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum RouteDirection
+ public enum RouteDirection : int
{
- IncomingRequest,
- UrlGeneration,
+ IncomingRequest = 0,
+ UrlGeneration = 1,
}
// Generated from `Microsoft.AspNetCore.Routing.RoutingHttpContextExtensions` in `Microsoft.AspNetCore.Routing.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Routing.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Routing.cs
index 1fb9882b2aa..f0d38400461 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Routing.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Routing.cs
@@ -934,11 +934,11 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Routing.Patterns.RoutePatternParameterKind` in `Microsoft.AspNetCore.Routing, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum RoutePatternParameterKind
+ public enum RoutePatternParameterKind : int
{
- CatchAll,
- Optional,
- Standard,
+ CatchAll = 2,
+ Optional = 1,
+ Standard = 0,
}
// Generated from `Microsoft.AspNetCore.Routing.Patterns.RoutePatternParameterPart` in `Microsoft.AspNetCore.Routing, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -973,11 +973,11 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Routing.Patterns.RoutePatternPartKind` in `Microsoft.AspNetCore.Routing, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum RoutePatternPartKind
+ public enum RoutePatternPartKind : int
{
- Literal,
- Parameter,
- Separator,
+ Literal = 0,
+ Parameter = 1,
+ Separator = 2,
}
// Generated from `Microsoft.AspNetCore.Routing.Patterns.RoutePatternPathSegment` in `Microsoft.AspNetCore.Routing, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Server.HttpSys.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Server.HttpSys.cs
index c65b797617f..027651684ad 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Server.HttpSys.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Server.HttpSys.cs
@@ -29,21 +29,21 @@ namespace Microsoft
// Generated from `Microsoft.AspNetCore.Server.HttpSys.AuthenticationSchemes` in `Microsoft.AspNetCore.Server.HttpSys, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
[System.Flags]
- public enum AuthenticationSchemes
+ public enum AuthenticationSchemes : int
{
- Basic,
- Kerberos,
- NTLM,
- Negotiate,
- None,
+ Basic = 1,
+ Kerberos = 16,
+ NTLM = 4,
+ Negotiate = 8,
+ None = 0,
}
// Generated from `Microsoft.AspNetCore.Server.HttpSys.ClientCertificateMethod` in `Microsoft.AspNetCore.Server.HttpSys, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum ClientCertificateMethod
+ public enum ClientCertificateMethod : int
{
- AllowCertificate,
- AllowRenegotation,
- NoCertificate,
+ AllowCertificate = 1,
+ AllowRenegotation = 2,
+ NoCertificate = 0,
}
// Generated from `Microsoft.AspNetCore.Server.HttpSys.DelegationRule` in `Microsoft.AspNetCore.Server.HttpSys, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -55,11 +55,11 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Server.HttpSys.Http503VerbosityLevel` in `Microsoft.AspNetCore.Server.HttpSys, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum Http503VerbosityLevel
+ public enum Http503VerbosityLevel : long
{
- Basic,
- Full,
- Limited,
+ Basic = 0,
+ Full = 2,
+ Limited = 1,
}
// Generated from `Microsoft.AspNetCore.Server.HttpSys.HttpSysDefaults` in `Microsoft.AspNetCore.Server.HttpSys, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -116,11 +116,11 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Server.HttpSys.RequestQueueMode` in `Microsoft.AspNetCore.Server.HttpSys, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum RequestQueueMode
+ public enum RequestQueueMode : int
{
- Attach,
- Create,
- CreateOrAttach,
+ Attach = 1,
+ Create = 0,
+ CreateOrAttach = 2,
}
// Generated from `Microsoft.AspNetCore.Server.HttpSys.TimeoutManager` in `Microsoft.AspNetCore.Server.HttpSys, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Server.IIS.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Server.IIS.cs
index a9b19618d7d..111a52e61bb 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Server.IIS.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Server.IIS.cs
@@ -52,7 +52,7 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Server.IIS.RequestRejectionReason` in `Microsoft.AspNetCore.Server.IIS, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- internal enum RequestRejectionReason
+ internal enum RequestRejectionReason : int
{
}
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Server.Kestrel.Core.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Server.Kestrel.Core.cs
index 82ae43eec4d..e006bf8cff6 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Server.Kestrel.Core.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.Server.Kestrel.Core.cs
@@ -108,14 +108,14 @@ namespace Microsoft
// Generated from `Microsoft.AspNetCore.Server.Kestrel.Core.HttpProtocols` in `Microsoft.AspNetCore.Server.Kestrel.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
[System.Flags]
- public enum HttpProtocols
+ public enum HttpProtocols : int
{
- Http1,
- Http1AndHttp2,
- Http1AndHttp2AndHttp3,
- Http2,
- Http3,
- None,
+ Http1 = 1,
+ Http1AndHttp2 = 3,
+ Http1AndHttp2AndHttp3 = 7,
+ Http2 = 2,
+ Http3 = 4,
+ None = 0,
}
// Generated from `Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer` in `Microsoft.AspNetCore.Server.Kestrel.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -259,19 +259,19 @@ namespace Microsoft
namespace Http
{
// Generated from `Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpMethod` in `Microsoft.AspNetCore.Server.Kestrel.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum HttpMethod
+ public enum HttpMethod : byte
{
- Connect,
- Custom,
- Delete,
- Get,
- Head,
- None,
- Options,
- Patch,
- Post,
- Put,
- Trace,
+ Connect = 7,
+ Custom = 9,
+ Delete = 2,
+ Get = 0,
+ Head = 4,
+ None = 255,
+ Options = 8,
+ Patch = 6,
+ Post = 3,
+ Put = 1,
+ Trace = 5,
}
// Generated from `Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpParser<>` in `Microsoft.AspNetCore.Server.Kestrel.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -284,21 +284,21 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpScheme` in `Microsoft.AspNetCore.Server.Kestrel.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum HttpScheme
+ public enum HttpScheme : int
{
- Http,
- Https,
- Unknown,
+ Http = 0,
+ Https = 1,
+ Unknown = -1,
}
// Generated from `Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpVersion` in `Microsoft.AspNetCore.Server.Kestrel.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum HttpVersion
+ public enum HttpVersion : sbyte
{
- Http10,
- Http11,
- Http2,
- Http3,
- Unknown,
+ Http10 = 0,
+ Http11 = 1,
+ Http2 = 2,
+ Http3 = 3,
+ Unknown = -1,
}
// Generated from `Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpVersionAndMethod` in `Microsoft.AspNetCore.Server.Kestrel.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -332,7 +332,7 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.RequestRejectionReason` in `Microsoft.AspNetCore.Server.Kestrel.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- internal enum RequestRejectionReason
+ internal enum RequestRejectionReason : int
{
}
@@ -358,12 +358,12 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Server.Kestrel.Https.ClientCertificateMode` in `Microsoft.AspNetCore.Server.Kestrel.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum ClientCertificateMode
+ public enum ClientCertificateMode : int
{
- AllowCertificate,
- DelayCertificate,
- NoCertificate,
- RequireCertificate,
+ AllowCertificate = 1,
+ DelayCertificate = 3,
+ NoCertificate = 0,
+ RequireCertificate = 2,
}
// Generated from `Microsoft.AspNetCore.Server.Kestrel.Https.HttpsConnectionAdapterOptions` in `Microsoft.AspNetCore.Server.Kestrel.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Caching.Abstractions.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Caching.Abstractions.cs
index 02572ca5233..75b401a91e8 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Caching.Abstractions.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Caching.Abstractions.cs
@@ -85,23 +85,23 @@ namespace Microsoft
}
// Generated from `Microsoft.Extensions.Caching.Memory.CacheItemPriority` in `Microsoft.Extensions.Caching.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum CacheItemPriority
+ public enum CacheItemPriority : int
{
- High,
- Low,
- NeverRemove,
- Normal,
+ High = 2,
+ Low = 0,
+ NeverRemove = 3,
+ Normal = 1,
}
// Generated from `Microsoft.Extensions.Caching.Memory.EvictionReason` in `Microsoft.Extensions.Caching.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum EvictionReason
+ public enum EvictionReason : int
{
- Capacity,
- Expired,
- None,
- Removed,
- Replaced,
- TokenExpired,
+ Capacity = 5,
+ Expired = 3,
+ None = 0,
+ Removed = 1,
+ Replaced = 2,
+ TokenExpired = 4,
}
// Generated from `Microsoft.Extensions.Caching.Memory.ICacheEntry` in `Microsoft.Extensions.Caching.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.DependencyInjection.Abstractions.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.DependencyInjection.Abstractions.cs
index e5a355013c5..14241cca435 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.DependencyInjection.Abstractions.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.DependencyInjection.Abstractions.cs
@@ -152,11 +152,11 @@ namespace Microsoft
}
// Generated from `Microsoft.Extensions.DependencyInjection.ServiceLifetime` in `Microsoft.Extensions.DependencyInjection.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum ServiceLifetime
+ public enum ServiceLifetime : int
{
- Scoped,
- Singleton,
- Transient,
+ Scoped = 1,
+ Singleton = 0,
+ Transient = 2,
}
// Generated from `Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions` in `Microsoft.Extensions.DependencyInjection.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.cs
index 386247ac356..849f0c761f7 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.cs
@@ -68,11 +68,11 @@ namespace Microsoft
}
// Generated from `Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus` in `Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum HealthStatus
+ public enum HealthStatus : int
{
- Degraded,
- Healthy,
- Unhealthy,
+ Degraded = 1,
+ Healthy = 2,
+ Unhealthy = 0,
}
// Generated from `Microsoft.Extensions.Diagnostics.HealthChecks.IHealthCheck` in `Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.FileProviders.Physical.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.FileProviders.Physical.cs
index 35a3f0ed567..5e0496a7efe 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.FileProviders.Physical.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.FileProviders.Physical.cs
@@ -39,13 +39,13 @@ namespace Microsoft
{
// Generated from `Microsoft.Extensions.FileProviders.Physical.ExclusionFilters` in `Microsoft.Extensions.FileProviders.Physical, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
[System.Flags]
- public enum ExclusionFilters
+ public enum ExclusionFilters : int
{
- DotPrefixed,
- Hidden,
- None,
- Sensitive,
- System,
+ DotPrefixed = 1,
+ Hidden = 2,
+ None = 0,
+ Sensitive = 7,
+ System = 4,
}
// Generated from `Microsoft.Extensions.FileProviders.Physical.PhysicalDirectoryInfo` in `Microsoft.Extensions.FileProviders.Physical, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Hosting.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Hosting.cs
index 9ca381c822c..8dc9909fe94 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Hosting.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Hosting.cs
@@ -16,10 +16,10 @@ namespace Microsoft
namespace Hosting
{
// Generated from `Microsoft.Extensions.Hosting.BackgroundServiceExceptionBehavior` in `Microsoft.Extensions.Hosting, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum BackgroundServiceExceptionBehavior
+ public enum BackgroundServiceExceptionBehavior : int
{
- Ignore,
- StopHost,
+ Ignore = 1,
+ StopHost = 0,
}
// Generated from `Microsoft.Extensions.Hosting.ConsoleLifetimeOptions` in `Microsoft.Extensions.Hosting, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Identity.Core.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Identity.Core.cs
index 9c614418114..ae9a9d1d87e 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Identity.Core.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Identity.Core.cs
@@ -387,10 +387,10 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Identity.PasswordHasherCompatibilityMode` in `Microsoft.Extensions.Identity.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum PasswordHasherCompatibilityMode
+ public enum PasswordHasherCompatibilityMode : int
{
- IdentityV2,
- IdentityV3,
+ IdentityV2 = 0,
+ IdentityV3 = 1,
}
// Generated from `Microsoft.AspNetCore.Identity.PasswordHasherOptions` in `Microsoft.Extensions.Identity.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -426,11 +426,11 @@ namespace Microsoft
}
// Generated from `Microsoft.AspNetCore.Identity.PasswordVerificationResult` in `Microsoft.Extensions.Identity.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum PasswordVerificationResult
+ public enum PasswordVerificationResult : int
{
- Failed,
- Success,
- SuccessRehashNeeded,
+ Failed = 0,
+ Success = 1,
+ SuccessRehashNeeded = 2,
}
// Generated from `Microsoft.AspNetCore.Identity.PersonalDataAttribute` in `Microsoft.Extensions.Identity.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Logging.Abstractions.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Logging.Abstractions.cs
index 88f677b0965..f2d68ea9e17 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Logging.Abstractions.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Logging.Abstractions.cs
@@ -69,15 +69,15 @@ namespace Microsoft
}
// Generated from `Microsoft.Extensions.Logging.LogLevel` in `Microsoft.Extensions.Logging.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum LogLevel
+ public enum LogLevel : int
{
- Critical,
- Debug,
- Error,
- Information,
- None,
- Trace,
- Warning,
+ Critical = 5,
+ Debug = 1,
+ Error = 4,
+ Information = 2,
+ None = 6,
+ Trace = 0,
+ Warning = 3,
}
// Generated from `Microsoft.Extensions.Logging.Logger<>` in `Microsoft.Extensions.Logging.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Logging.Console.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Logging.Console.cs
index 281c6573fe6..91af05c07d5 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Logging.Console.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Logging.Console.cs
@@ -49,10 +49,10 @@ namespace Microsoft
}
// Generated from `Microsoft.Extensions.Logging.Console.ConsoleLoggerFormat` in `Microsoft.Extensions.Logging.Console, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum ConsoleLoggerFormat
+ public enum ConsoleLoggerFormat : int
{
- Default,
- Systemd,
+ Default = 0,
+ Systemd = 1,
}
// Generated from `Microsoft.Extensions.Logging.Console.ConsoleLoggerOptions` in `Microsoft.Extensions.Logging.Console, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
@@ -86,11 +86,11 @@ namespace Microsoft
}
// Generated from `Microsoft.Extensions.Logging.Console.LoggerColorBehavior` in `Microsoft.Extensions.Logging.Console, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum LoggerColorBehavior
+ public enum LoggerColorBehavior : int
{
- Default,
- Disabled,
- Enabled,
+ Default = 0,
+ Disabled = 2,
+ Enabled = 1,
}
// Generated from `Microsoft.Extensions.Logging.Console.SimpleConsoleFormatterOptions` in `Microsoft.Extensions.Logging.Console, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Logging.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Logging.cs
index 1cde6671f1a..14b5405680d 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Logging.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Extensions.Logging.cs
@@ -18,16 +18,16 @@ namespace Microsoft
{
// Generated from `Microsoft.Extensions.Logging.ActivityTrackingOptions` in `Microsoft.Extensions.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
[System.Flags]
- public enum ActivityTrackingOptions
+ public enum ActivityTrackingOptions : int
{
- Baggage,
- None,
- ParentId,
- SpanId,
- Tags,
- TraceFlags,
- TraceId,
- TraceState,
+ Baggage = 64,
+ None = 0,
+ ParentId = 4,
+ SpanId = 1,
+ Tags = 32,
+ TraceFlags = 16,
+ TraceId = 2,
+ TraceState = 8,
}
// Generated from `Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions` in `Microsoft.Extensions.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.JSInterop.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.JSInterop.cs
index f3354094847..3f052a6a8db 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.JSInterop.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.JSInterop.cs
@@ -78,12 +78,12 @@ namespace Microsoft
}
// Generated from `Microsoft.JSInterop.JSCallResultType` in `Microsoft.JSInterop, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum JSCallResultType
+ public enum JSCallResultType : int
{
- Default,
- JSObjectReference,
- JSStreamReference,
- JSVoidResult,
+ Default = 0,
+ JSObjectReference = 1,
+ JSStreamReference = 2,
+ JSVoidResult = 3,
}
// Generated from `Microsoft.JSInterop.JSDisconnectedException` in `Microsoft.JSInterop, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Net.Http.Headers.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Net.Http.Headers.cs
index c1be8c08cf0..4ea5349a8a5 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Net.Http.Headers.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.Net.Http.Headers.cs
@@ -365,12 +365,12 @@ namespace Microsoft
}
// Generated from `Microsoft.Net.Http.Headers.SameSiteMode` in `Microsoft.Net.Http.Headers, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
- public enum SameSiteMode
+ public enum SameSiteMode : int
{
- Lax,
- None,
- Strict,
- Unspecified,
+ Lax = 1,
+ None = 0,
+ Strict = 2,
+ Unspecified = -1,
}
// Generated from `Microsoft.Net.Http.Headers.SetCookieHeaderValue` in `Microsoft.Net.Http.Headers, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/System.Diagnostics.EventLog.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/System.Diagnostics.EventLog.cs
index 5a35f53daef..18c944f39dd 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/System.Diagnostics.EventLog.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.AspNetCore.App/System.Diagnostics.EventLog.cs
@@ -114,13 +114,13 @@ namespace System
}
// Generated from `System.Diagnostics.EventLogEntryType` in `System.Diagnostics.EventLog, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
- public enum EventLogEntryType
+ public enum EventLogEntryType : int
{
- Error,
- FailureAudit,
- Information,
- SuccessAudit,
- Warning,
+ Error = 1,
+ FailureAudit = 16,
+ Information = 4,
+ SuccessAudit = 8,
+ Warning = 2,
}
// Generated from `System.Diagnostics.EventLogTraceListener` in `System.Diagnostics.EventLog, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
@@ -155,11 +155,11 @@ namespace System
}
// Generated from `System.Diagnostics.OverflowAction` in `System.Diagnostics.EventLog, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
- public enum OverflowAction
+ public enum OverflowAction : int
{
- DoNotOverwrite,
- OverwriteAsNeeded,
- OverwriteOlder,
+ DoNotOverwrite = -1,
+ OverwriteAsNeeded = 0,
+ OverwriteOlder = 1,
}
namespace Eventing
@@ -250,11 +250,11 @@ namespace System
}
// Generated from `System.Diagnostics.Eventing.Reader.EventLogIsolation` in `System.Diagnostics.EventLog, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
- public enum EventLogIsolation
+ public enum EventLogIsolation : int
{
- Application,
- Custom,
- System,
+ Application = 0,
+ Custom = 2,
+ System = 1,
}
// Generated from `System.Diagnostics.Eventing.Reader.EventLogLink` in `System.Diagnostics.EventLog, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
@@ -266,11 +266,11 @@ namespace System
}
// Generated from `System.Diagnostics.Eventing.Reader.EventLogMode` in `System.Diagnostics.EventLog, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
- public enum EventLogMode
+ public enum EventLogMode : int
{
- AutoBackup,
- Circular,
- Retain,
+ AutoBackup = 1,
+ Circular = 0,
+ Retain = 2,
}
// Generated from `System.Diagnostics.Eventing.Reader.EventLogNotFoundException` in `System.Diagnostics.EventLog, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
@@ -402,12 +402,12 @@ namespace System
}
// Generated from `System.Diagnostics.Eventing.Reader.EventLogType` in `System.Diagnostics.EventLog, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
- public enum EventLogType
+ public enum EventLogType : int
{
- Administrative,
- Analytical,
- Debug,
- Operational,
+ Administrative = 0,
+ Analytical = 2,
+ Debug = 3,
+ Operational = 1,
}
// Generated from `System.Diagnostics.Eventing.Reader.EventLogWatcher` in `System.Diagnostics.EventLog, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
@@ -503,10 +503,10 @@ namespace System
}
// Generated from `System.Diagnostics.Eventing.Reader.PathType` in `System.Diagnostics.EventLog, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
- public enum PathType
+ public enum PathType : int
{
- FilePath,
- LogName,
+ FilePath = 2,
+ LogName = 1,
}
// Generated from `System.Diagnostics.Eventing.Reader.ProviderMetadata` in `System.Diagnostics.EventLog, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
@@ -532,61 +532,61 @@ namespace System
}
// Generated from `System.Diagnostics.Eventing.Reader.SessionAuthentication` in `System.Diagnostics.EventLog, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
- public enum SessionAuthentication
+ public enum SessionAuthentication : int
{
- Default,
- Kerberos,
- Negotiate,
- Ntlm,
+ Default = 0,
+ Kerberos = 2,
+ Negotiate = 1,
+ Ntlm = 3,
}
// Generated from `System.Diagnostics.Eventing.Reader.StandardEventKeywords` in `System.Diagnostics.EventLog, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
[System.Flags]
- public enum StandardEventKeywords
+ public enum StandardEventKeywords : long
{
- AuditFailure,
- AuditSuccess,
- CorrelationHint,
- CorrelationHint2,
- EventLogClassic,
- None,
- ResponseTime,
- Sqm,
- WdiContext,
- WdiDiagnostic,
+ AuditFailure = 4503599627370496,
+ AuditSuccess = 9007199254740992,
+ CorrelationHint = 4503599627370496,
+ CorrelationHint2 = 18014398509481984,
+ EventLogClassic = 36028797018963968,
+ None = 0,
+ ResponseTime = 281474976710656,
+ Sqm = 2251799813685248,
+ WdiContext = 562949953421312,
+ WdiDiagnostic = 1125899906842624,
}
// Generated from `System.Diagnostics.Eventing.Reader.StandardEventLevel` in `System.Diagnostics.EventLog, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
- public enum StandardEventLevel
+ public enum StandardEventLevel : int
{
- Critical,
- Error,
- Informational,
- LogAlways,
- Verbose,
- Warning,
+ Critical = 1,
+ Error = 2,
+ Informational = 4,
+ LogAlways = 0,
+ Verbose = 5,
+ Warning = 3,
}
// Generated from `System.Diagnostics.Eventing.Reader.StandardEventOpcode` in `System.Diagnostics.EventLog, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
- public enum StandardEventOpcode
+ public enum StandardEventOpcode : int
{
- DataCollectionStart,
- DataCollectionStop,
- Extension,
- Info,
- Receive,
- Reply,
- Resume,
- Send,
- Start,
- Stop,
- Suspend,
+ DataCollectionStart = 3,
+ DataCollectionStop = 4,
+ Extension = 5,
+ Info = 0,
+ Receive = 240,
+ Reply = 6,
+ Resume = 7,
+ Send = 9,
+ Start = 1,
+ Stop = 2,
+ Suspend = 8,
}
// Generated from `System.Diagnostics.Eventing.Reader.StandardEventTask` in `System.Diagnostics.EventLog, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
- public enum StandardEventTask
+ public enum StandardEventTask : int
{
- None,
+ None = 0,
}
}
From 9ae17f93da68fa4eef910434be86cd55dea3529f Mon Sep 17 00:00:00 2001
From: Michael Nebel
Date: Fri, 12 Aug 2022 09:42:33 +0200
Subject: [PATCH 139/600] C#: Stub generator support for function pointer
types.
---
csharp/ql/lib/semmle/code/csharp/Type.qll | 10 ++++++++
csharp/ql/src/Stubs/Stubs.qll | 28 +++++++++++++++++++----
2 files changed, 33 insertions(+), 5 deletions(-)
diff --git a/csharp/ql/lib/semmle/code/csharp/Type.qll b/csharp/ql/lib/semmle/code/csharp/Type.qll
index c7f1515990b..d8cf4afc0ab 100644
--- a/csharp/ql/lib/semmle/code/csharp/Type.qll
+++ b/csharp/ql/lib/semmle/code/csharp/Type.qll
@@ -935,6 +935,16 @@ class VarArgsCallingConvention extends CallingConvention {
override string toString() { result = "VarArgsCallingConvention" }
}
+/**
+ * Unmanaged calling convention that indicates that the specifics
+ * are encoded as modopts.
+ */
+class UnmanagedCallingConvention extends CallingConvention {
+ UnmanagedCallingConvention() { this = MkCallingConvention(9) }
+
+ override string toString() { result = "UnmanagedCallingConvention" }
+}
+
/**
* A function pointer type, for example
*
diff --git a/csharp/ql/src/Stubs/Stubs.qll b/csharp/ql/src/Stubs/Stubs.qll
index bc737d283ca..e6bdf353951 100644
--- a/csharp/ql/src/Stubs/Stubs.qll
+++ b/csharp/ql/src/Stubs/Stubs.qll
@@ -513,12 +513,30 @@ private string stubClassName(Type t) {
stubClassName(element), "," order by i
) + ")"
else
- if t instanceof ValueOrRefType
+ if t instanceof FunctionPointerType
then
- result =
- stubQualifiedNamePrefix(t) + t.getUndecoratedName() +
- stubGenericArguments(t)
- else result = ""
+ exists(CallingConvention callconvention, string calltext |
+ callconvention = t.(FunctionPointerType).getCallingConvention() and
+ (
+ if callconvention instanceof UnmanagedCallingConvention
+ then calltext = "unmanaged"
+ else calltext = ""
+ ) and
+ result =
+ "delegate* " + calltext + "<" +
+ concat(int i, Parameter p |
+ p = t.(FunctionPointerType).getParameter(i)
+ |
+ stubClassName(p.getType()) + "," order by i
+ ) + stubClassName(t.(FunctionPointerType).getReturnType()) + ">"
+ )
+ else
+ if t instanceof ValueOrRefType
+ then
+ result =
+ stubQualifiedNamePrefix(t) + t.getUndecoratedName() +
+ stubGenericArguments(t)
+ else result = ""
}
language[monotonicAggregates]
From d3047f629384af06058f6f376e6a0fcbee670723 Mon Sep 17 00:00:00 2001
From: Michael Nebel
Date: Fri, 12 Aug 2022 09:59:41 +0200
Subject: [PATCH 140/600] C#: Update calling convetion QL doc to comply with
standard.
---
csharp/ql/lib/semmle/code/csharp/Type.qll | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/csharp/ql/lib/semmle/code/csharp/Type.qll b/csharp/ql/lib/semmle/code/csharp/Type.qll
index d8cf4afc0ab..f95ded84771 100644
--- a/csharp/ql/lib/semmle/code/csharp/Type.qll
+++ b/csharp/ql/lib/semmle/code/csharp/Type.qll
@@ -882,7 +882,7 @@ private newtype TCallingConvention =
MkCallingConvention(int i) { function_pointer_calling_conventions(_, i) }
/**
- * Represents a signature calling convention. Specifies how arguments in a given
+ * A signature representing a calling convention. Specifies how arguments in a given
* signature are passed from the caller to the callee.
*/
class CallingConvention extends TCallingConvention {
@@ -890,21 +890,21 @@ class CallingConvention extends TCallingConvention {
string toString() { result = "CallingConvention" }
}
-/** Managed calling convention with fixed-length argument list. */
+/** A managed calling convention with fixed-length argument list. */
class DefaultCallingConvention extends CallingConvention {
DefaultCallingConvention() { this = MkCallingConvention(0) }
override string toString() { result = "DefaultCallingConvention" }
}
-/** Unmanaged C/C++-style calling convention where the call stack is cleaned by the caller. */
+/** An unmanaged C/C++-style calling convention where the call stack is cleaned by the caller. */
class CDeclCallingConvention extends CallingConvention {
CDeclCallingConvention() { this = MkCallingConvention(1) }
override string toString() { result = "CDeclCallingConvention" }
}
-/** Unmanaged calling convention where call stack is cleaned up by the callee. */
+/** An unmanaged calling convention where call stack is cleaned up by the callee. */
class StdCallCallingConvention extends CallingConvention {
StdCallCallingConvention() { this = MkCallingConvention(2) }
@@ -912,7 +912,7 @@ class StdCallCallingConvention extends CallingConvention {
}
/**
- * Unmanaged C++-style calling convention for calling instance member functions
+ * An unmanaged C++-style calling convention for calling instance member functions
* with a fixed argument list.
*/
class ThisCallCallingConvention extends CallingConvention {
@@ -921,14 +921,14 @@ class ThisCallCallingConvention extends CallingConvention {
override string toString() { result = "ThisCallCallingConvention" }
}
-/** Unmanaged calling convention where arguments are passed in registers when possible. */
+/** An unmanaged calling convention where arguments are passed in registers when possible. */
class FastCallCallingConvention extends CallingConvention {
FastCallCallingConvention() { this = MkCallingConvention(4) }
override string toString() { result = "FastCallCallingConvention" }
}
-/** Managed calling convention for passing extra arguments. */
+/** A managed calling convention for passing extra arguments. */
class VarArgsCallingConvention extends CallingConvention {
VarArgsCallingConvention() { this = MkCallingConvention(5) }
@@ -936,7 +936,7 @@ class VarArgsCallingConvention extends CallingConvention {
}
/**
- * Unmanaged calling convention that indicates that the specifics
+ * An unmanaged calling convention that indicates that the specifics
* are encoded as modopts.
*/
class UnmanagedCallingConvention extends CallingConvention {
From 0c587646438ecaeeb30220ec528a4c55dc814677 Mon Sep 17 00:00:00 2001
From: Michael Nebel
Date: Fri, 12 Aug 2022 11:40:41 +0200
Subject: [PATCH 141/600] C#: Update FunctionPointer expected output with
specific CallingConvention printing.
---
.../library-tests/csharp9/FunctionPointer.expected | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/csharp/ql/test/library-tests/csharp9/FunctionPointer.expected b/csharp/ql/test/library-tests/csharp9/FunctionPointer.expected
index 932a51a6f73..a1bdabd8135 100644
--- a/csharp/ql/test/library-tests/csharp9/FunctionPointer.expected
+++ b/csharp/ql/test/library-tests/csharp9/FunctionPointer.expected
@@ -11,11 +11,11 @@ type
| file://:0:0:0:0 | delegate* default | int* | DefaultCallingConvention |
| file://:0:0:0:0 | delegate* default | object | DefaultCallingConvention |
| file://:0:0:0:0 | delegate* stdcall | Void | StdCallCallingConvention |
-| file://:0:0:0:0 | delegate* unmanaged | Void | CallingConvention |
-| file://:0:0:0:0 | delegate* unmanaged | int | CallingConvention |
-| file://:0:0:0:0 | delegate* unmanaged | int | CallingConvention |
-| file://:0:0:0:0 | delegate* unmanaged | Void | CallingConvention |
-| file://:0:0:0:0 | delegate* unmanaged | Void | CallingConvention |
+| file://:0:0:0:0 | delegate* unmanaged | Void | UnmanagedCallingConvention |
+| file://:0:0:0:0 | delegate* unmanaged | int | UnmanagedCallingConvention |
+| file://:0:0:0:0 | delegate* unmanaged | int | UnmanagedCallingConvention |
+| file://:0:0:0:0 | delegate* unmanaged | Void | UnmanagedCallingConvention |
+| file://:0:0:0:0 | delegate* unmanaged | Void | UnmanagedCallingConvention |
unmanagedCallingConvention
parameter
| file://:0:0:0:0 | delegate* default | 0 | file://:0:0:0:0 | | A |
From b4f7e07cc1b646c0e27d4aad46a8207da027af57 Mon Sep 17 00:00:00 2001
From: Michael Nebel
Date: Fri, 12 Aug 2022 13:10:08 +0200
Subject: [PATCH 142/600] C#: Update .NET Core stubs.
---
.../Microsoft.NETCore.App/Microsoft.CSharp.cs | 38 +-
.../Microsoft.VisualBasic.Core.cs | 314 ++--
.../Microsoft.Win32.Registry.cs | 90 +-
.../System.Collections.Concurrent.cs | 6 +-
.../System.ComponentModel.Annotations.cs | 44 +-
.../System.ComponentModel.Primitives.cs | 16 +-
.../System.ComponentModel.TypeConverter.cs | 174 +-
.../Microsoft.NETCore.App/System.Console.cs | 338 ++--
.../System.Data.Common.cs | 454 ++---
.../System.Diagnostics.Contracts.cs | 14 +-
.../System.Diagnostics.DiagnosticSource.cs | 44 +-
.../System.Diagnostics.Process.cs | 88 +-
.../System.Diagnostics.StackTrace.cs | 22 +-
.../System.Diagnostics.TraceSource.cs | 68 +-
.../System.Diagnostics.Tracing.cs | 142 +-
.../System.Drawing.Primitives.cs | 352 ++--
.../System.Formats.Asn1.cs | 102 +-
.../System.IO.Compression.cs | 24 +-
.../System.IO.FileSystem.AccessControl.cs | 48 +-
.../System.IO.FileSystem.DriveInfo.cs | 16 +-
.../System.IO.FileSystem.Watcher.cs | 30 +-
.../System.IO.IsolatedStorage.cs | 16 +-
.../System.IO.MemoryMappedFiles.cs | 48 +-
.../System.IO.Pipes.AccessControl.cs | 36 +-
.../Microsoft.NETCore.App/System.IO.Pipes.cs | 24 +-
.../System.Linq.Expressions.cs | 190 +-
.../System.Linq.Parallel.cs | 16 +-
.../Microsoft.NETCore.App/System.Net.Http.cs | 26 +-
.../Microsoft.NETCore.App/System.Net.Mail.cs | 98 +-
.../System.Net.NetworkInformation.cs | 176 +-
.../Microsoft.NETCore.App/System.Net.Ping.cs | 50 +-
.../System.Net.Primitives.cs | 432 ++---
.../System.Net.Requests.cs | 154 +-
.../System.Net.Security.cs | 706 +++----
.../System.Net.ServicePoint.cs | 14 +-
.../System.Net.Sockets.cs | 408 ++---
.../System.Net.WebHeaderCollection.cs | 146 +-
.../System.Net.WebSockets.cs | 76 +-
.../System.ObjectModel.cs | 12 +-
.../System.Reflection.Emit.cs | 6 +-
.../System.Reflection.Metadata.cs | 1382 +++++++-------
.../System.Reflection.Primitives.cs | 152 +-
...time.InteropServices.RuntimeInformation.cs | 14 +-
.../System.Runtime.InteropServices.cs | 665 +++----
.../System.Runtime.Intrinsics.cs | 66 +-
...System.Runtime.Serialization.Formatters.cs | 20 +-
.../System.Runtime.Serialization.Json.cs | 8 +-
.../System.Runtime.Serialization.Xml.cs | 12 +-
.../Microsoft.NETCore.App/System.Runtime.cs | 1614 ++++++++---------
.../System.Security.AccessControl.cs | 222 +--
...System.Security.Cryptography.Algorithms.cs | 32 +-
.../System.Security.Cryptography.Cng.cs | 76 +-
.../System.Security.Cryptography.Csp.cs | 26 +-
.../System.Security.Cryptography.Encoding.cs | 30 +-
...System.Security.Cryptography.Primitives.cs | 42 +-
....Security.Cryptography.X509Certificates.cs | 284 +--
.../System.Security.Principal.Windows.cs | 252 +--
.../Microsoft.NETCore.App/System.Text.Json.cs | 98 +-
.../System.Text.RegularExpressions.cs | 88 +-
.../System.Threading.Channels.cs | 10 +-
.../System.Threading.Tasks.Dataflow.cs | 12 +-
.../System.Threading.Thread.cs | 42 +-
.../Microsoft.NETCore.App/System.Threading.cs | 12 +-
.../System.Transactions.Local.cs | 60 +-
.../System.Xml.ReaderWriter.cs | 496 ++---
.../System.Xml.XDocument.cs | 34 +-
.../System.Xml.XmlSerializer.cs | 22 +-
67 files changed, 5416 insertions(+), 5413 deletions(-)
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.CSharp.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.CSharp.cs
index 7ac312cc232..641de33695d 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.CSharp.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.CSharp.cs
@@ -30,31 +30,31 @@ namespace Microsoft
// Generated from `Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfoFlags` in `Microsoft.CSharp, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum CSharpArgumentInfoFlags
+ public enum CSharpArgumentInfoFlags : int
{
- Constant,
- IsOut,
- IsRef,
- IsStaticType,
- NamedArgument,
- None,
- UseCompileTimeType,
+ Constant = 2,
+ IsOut = 16,
+ IsRef = 8,
+ IsStaticType = 32,
+ NamedArgument = 4,
+ None = 0,
+ UseCompileTimeType = 1,
}
// Generated from `Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags` in `Microsoft.CSharp, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum CSharpBinderFlags
+ public enum CSharpBinderFlags : int
{
- BinaryOperationLogical,
- CheckedContext,
- ConvertArrayIndex,
- ConvertExplicit,
- InvokeSimpleName,
- InvokeSpecialName,
- None,
- ResultDiscarded,
- ResultIndexed,
- ValueFromCompoundAssignment,
+ BinaryOperationLogical = 8,
+ CheckedContext = 1,
+ ConvertArrayIndex = 32,
+ ConvertExplicit = 16,
+ InvokeSimpleName = 2,
+ InvokeSpecialName = 4,
+ None = 0,
+ ResultDiscarded = 256,
+ ResultIndexed = 64,
+ ValueFromCompoundAssignment = 128,
}
// Generated from `Microsoft.CSharp.RuntimeBinder.RuntimeBinderException` in `Microsoft.CSharp, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.VisualBasic.Core.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.VisualBasic.Core.cs
index a62b7a43f0b..6082fb69ca1 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.VisualBasic.Core.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.VisualBasic.Core.cs
@@ -5,23 +5,23 @@ namespace Microsoft
namespace VisualBasic
{
// Generated from `Microsoft.VisualBasic.AppWinStyle` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum AppWinStyle
+ public enum AppWinStyle : short
{
- Hide,
- MaximizedFocus,
- MinimizedFocus,
- MinimizedNoFocus,
- NormalFocus,
- NormalNoFocus,
+ Hide = 0,
+ MaximizedFocus = 3,
+ MinimizedFocus = 2,
+ MinimizedNoFocus = 6,
+ NormalFocus = 1,
+ NormalNoFocus = 4,
}
// Generated from `Microsoft.VisualBasic.CallType` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum CallType
+ public enum CallType : int
{
- Get,
- Let,
- Method,
- Set,
+ Get = 2,
+ Let = 4,
+ Method = 1,
+ Set = 8,
}
// Generated from `Microsoft.VisualBasic.Collection` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -69,10 +69,10 @@ namespace Microsoft
}
// Generated from `Microsoft.VisualBasic.CompareMethod` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum CompareMethod
+ public enum CompareMethod : int
{
- Binary,
- Text,
+ Binary = 0,
+ Text = 1,
}
// Generated from `Microsoft.VisualBasic.Constants` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -274,35 +274,35 @@ namespace Microsoft
}
// Generated from `Microsoft.VisualBasic.DateFormat` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum DateFormat
+ public enum DateFormat : int
{
- GeneralDate,
- LongDate,
- LongTime,
- ShortDate,
- ShortTime,
+ GeneralDate = 0,
+ LongDate = 1,
+ LongTime = 3,
+ ShortDate = 2,
+ ShortTime = 4,
}
// Generated from `Microsoft.VisualBasic.DateInterval` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum DateInterval
+ public enum DateInterval : int
{
- Day,
- DayOfYear,
- Hour,
- Minute,
- Month,
- Quarter,
- Second,
- WeekOfYear,
- Weekday,
- Year,
+ Day = 4,
+ DayOfYear = 3,
+ Hour = 7,
+ Minute = 8,
+ Month = 2,
+ Quarter = 1,
+ Second = 9,
+ WeekOfYear = 5,
+ Weekday = 6,
+ Year = 0,
}
// Generated from `Microsoft.VisualBasic.DueDate` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum DueDate
+ public enum DueDate : int
{
- BegOfPeriod,
- EndOfPeriod,
+ BegOfPeriod = 1,
+ EndOfPeriod = 0,
}
// Generated from `Microsoft.VisualBasic.ErrObject` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -322,15 +322,15 @@ namespace Microsoft
// Generated from `Microsoft.VisualBasic.FileAttribute` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum FileAttribute
+ public enum FileAttribute : int
{
- Archive,
- Directory,
- Hidden,
- Normal,
- ReadOnly,
- System,
- Volume,
+ Archive = 32,
+ Directory = 16,
+ Hidden = 2,
+ Normal = 0,
+ ReadOnly = 1,
+ System = 4,
+ Volume = 8,
}
// Generated from `Microsoft.VisualBasic.FileSystem` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -440,25 +440,25 @@ namespace Microsoft
}
// Generated from `Microsoft.VisualBasic.FirstDayOfWeek` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum FirstDayOfWeek
+ public enum FirstDayOfWeek : int
{
- Friday,
- Monday,
- Saturday,
- Sunday,
- System,
- Thursday,
- Tuesday,
- Wednesday,
+ Friday = 6,
+ Monday = 2,
+ Saturday = 7,
+ Sunday = 1,
+ System = 0,
+ Thursday = 5,
+ Tuesday = 3,
+ Wednesday = 4,
}
// Generated from `Microsoft.VisualBasic.FirstWeekOfYear` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum FirstWeekOfYear
+ public enum FirstWeekOfYear : int
{
- FirstFourDays,
- FirstFullWeek,
- Jan1,
- System,
+ FirstFourDays = 2,
+ FirstFullWeek = 3,
+ Jan1 = 1,
+ System = 0,
}
// Generated from `Microsoft.VisualBasic.HideModuleNameAttribute` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -515,40 +515,40 @@ namespace Microsoft
}
// Generated from `Microsoft.VisualBasic.MsgBoxResult` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum MsgBoxResult
+ public enum MsgBoxResult : int
{
- Abort,
- Cancel,
- Ignore,
- No,
- Ok,
- Retry,
- Yes,
+ Abort = 3,
+ Cancel = 2,
+ Ignore = 5,
+ No = 7,
+ Ok = 1,
+ Retry = 4,
+ Yes = 6,
}
// Generated from `Microsoft.VisualBasic.MsgBoxStyle` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum MsgBoxStyle
+ public enum MsgBoxStyle : int
{
- AbortRetryIgnore,
- ApplicationModal,
- Critical,
- DefaultButton1,
- DefaultButton2,
- DefaultButton3,
- Exclamation,
- Information,
- MsgBoxHelp,
- MsgBoxRight,
- MsgBoxRtlReading,
- MsgBoxSetForeground,
- OkCancel,
- OkOnly,
- Question,
- RetryCancel,
- SystemModal,
- YesNo,
- YesNoCancel,
+ AbortRetryIgnore = 2,
+ ApplicationModal = 0,
+ Critical = 16,
+ DefaultButton1 = 0,
+ DefaultButton2 = 256,
+ DefaultButton3 = 512,
+ Exclamation = 48,
+ Information = 64,
+ MsgBoxHelp = 16384,
+ MsgBoxRight = 524288,
+ MsgBoxRtlReading = 1048576,
+ MsgBoxSetForeground = 65536,
+ OkCancel = 1,
+ OkOnly = 0,
+ Question = 32,
+ RetryCancel = 5,
+ SystemModal = 4096,
+ YesNo = 4,
+ YesNoCancel = 3,
}
// Generated from `Microsoft.VisualBasic.MyGroupCollectionAttribute` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -562,32 +562,32 @@ namespace Microsoft
}
// Generated from `Microsoft.VisualBasic.OpenAccess` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum OpenAccess
+ public enum OpenAccess : int
{
- Default,
- Read,
- ReadWrite,
- Write,
+ Default = -1,
+ Read = 1,
+ ReadWrite = 3,
+ Write = 2,
}
// Generated from `Microsoft.VisualBasic.OpenMode` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum OpenMode
+ public enum OpenMode : int
{
- Append,
- Binary,
- Input,
- Output,
- Random,
+ Append = 8,
+ Binary = 32,
+ Input = 1,
+ Output = 2,
+ Random = 4,
}
// Generated from `Microsoft.VisualBasic.OpenShare` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum OpenShare
+ public enum OpenShare : int
{
- Default,
- LockRead,
- LockReadWrite,
- LockWrite,
- Shared,
+ Default = -1,
+ LockRead = 2,
+ LockReadWrite = 0,
+ LockWrite = 1,
+ Shared = 3,
}
// Generated from `Microsoft.VisualBasic.SpcInfo` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -667,11 +667,11 @@ namespace Microsoft
}
// Generated from `Microsoft.VisualBasic.TriState` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum TriState
+ public enum TriState : int
{
- False,
- True,
- UseDefault,
+ False = 0,
+ True = -1,
+ UseDefault = -2,
}
// Generated from `Microsoft.VisualBasic.VBFixedArrayAttribute` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -700,45 +700,45 @@ namespace Microsoft
}
// Generated from `Microsoft.VisualBasic.VariantType` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum VariantType
+ public enum VariantType : int
{
- Array,
- Boolean,
- Byte,
- Char,
- Currency,
- DataObject,
- Date,
- Decimal,
- Double,
- Empty,
- Error,
- Integer,
- Long,
- Null,
- Object,
- Short,
- Single,
- String,
- UserDefinedType,
- Variant,
+ Array = 8192,
+ Boolean = 11,
+ Byte = 17,
+ Char = 18,
+ Currency = 6,
+ DataObject = 13,
+ Date = 7,
+ Decimal = 14,
+ Double = 5,
+ Empty = 0,
+ Error = 10,
+ Integer = 3,
+ Long = 20,
+ Null = 1,
+ Object = 9,
+ Short = 2,
+ Single = 4,
+ String = 8,
+ UserDefinedType = 36,
+ Variant = 12,
}
// Generated from `Microsoft.VisualBasic.VbStrConv` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum VbStrConv
+ public enum VbStrConv : int
{
- Hiragana,
- Katakana,
- LinguisticCasing,
- Lowercase,
- Narrow,
- None,
- ProperCase,
- SimplifiedChinese,
- TraditionalChinese,
- Uppercase,
- Wide,
+ Hiragana = 32,
+ Katakana = 16,
+ LinguisticCasing = 1024,
+ Lowercase = 2,
+ Narrow = 8,
+ None = 0,
+ ProperCase = 3,
+ SimplifiedChinese = 256,
+ TraditionalChinese = 512,
+ Uppercase = 1,
+ Wide = 4,
}
namespace CompilerServices
@@ -1101,17 +1101,17 @@ namespace Microsoft
namespace FileIO
{
// Generated from `Microsoft.VisualBasic.FileIO.DeleteDirectoryOption` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum DeleteDirectoryOption
+ public enum DeleteDirectoryOption : int
{
- DeleteAllContents,
- ThrowIfDirectoryNonEmpty,
+ DeleteAllContents = 5,
+ ThrowIfDirectoryNonEmpty = 4,
}
// Generated from `Microsoft.VisualBasic.FileIO.FieldType` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum FieldType
+ public enum FieldType : int
{
- Delimited,
- FixedWidth,
+ Delimited = 0,
+ FixedWidth = 1,
}
// Generated from `Microsoft.VisualBasic.FileIO.FileSystem` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1190,17 +1190,17 @@ namespace Microsoft
}
// Generated from `Microsoft.VisualBasic.FileIO.RecycleOption` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum RecycleOption
+ public enum RecycleOption : int
{
- DeletePermanently,
- SendToRecycleBin,
+ DeletePermanently = 2,
+ SendToRecycleBin = 3,
}
// Generated from `Microsoft.VisualBasic.FileIO.SearchOption` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum SearchOption
+ public enum SearchOption : int
{
- SearchAllSubDirectories,
- SearchTopLevelOnly,
+ SearchAllSubDirectories = 3,
+ SearchTopLevelOnly = 2,
}
// Generated from `Microsoft.VisualBasic.FileIO.SpecialDirectories` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1252,17 +1252,17 @@ namespace Microsoft
}
// Generated from `Microsoft.VisualBasic.FileIO.UICancelOption` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum UICancelOption
+ public enum UICancelOption : int
{
- DoNothing,
- ThrowException,
+ DoNothing = 2,
+ ThrowException = 3,
}
// Generated from `Microsoft.VisualBasic.FileIO.UIOption` in `Microsoft.VisualBasic.Core, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum UIOption
+ public enum UIOption : int
{
- AllDialogs,
- OnlyErrorDialogs,
+ AllDialogs = 3,
+ OnlyErrorDialogs = 2,
}
}
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.Win32.Registry.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.Win32.Registry.cs
index 2786d3970dc..f30a2dff24b 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.Win32.Registry.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.Win32.Registry.cs
@@ -19,14 +19,14 @@ namespace Microsoft
}
// Generated from `Microsoft.Win32.RegistryHive` in `Microsoft.Win32.Registry, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum RegistryHive
+ public enum RegistryHive : int
{
- ClassesRoot,
- CurrentConfig,
- CurrentUser,
- LocalMachine,
- PerformanceData,
- Users,
+ ClassesRoot = -2147483648,
+ CurrentConfig = -2147483643,
+ CurrentUser = -2147483647,
+ LocalMachine = -2147483646,
+ PerformanceData = -2147483644,
+ Users = -2147483645,
}
// Generated from `Microsoft.Win32.RegistryKey` in `Microsoft.Win32.Registry, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -78,48 +78,48 @@ namespace Microsoft
}
// Generated from `Microsoft.Win32.RegistryKeyPermissionCheck` in `Microsoft.Win32.Registry, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum RegistryKeyPermissionCheck
+ public enum RegistryKeyPermissionCheck : int
{
- Default,
- ReadSubTree,
- ReadWriteSubTree,
+ Default = 0,
+ ReadSubTree = 1,
+ ReadWriteSubTree = 2,
}
// Generated from `Microsoft.Win32.RegistryOptions` in `Microsoft.Win32.Registry, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum RegistryOptions
+ public enum RegistryOptions : int
{
- None,
- Volatile,
+ None = 0,
+ Volatile = 1,
}
// Generated from `Microsoft.Win32.RegistryValueKind` in `Microsoft.Win32.Registry, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum RegistryValueKind
+ public enum RegistryValueKind : int
{
- Binary,
- DWord,
- ExpandString,
- MultiString,
- None,
- QWord,
- String,
- Unknown,
+ Binary = 3,
+ DWord = 4,
+ ExpandString = 2,
+ MultiString = 7,
+ None = -1,
+ QWord = 11,
+ String = 1,
+ Unknown = 0,
}
// Generated from `Microsoft.Win32.RegistryValueOptions` in `Microsoft.Win32.Registry, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum RegistryValueOptions
+ public enum RegistryValueOptions : int
{
- DoNotExpandEnvironmentNames,
- None,
+ DoNotExpandEnvironmentNames = 1,
+ None = 0,
}
// Generated from `Microsoft.Win32.RegistryView` in `Microsoft.Win32.Registry, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum RegistryView
+ public enum RegistryView : int
{
- Default,
- Registry32,
- Registry64,
+ Default = 0,
+ Registry32 = 512,
+ Registry64 = 256,
}
namespace SafeHandles
@@ -161,22 +161,22 @@ namespace System
// Generated from `System.Security.AccessControl.RegistryRights` in `Microsoft.Win32.Registry, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum RegistryRights
+ public enum RegistryRights : int
{
- ChangePermissions,
- CreateLink,
- CreateSubKey,
- Delete,
- EnumerateSubKeys,
- ExecuteKey,
- FullControl,
- Notify,
- QueryValues,
- ReadKey,
- ReadPermissions,
- SetValue,
- TakeOwnership,
- WriteKey,
+ ChangePermissions = 262144,
+ CreateLink = 32,
+ CreateSubKey = 4,
+ Delete = 65536,
+ EnumerateSubKeys = 8,
+ ExecuteKey = 131097,
+ FullControl = 983103,
+ Notify = 16,
+ QueryValues = 1,
+ ReadKey = 131097,
+ ReadPermissions = 131072,
+ SetValue = 2,
+ TakeOwnership = 524288,
+ WriteKey = 131078,
}
// Generated from `System.Security.AccessControl.RegistrySecurity` in `Microsoft.Win32.Registry, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Collections.Concurrent.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Collections.Concurrent.cs
index b6d266eb644..183a876e248 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Collections.Concurrent.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Collections.Concurrent.cs
@@ -181,10 +181,10 @@ namespace System
// Generated from `System.Collections.Concurrent.EnumerablePartitionerOptions` in `System.Collections.Concurrent, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum EnumerablePartitionerOptions
+ public enum EnumerablePartitionerOptions : int
{
- NoBuffering,
- None,
+ NoBuffering = 1,
+ None = 0,
}
// Generated from `System.Collections.Concurrent.IProducerConsumerCollection<>` in `System.Collections.Concurrent, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.ComponentModel.Annotations.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.ComponentModel.Annotations.cs
index 7c0852696bf..0f2d0ef2581 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.ComponentModel.Annotations.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.ComponentModel.Annotations.cs
@@ -61,25 +61,25 @@ namespace System
}
// Generated from `System.ComponentModel.DataAnnotations.DataType` in `System.ComponentModel.Annotations, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum DataType
+ public enum DataType : int
{
- CreditCard,
- Currency,
- Custom,
- Date,
- DateTime,
- Duration,
- EmailAddress,
- Html,
- ImageUrl,
- MultilineText,
- Password,
- PhoneNumber,
- PostalCode,
- Text,
- Time,
- Upload,
- Url,
+ CreditCard = 14,
+ Currency = 6,
+ Custom = 0,
+ Date = 2,
+ DateTime = 1,
+ Duration = 4,
+ EmailAddress = 10,
+ Html = 8,
+ ImageUrl = 13,
+ MultilineText = 9,
+ Password = 11,
+ PhoneNumber = 5,
+ PostalCode = 15,
+ Text = 7,
+ Time = 3,
+ Upload = 16,
+ Url = 12,
}
// Generated from `System.ComponentModel.DataAnnotations.DataTypeAttribute` in `System.ComponentModel.Annotations, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -406,11 +406,11 @@ namespace System
}
// Generated from `System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption` in `System.ComponentModel.Annotations, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum DatabaseGeneratedOption
+ public enum DatabaseGeneratedOption : int
{
- Computed,
- Identity,
- None,
+ Computed = 2,
+ Identity = 1,
+ None = 0,
}
// Generated from `System.ComponentModel.DataAnnotations.Schema.ForeignKeyAttribute` in `System.ComponentModel.Annotations, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.ComponentModel.Primitives.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.ComponentModel.Primitives.cs
index 42fc8806f8f..e87d1083838 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.ComponentModel.Primitives.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.ComponentModel.Primitives.cs
@@ -127,11 +127,11 @@ namespace System
}
// Generated from `System.ComponentModel.DesignerSerializationVisibility` in `System.ComponentModel.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum DesignerSerializationVisibility
+ public enum DesignerSerializationVisibility : int
{
- Content,
- Hidden,
- Visible,
+ Content = 2,
+ Hidden = 0,
+ Visible = 1,
}
// Generated from `System.ComponentModel.DesignerSerializationVisibilityAttribute` in `System.ComponentModel.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -331,11 +331,11 @@ namespace System
}
// Generated from `System.ComponentModel.RefreshProperties` in `System.ComponentModel.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum RefreshProperties
+ public enum RefreshProperties : int
{
- All,
- None,
- Repaint,
+ All = 1,
+ None = 0,
+ Repaint = 2,
}
// Generated from `System.ComponentModel.RefreshPropertiesAttribute` in `System.ComponentModel.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.ComponentModel.TypeConverter.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.ComponentModel.TypeConverter.cs
index bf098bcad92..33883e650cc 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.ComponentModel.TypeConverter.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.ComponentModel.TypeConverter.cs
@@ -116,18 +116,18 @@ namespace System
}
// Generated from `System.ComponentModel.BindableSupport` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum BindableSupport
+ public enum BindableSupport : int
{
- Default,
- No,
- Yes,
+ Default = 2,
+ No = 0,
+ Yes = 1,
}
// Generated from `System.ComponentModel.BindingDirection` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum BindingDirection
+ public enum BindingDirection : int
{
- OneWay,
- TwoWay,
+ OneWay = 0,
+ TwoWay = 1,
}
// Generated from `System.ComponentModel.BindingList<>` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -210,11 +210,11 @@ namespace System
}
// Generated from `System.ComponentModel.CollectionChangeAction` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum CollectionChangeAction
+ public enum CollectionChangeAction : int
{
- Add,
- Refresh,
- Remove,
+ Add = 1,
+ Refresh = 3,
+ Remove = 2,
}
// Generated from `System.ComponentModel.CollectionChangeEventArgs` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -373,13 +373,13 @@ namespace System
}
// Generated from `System.ComponentModel.DataObjectMethodType` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum DataObjectMethodType
+ public enum DataObjectMethodType : int
{
- Delete,
- Fill,
- Insert,
- Select,
- Update,
+ Delete = 4,
+ Fill = 0,
+ Insert = 3,
+ Select = 1,
+ Update = 2,
}
// Generated from `System.ComponentModel.DateTimeConverter` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -732,11 +732,11 @@ namespace System
}
// Generated from `System.ComponentModel.InheritanceLevel` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum InheritanceLevel
+ public enum InheritanceLevel : int
{
- Inherited,
- InheritedReadOnly,
- NotInherited,
+ Inherited = 1,
+ InheritedReadOnly = 2,
+ NotInherited = 3,
}
// Generated from `System.ComponentModel.InstallerTypeAttribute` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -851,10 +851,10 @@ namespace System
}
// Generated from `System.ComponentModel.LicenseUsageMode` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum LicenseUsageMode
+ public enum LicenseUsageMode : int
{
- Designtime,
- Runtime,
+ Designtime = 1,
+ Runtime = 0,
}
// Generated from `System.ComponentModel.ListBindableAttribute` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -888,16 +888,16 @@ namespace System
public delegate void ListChangedEventHandler(object sender, System.ComponentModel.ListChangedEventArgs e);
// Generated from `System.ComponentModel.ListChangedType` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ListChangedType
+ public enum ListChangedType : int
{
- ItemAdded,
- ItemChanged,
- ItemDeleted,
- ItemMoved,
- PropertyDescriptorAdded,
- PropertyDescriptorChanged,
- PropertyDescriptorDeleted,
- Reset,
+ ItemAdded = 1,
+ ItemChanged = 4,
+ ItemDeleted = 2,
+ ItemMoved = 3,
+ PropertyDescriptorAdded = 5,
+ PropertyDescriptorChanged = 7,
+ PropertyDescriptorDeleted = 6,
+ Reset = 0,
}
// Generated from `System.ComponentModel.ListSortDescription` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -932,10 +932,10 @@ namespace System
}
// Generated from `System.ComponentModel.ListSortDirection` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ListSortDirection
+ public enum ListSortDirection : int
{
- Ascending,
- Descending,
+ Ascending = 0,
+ Descending = 1,
}
// Generated from `System.ComponentModel.LookupBindingPropertiesAttribute` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1054,23 +1054,23 @@ namespace System
}
// Generated from `System.ComponentModel.MaskedTextResultHint` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum MaskedTextResultHint
+ public enum MaskedTextResultHint : int
{
- AlphanumericCharacterExpected,
- AsciiCharacterExpected,
- CharacterEscaped,
- DigitExpected,
- InvalidInput,
- LetterExpected,
- NoEffect,
- NonEditPosition,
- PositionOutOfRange,
- PromptCharNotAllowed,
- SideEffect,
- SignedDigitExpected,
- Success,
- UnavailableEditPosition,
- Unknown,
+ AlphanumericCharacterExpected = -2,
+ AsciiCharacterExpected = -1,
+ CharacterEscaped = 1,
+ DigitExpected = -3,
+ InvalidInput = -51,
+ LetterExpected = -4,
+ NoEffect = 2,
+ NonEditPosition = -54,
+ PositionOutOfRange = -55,
+ PromptCharNotAllowed = -52,
+ SideEffect = 3,
+ SignedDigitExpected = -5,
+ Success = 4,
+ UnavailableEditPosition = -53,
+ Unknown = 0,
}
// Generated from `System.ComponentModel.MemberDescriptor` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1260,12 +1260,12 @@ namespace System
}
// Generated from `System.ComponentModel.PropertyTabScope` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum PropertyTabScope
+ public enum PropertyTabScope : int
{
- Component,
- Document,
- Global,
- Static,
+ Component = 3,
+ Document = 2,
+ Global = 1,
+ Static = 0,
}
// Generated from `System.ComponentModel.ProvidePropertyAttribute` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1410,12 +1410,12 @@ namespace System
}
// Generated from `System.ComponentModel.ToolboxItemFilterType` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ToolboxItemFilterType
+ public enum ToolboxItemFilterType : int
{
- Allow,
- Custom,
- Prevent,
- Require,
+ Allow = 0,
+ Custom = 1,
+ Prevent = 2,
+ Require = 3,
}
// Generated from `System.ComponentModel.TypeConverter` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1855,12 +1855,12 @@ namespace System
}
// Generated from `System.ComponentModel.Design.HelpContextType` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum HelpContextType
+ public enum HelpContextType : int
{
- Ambient,
- Selection,
- ToolWindowSelection,
- Window,
+ Ambient = 0,
+ Selection = 2,
+ ToolWindowSelection = 3,
+ Window = 1,
}
// Generated from `System.ComponentModel.Design.HelpKeywordAttribute` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1877,11 +1877,11 @@ namespace System
}
// Generated from `System.ComponentModel.Design.HelpKeywordType` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum HelpKeywordType
+ public enum HelpKeywordType : int
{
- F1Keyword,
- FilterKeyword,
- GeneralKeyword,
+ F1Keyword = 0,
+ FilterKeyword = 2,
+ GeneralKeyword = 1,
}
// Generated from `System.ComponentModel.Design.IComponentChangeService` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -2148,19 +2148,19 @@ namespace System
// Generated from `System.ComponentModel.Design.SelectionTypes` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum SelectionTypes
+ public enum SelectionTypes : int
{
- Add,
- Auto,
- Click,
- MouseDown,
- MouseUp,
- Normal,
- Primary,
- Remove,
- Replace,
- Toggle,
- Valid,
+ Add = 64,
+ Auto = 1,
+ Click = 16,
+ MouseDown = 4,
+ MouseUp = 8,
+ Normal = 1,
+ Primary = 16,
+ Remove = 128,
+ Replace = 2,
+ Toggle = 32,
+ Valid = 31,
}
// Generated from `System.ComponentModel.Design.ServiceContainer` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -2267,11 +2267,11 @@ namespace System
}
// Generated from `System.ComponentModel.Design.ViewTechnology` in `System.ComponentModel.TypeConverter, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ViewTechnology
+ public enum ViewTechnology : int
{
- Default,
- Passthrough,
- WindowsForms,
+ Default = 2,
+ Passthrough = 0,
+ WindowsForms = 1,
}
namespace Serialization
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Console.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Console.cs
index a3c9f3f9ae2..08eedc69809 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Console.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Console.cs
@@ -105,173 +105,173 @@ namespace System
public delegate void ConsoleCancelEventHandler(object sender, System.ConsoleCancelEventArgs e);
// Generated from `System.ConsoleColor` in `System.Console, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ConsoleColor
+ public enum ConsoleColor : int
{
- Black,
- Blue,
- Cyan,
- DarkBlue,
- DarkCyan,
- DarkGray,
- DarkGreen,
- DarkMagenta,
- DarkRed,
- DarkYellow,
- Gray,
- Green,
- Magenta,
- Red,
- White,
- Yellow,
+ Black = 0,
+ Blue = 9,
+ Cyan = 11,
+ DarkBlue = 1,
+ DarkCyan = 3,
+ DarkGray = 8,
+ DarkGreen = 2,
+ DarkMagenta = 5,
+ DarkRed = 4,
+ DarkYellow = 6,
+ Gray = 7,
+ Green = 10,
+ Magenta = 13,
+ Red = 12,
+ White = 15,
+ Yellow = 14,
}
// Generated from `System.ConsoleKey` in `System.Console, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ConsoleKey
+ public enum ConsoleKey : int
{
- A,
- Add,
- Applications,
- Attention,
- B,
- Backspace,
- BrowserBack,
- BrowserFavorites,
- BrowserForward,
- BrowserHome,
- BrowserRefresh,
- BrowserSearch,
- BrowserStop,
- C,
- Clear,
- CrSel,
- D,
- D0,
- D1,
- D2,
- D3,
- D4,
- D5,
- D6,
- D7,
- D8,
- D9,
- Decimal,
- Delete,
- Divide,
- DownArrow,
- E,
- End,
- Enter,
- EraseEndOfFile,
- Escape,
- ExSel,
- Execute,
- F,
- F1,
- F10,
- F11,
- F12,
- F13,
- F14,
- F15,
- F16,
- F17,
- F18,
- F19,
- F2,
- F20,
- F21,
- F22,
- F23,
- F24,
- F3,
- F4,
- F5,
- F6,
- F7,
- F8,
- F9,
- G,
- H,
- Help,
- Home,
- I,
- Insert,
- J,
- K,
- L,
- LaunchApp1,
- LaunchApp2,
- LaunchMail,
- LaunchMediaSelect,
- LeftArrow,
- LeftWindows,
- M,
- MediaNext,
- MediaPlay,
- MediaPrevious,
- MediaStop,
- Multiply,
- N,
- NoName,
- NumPad0,
- NumPad1,
- NumPad2,
- NumPad3,
- NumPad4,
- NumPad5,
- NumPad6,
- NumPad7,
- NumPad8,
- NumPad9,
- O,
- Oem1,
- Oem102,
- Oem2,
- Oem3,
- Oem4,
- Oem5,
- Oem6,
- Oem7,
- Oem8,
- OemClear,
- OemComma,
- OemMinus,
- OemPeriod,
- OemPlus,
- P,
- Pa1,
- Packet,
- PageDown,
- PageUp,
- Pause,
- Play,
- Print,
- PrintScreen,
- Process,
- Q,
- R,
- RightArrow,
- RightWindows,
- S,
- Select,
- Separator,
- Sleep,
- Spacebar,
- Subtract,
- T,
- Tab,
- U,
- UpArrow,
- V,
- VolumeDown,
- VolumeMute,
- VolumeUp,
- W,
- X,
- Y,
- Z,
- Zoom,
+ A = 65,
+ Add = 107,
+ Applications = 93,
+ Attention = 246,
+ B = 66,
+ Backspace = 8,
+ BrowserBack = 166,
+ BrowserFavorites = 171,
+ BrowserForward = 167,
+ BrowserHome = 172,
+ BrowserRefresh = 168,
+ BrowserSearch = 170,
+ BrowserStop = 169,
+ C = 67,
+ Clear = 12,
+ CrSel = 247,
+ D = 68,
+ D0 = 48,
+ D1 = 49,
+ D2 = 50,
+ D3 = 51,
+ D4 = 52,
+ D5 = 53,
+ D6 = 54,
+ D7 = 55,
+ D8 = 56,
+ D9 = 57,
+ Decimal = 110,
+ Delete = 46,
+ Divide = 111,
+ DownArrow = 40,
+ E = 69,
+ End = 35,
+ Enter = 13,
+ EraseEndOfFile = 249,
+ Escape = 27,
+ ExSel = 248,
+ Execute = 43,
+ F = 70,
+ F1 = 112,
+ F10 = 121,
+ F11 = 122,
+ F12 = 123,
+ F13 = 124,
+ F14 = 125,
+ F15 = 126,
+ F16 = 127,
+ F17 = 128,
+ F18 = 129,
+ F19 = 130,
+ F2 = 113,
+ F20 = 131,
+ F21 = 132,
+ F22 = 133,
+ F23 = 134,
+ F24 = 135,
+ F3 = 114,
+ F4 = 115,
+ F5 = 116,
+ F6 = 117,
+ F7 = 118,
+ F8 = 119,
+ F9 = 120,
+ G = 71,
+ H = 72,
+ Help = 47,
+ Home = 36,
+ I = 73,
+ Insert = 45,
+ J = 74,
+ K = 75,
+ L = 76,
+ LaunchApp1 = 182,
+ LaunchApp2 = 183,
+ LaunchMail = 180,
+ LaunchMediaSelect = 181,
+ LeftArrow = 37,
+ LeftWindows = 91,
+ M = 77,
+ MediaNext = 176,
+ MediaPlay = 179,
+ MediaPrevious = 177,
+ MediaStop = 178,
+ Multiply = 106,
+ N = 78,
+ NoName = 252,
+ NumPad0 = 96,
+ NumPad1 = 97,
+ NumPad2 = 98,
+ NumPad3 = 99,
+ NumPad4 = 100,
+ NumPad5 = 101,
+ NumPad6 = 102,
+ NumPad7 = 103,
+ NumPad8 = 104,
+ NumPad9 = 105,
+ O = 79,
+ Oem1 = 186,
+ Oem102 = 226,
+ Oem2 = 191,
+ Oem3 = 192,
+ Oem4 = 219,
+ Oem5 = 220,
+ Oem6 = 221,
+ Oem7 = 222,
+ Oem8 = 223,
+ OemClear = 254,
+ OemComma = 188,
+ OemMinus = 189,
+ OemPeriod = 190,
+ OemPlus = 187,
+ P = 80,
+ Pa1 = 253,
+ Packet = 231,
+ PageDown = 34,
+ PageUp = 33,
+ Pause = 19,
+ Play = 250,
+ Print = 42,
+ PrintScreen = 44,
+ Process = 229,
+ Q = 81,
+ R = 82,
+ RightArrow = 39,
+ RightWindows = 92,
+ S = 83,
+ Select = 41,
+ Separator = 108,
+ Sleep = 95,
+ Spacebar = 32,
+ Subtract = 109,
+ T = 84,
+ Tab = 9,
+ U = 85,
+ UpArrow = 38,
+ V = 86,
+ VolumeDown = 174,
+ VolumeMute = 173,
+ VolumeUp = 175,
+ W = 87,
+ X = 88,
+ Y = 89,
+ Z = 90,
+ Zoom = 251,
}
// Generated from `System.ConsoleKeyInfo` in `System.Console, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -291,18 +291,18 @@ namespace System
// Generated from `System.ConsoleModifiers` in `System.Console, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum ConsoleModifiers
+ public enum ConsoleModifiers : int
{
- Alt,
- Control,
- Shift,
+ Alt = 1,
+ Control = 4,
+ Shift = 2,
}
// Generated from `System.ConsoleSpecialKey` in `System.Console, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ConsoleSpecialKey
+ public enum ConsoleSpecialKey : int
{
- ControlBreak,
- ControlC,
+ ControlBreak = 1,
+ ControlC = 0,
}
}
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Data.Common.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Data.Common.cs
index 43b60f84c73..077da794bc0 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Data.Common.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Data.Common.cs
@@ -5,51 +5,51 @@ namespace System
namespace Data
{
// Generated from `System.Data.AcceptRejectRule` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum AcceptRejectRule
+ public enum AcceptRejectRule : int
{
- Cascade,
- None,
+ Cascade = 1,
+ None = 0,
}
// Generated from `System.Data.CommandBehavior` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum CommandBehavior
+ public enum CommandBehavior : int
{
- CloseConnection,
- Default,
- KeyInfo,
- SchemaOnly,
- SequentialAccess,
- SingleResult,
- SingleRow,
+ CloseConnection = 32,
+ Default = 0,
+ KeyInfo = 4,
+ SchemaOnly = 2,
+ SequentialAccess = 16,
+ SingleResult = 1,
+ SingleRow = 8,
}
// Generated from `System.Data.CommandType` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum CommandType
+ public enum CommandType : int
{
- StoredProcedure,
- TableDirect,
- Text,
+ StoredProcedure = 4,
+ TableDirect = 512,
+ Text = 1,
}
// Generated from `System.Data.ConflictOption` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ConflictOption
+ public enum ConflictOption : int
{
- CompareAllSearchableValues,
- CompareRowVersion,
- OverwriteChanges,
+ CompareAllSearchableValues = 1,
+ CompareRowVersion = 2,
+ OverwriteChanges = 3,
}
// Generated from `System.Data.ConnectionState` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum ConnectionState
+ public enum ConnectionState : int
{
- Broken,
- Closed,
- Connecting,
- Executing,
- Fetching,
- Open,
+ Broken = 16,
+ Closed = 0,
+ Connecting = 2,
+ Executing = 4,
+ Fetching = 8,
+ Open = 1,
}
// Generated from `System.Data.Constraint` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -334,16 +334,16 @@ namespace System
// Generated from `System.Data.DataRowAction` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum DataRowAction
+ public enum DataRowAction : int
{
- Add,
- Change,
- ChangeCurrentAndOriginal,
- ChangeOriginal,
- Commit,
- Delete,
- Nothing,
- Rollback,
+ Add = 16,
+ Change = 2,
+ ChangeCurrentAndOriginal = 64,
+ ChangeOriginal = 32,
+ Commit = 8,
+ Delete = 1,
+ Nothing = 0,
+ Rollback = 4,
}
// Generated from `System.Data.DataRowBuilder` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -413,22 +413,22 @@ namespace System
// Generated from `System.Data.DataRowState` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum DataRowState
+ public enum DataRowState : int
{
- Added,
- Deleted,
- Detached,
- Modified,
- Unchanged,
+ Added = 4,
+ Deleted = 8,
+ Detached = 1,
+ Modified = 16,
+ Unchanged = 2,
}
// Generated from `System.Data.DataRowVersion` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum DataRowVersion
+ public enum DataRowVersion : int
{
- Current,
- Default,
- Original,
- Proposed,
+ Current = 512,
+ Default = 1536,
+ Original = 256,
+ Proposed = 1024,
}
// Generated from `System.Data.DataRowView` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -573,12 +573,12 @@ namespace System
}
// Generated from `System.Data.DataSetDateTime` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum DataSetDateTime
+ public enum DataSetDateTime : int
{
- Local,
- Unspecified,
- UnspecifiedLocal,
- Utc,
+ Local = 1,
+ Unspecified = 2,
+ UnspecifiedLocal = 3,
+ Utc = 4,
}
// Generated from `System.Data.DataSysDescriptionAttribute` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -949,16 +949,16 @@ namespace System
// Generated from `System.Data.DataViewRowState` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum DataViewRowState
+ public enum DataViewRowState : int
{
- Added,
- CurrentRows,
- Deleted,
- ModifiedCurrent,
- ModifiedOriginal,
- None,
- OriginalRows,
- Unchanged,
+ Added = 4,
+ CurrentRows = 22,
+ Deleted = 8,
+ ModifiedCurrent = 16,
+ ModifiedOriginal = 32,
+ None = 0,
+ OriginalRows = 42,
+ Unchanged = 2,
}
// Generated from `System.Data.DataViewSetting` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -988,35 +988,35 @@ namespace System
}
// Generated from `System.Data.DbType` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum DbType
+ public enum DbType : int
{
- AnsiString,
- AnsiStringFixedLength,
- Binary,
- Boolean,
- Byte,
- Currency,
- Date,
- DateTime,
- DateTime2,
- DateTimeOffset,
- Decimal,
- Double,
- Guid,
- Int16,
- Int32,
- Int64,
- Object,
- SByte,
- Single,
- String,
- StringFixedLength,
- Time,
- UInt16,
- UInt32,
- UInt64,
- VarNumeric,
- Xml,
+ AnsiString = 0,
+ AnsiStringFixedLength = 22,
+ Binary = 1,
+ Boolean = 3,
+ Byte = 2,
+ Currency = 4,
+ Date = 5,
+ DateTime = 6,
+ DateTime2 = 26,
+ DateTimeOffset = 27,
+ Decimal = 7,
+ Double = 8,
+ Guid = 9,
+ Int16 = 10,
+ Int32 = 11,
+ Int64 = 12,
+ Object = 13,
+ SByte = 14,
+ Single = 15,
+ String = 16,
+ StringFixedLength = 23,
+ Time = 17,
+ UInt16 = 18,
+ UInt32 = 19,
+ UInt64 = 20,
+ VarNumeric = 21,
+ Xml = 25,
}
// Generated from `System.Data.DeletedRowInaccessibleException` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1323,39 +1323,39 @@ namespace System
}
// Generated from `System.Data.IsolationLevel` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum IsolationLevel
+ public enum IsolationLevel : int
{
- Chaos,
- ReadCommitted,
- ReadUncommitted,
- RepeatableRead,
- Serializable,
- Snapshot,
- Unspecified,
+ Chaos = 16,
+ ReadCommitted = 4096,
+ ReadUncommitted = 256,
+ RepeatableRead = 65536,
+ Serializable = 1048576,
+ Snapshot = 16777216,
+ Unspecified = -1,
}
// Generated from `System.Data.KeyRestrictionBehavior` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum KeyRestrictionBehavior
+ public enum KeyRestrictionBehavior : int
{
- AllowOnly,
- PreventUsage,
+ AllowOnly = 0,
+ PreventUsage = 1,
}
// Generated from `System.Data.LoadOption` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum LoadOption
+ public enum LoadOption : int
{
- OverwriteChanges,
- PreserveChanges,
- Upsert,
+ OverwriteChanges = 1,
+ PreserveChanges = 2,
+ Upsert = 3,
}
// Generated from `System.Data.MappingType` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum MappingType
+ public enum MappingType : int
{
- Attribute,
- Element,
- Hidden,
- SimpleContent,
+ Attribute = 2,
+ Element = 1,
+ Hidden = 4,
+ SimpleContent = 3,
}
// Generated from `System.Data.MergeFailedEventArgs` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1370,11 +1370,11 @@ namespace System
public delegate void MergeFailedEventHandler(object sender, System.Data.MergeFailedEventArgs e);
// Generated from `System.Data.MissingMappingAction` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum MissingMappingAction
+ public enum MissingMappingAction : int
{
- Error,
- Ignore,
- Passthrough,
+ Error = 3,
+ Ignore = 2,
+ Passthrough = 1,
}
// Generated from `System.Data.MissingPrimaryKeyException` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1387,12 +1387,12 @@ namespace System
}
// Generated from `System.Data.MissingSchemaAction` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum MissingSchemaAction
+ public enum MissingSchemaAction : int
{
- Add,
- AddWithKey,
- Error,
- Ignore,
+ Add = 1,
+ AddWithKey = 4,
+ Error = 3,
+ Ignore = 2,
}
// Generated from `System.Data.NoNullAllowedException` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1410,12 +1410,12 @@ namespace System
}
// Generated from `System.Data.ParameterDirection` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ParameterDirection
+ public enum ParameterDirection : int
{
- Input,
- InputOutput,
- Output,
- ReturnValue,
+ Input = 1,
+ InputOutput = 3,
+ Output = 2,
+ ReturnValue = 6,
}
// Generated from `System.Data.PropertyCollection` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1445,69 +1445,69 @@ namespace System
}
// Generated from `System.Data.Rule` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum Rule
+ public enum Rule : int
{
- Cascade,
- None,
- SetDefault,
- SetNull,
+ Cascade = 1,
+ None = 0,
+ SetDefault = 3,
+ SetNull = 2,
}
// Generated from `System.Data.SchemaSerializationMode` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum SchemaSerializationMode
+ public enum SchemaSerializationMode : int
{
- ExcludeSchema,
- IncludeSchema,
+ ExcludeSchema = 2,
+ IncludeSchema = 1,
}
// Generated from `System.Data.SchemaType` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum SchemaType
+ public enum SchemaType : int
{
- Mapped,
- Source,
+ Mapped = 2,
+ Source = 1,
}
// Generated from `System.Data.SerializationFormat` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum SerializationFormat
+ public enum SerializationFormat : int
{
- Binary,
- Xml,
+ Binary = 1,
+ Xml = 0,
}
// Generated from `System.Data.SqlDbType` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum SqlDbType
+ public enum SqlDbType : int
{
- BigInt,
- Binary,
- Bit,
- Char,
- Date,
- DateTime,
- DateTime2,
- DateTimeOffset,
- Decimal,
- Float,
- Image,
- Int,
- Money,
- NChar,
- NText,
- NVarChar,
- Real,
- SmallDateTime,
- SmallInt,
- SmallMoney,
- Structured,
- Text,
- Time,
- Timestamp,
- TinyInt,
- Udt,
- UniqueIdentifier,
- VarBinary,
- VarChar,
- Variant,
- Xml,
+ BigInt = 0,
+ Binary = 1,
+ Bit = 2,
+ Char = 3,
+ Date = 31,
+ DateTime = 4,
+ DateTime2 = 33,
+ DateTimeOffset = 34,
+ Decimal = 5,
+ Float = 6,
+ Image = 7,
+ Int = 8,
+ Money = 9,
+ NChar = 10,
+ NText = 11,
+ NVarChar = 12,
+ Real = 13,
+ SmallDateTime = 15,
+ SmallInt = 16,
+ SmallMoney = 17,
+ Structured = 30,
+ Text = 18,
+ Time = 32,
+ Timestamp = 19,
+ TinyInt = 20,
+ Udt = 29,
+ UniqueIdentifier = 14,
+ VarBinary = 21,
+ VarChar = 22,
+ Variant = 23,
+ Xml = 25,
}
// Generated from `System.Data.StateChangeEventArgs` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1532,13 +1532,13 @@ namespace System
public delegate void StatementCompletedEventHandler(object sender, System.Data.StatementCompletedEventArgs e);
// Generated from `System.Data.StatementType` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum StatementType
+ public enum StatementType : int
{
- Batch,
- Delete,
- Insert,
- Select,
- Update,
+ Batch = 4,
+ Delete = 3,
+ Insert = 1,
+ Select = 0,
+ Update = 2,
}
// Generated from `System.Data.StrongTypingException` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1602,21 +1602,21 @@ namespace System
}
// Generated from `System.Data.UpdateRowSource` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum UpdateRowSource
+ public enum UpdateRowSource : int
{
- Both,
- FirstReturnedRecord,
- None,
- OutputParameters,
+ Both = 3,
+ FirstReturnedRecord = 2,
+ None = 0,
+ OutputParameters = 1,
}
// Generated from `System.Data.UpdateStatus` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum UpdateStatus
+ public enum UpdateStatus : int
{
- Continue,
- ErrorsOccurred,
- SkipAllRemainingRows,
- SkipCurrentRow,
+ Continue = 0,
+ ErrorsOccurred = 1,
+ SkipAllRemainingRows = 3,
+ SkipCurrentRow = 2,
}
// Generated from `System.Data.VersionNotFoundException` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1629,32 +1629,32 @@ namespace System
}
// Generated from `System.Data.XmlReadMode` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum XmlReadMode
+ public enum XmlReadMode : int
{
- Auto,
- DiffGram,
- Fragment,
- IgnoreSchema,
- InferSchema,
- InferTypedSchema,
- ReadSchema,
+ Auto = 0,
+ DiffGram = 4,
+ Fragment = 5,
+ IgnoreSchema = 2,
+ InferSchema = 3,
+ InferTypedSchema = 6,
+ ReadSchema = 1,
}
// Generated from `System.Data.XmlWriteMode` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum XmlWriteMode
+ public enum XmlWriteMode : int
{
- DiffGram,
- IgnoreSchema,
- WriteSchema,
+ DiffGram = 2,
+ IgnoreSchema = 1,
+ WriteSchema = 0,
}
namespace Common
{
// Generated from `System.Data.Common.CatalogLocation` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum CatalogLocation
+ public enum CatalogLocation : int
{
- End,
- Start,
+ End = 2,
+ Start = 1,
}
// Generated from `System.Data.Common.DataAdapter` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -2435,13 +2435,13 @@ namespace System
}
// Generated from `System.Data.Common.GroupByBehavior` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum GroupByBehavior
+ public enum GroupByBehavior : int
{
- ExactMatch,
- MustContainAll,
- NotSupported,
- Unknown,
- Unrelated,
+ ExactMatch = 4,
+ MustContainAll = 3,
+ NotSupported = 1,
+ Unknown = 0,
+ Unrelated = 2,
}
// Generated from `System.Data.Common.IDbColumnSchemaGenerator` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -2451,11 +2451,11 @@ namespace System
}
// Generated from `System.Data.Common.IdentifierCase` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum IdentifierCase
+ public enum IdentifierCase : int
{
- Insensitive,
- Sensitive,
- Unknown,
+ Insensitive = 1,
+ Sensitive = 2,
+ Unknown = 0,
}
// Generated from `System.Data.Common.RowUpdatedEventArgs` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -2530,13 +2530,13 @@ namespace System
// Generated from `System.Data.Common.SupportedJoinOperators` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum SupportedJoinOperators
+ public enum SupportedJoinOperators : int
{
- FullOuter,
- Inner,
- LeftOuter,
- None,
- RightOuter,
+ FullOuter = 8,
+ Inner = 1,
+ LeftOuter = 2,
+ None = 0,
+ RightOuter = 4,
}
}
@@ -2801,15 +2801,15 @@ namespace System
// Generated from `System.Data.SqlTypes.SqlCompareOptions` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum SqlCompareOptions
+ public enum SqlCompareOptions : int
{
- BinarySort,
- BinarySort2,
- IgnoreCase,
- IgnoreKanaType,
- IgnoreNonSpace,
- IgnoreWidth,
- None,
+ BinarySort = 32768,
+ BinarySort2 = 16384,
+ IgnoreCase = 1,
+ IgnoreKanaType = 8,
+ IgnoreNonSpace = 2,
+ IgnoreWidth = 16,
+ None = 0,
}
// Generated from `System.Data.SqlTypes.SqlDateTime` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -3548,11 +3548,11 @@ namespace System
}
// Generated from `System.Data.SqlTypes.StorageState` in `System.Data.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum StorageState
+ public enum StorageState : int
{
- Buffer,
- Stream,
- UnmanagedBuffer,
+ Buffer = 0,
+ Stream = 1,
+ UnmanagedBuffer = 2,
}
}
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.Contracts.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.Contracts.cs
index 0e049485c1c..183c669d9ba 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.Contracts.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.Contracts.cs
@@ -75,14 +75,14 @@ namespace System
}
// Generated from `System.Diagnostics.Contracts.ContractFailureKind` in `System.Diagnostics.Contracts, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ContractFailureKind
+ public enum ContractFailureKind : int
{
- Assert,
- Assume,
- Invariant,
- Postcondition,
- PostconditionOnException,
- Precondition,
+ Assert = 4,
+ Assume = 5,
+ Invariant = 3,
+ Postcondition = 1,
+ PostconditionOnException = 2,
+ Precondition = 0,
}
// Generated from `System.Diagnostics.Contracts.ContractInvariantMethodAttribute` in `System.Diagnostics.Contracts, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.DiagnosticSource.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.DiagnosticSource.cs
index e9029ad501f..b63e2e1e27d 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.DiagnosticSource.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.DiagnosticSource.cs
@@ -105,21 +105,21 @@ namespace System
}
// Generated from `System.Diagnostics.ActivityIdFormat` in `System.Diagnostics.DiagnosticSource, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
- public enum ActivityIdFormat
+ public enum ActivityIdFormat : int
{
- Hierarchical,
- Unknown,
- W3C,
+ Hierarchical = 1,
+ Unknown = 0,
+ W3C = 2,
}
// Generated from `System.Diagnostics.ActivityKind` in `System.Diagnostics.DiagnosticSource, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
- public enum ActivityKind
+ public enum ActivityKind : int
{
- Client,
- Consumer,
- Internal,
- Producer,
- Server,
+ Client = 2,
+ Consumer = 4,
+ Internal = 0,
+ Producer = 3,
+ Server = 1,
}
// Generated from `System.Diagnostics.ActivityLink` in `System.Diagnostics.DiagnosticSource, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
@@ -149,12 +149,12 @@ namespace System
}
// Generated from `System.Diagnostics.ActivitySamplingResult` in `System.Diagnostics.DiagnosticSource, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
- public enum ActivitySamplingResult
+ public enum ActivitySamplingResult : int
{
- AllData,
- AllDataAndRecorded,
- None,
- PropagationData,
+ AllData = 2,
+ AllDataAndRecorded = 3,
+ None = 0,
+ PropagationData = 1,
}
// Generated from `System.Diagnostics.ActivitySource` in `System.Diagnostics.DiagnosticSource, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
@@ -194,11 +194,11 @@ namespace System
}
// Generated from `System.Diagnostics.ActivityStatusCode` in `System.Diagnostics.DiagnosticSource, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
- public enum ActivityStatusCode
+ public enum ActivityStatusCode : int
{
- Error,
- Ok,
- Unset,
+ Error = 2,
+ Ok = 1,
+ Unset = 0,
}
// Generated from `System.Diagnostics.ActivityTagsCollection` in `System.Diagnostics.DiagnosticSource, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
@@ -239,10 +239,10 @@ namespace System
// Generated from `System.Diagnostics.ActivityTraceFlags` in `System.Diagnostics.DiagnosticSource, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
[System.Flags]
- public enum ActivityTraceFlags
+ public enum ActivityTraceFlags : int
{
- None,
- Recorded,
+ None = 0,
+ Recorded = 1,
}
// Generated from `System.Diagnostics.ActivityTraceId` in `System.Diagnostics.DiagnosticSource, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.Process.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.Process.cs
index dbd20b6c74a..1160ea59cd7 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.Process.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.Process.cs
@@ -153,14 +153,14 @@ namespace System
}
// Generated from `System.Diagnostics.ProcessPriorityClass` in `System.Diagnostics.Process, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ProcessPriorityClass
+ public enum ProcessPriorityClass : int
{
- AboveNormal,
- BelowNormal,
- High,
- Idle,
- Normal,
- RealTime,
+ AboveNormal = 32768,
+ BelowNormal = 16384,
+ High = 128,
+ Idle = 64,
+ Normal = 32,
+ RealTime = 256,
}
// Generated from `System.Diagnostics.ProcessStartInfo` in `System.Diagnostics.Process, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -230,56 +230,56 @@ namespace System
}
// Generated from `System.Diagnostics.ProcessWindowStyle` in `System.Diagnostics.Process, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ProcessWindowStyle
+ public enum ProcessWindowStyle : int
{
- Hidden,
- Maximized,
- Minimized,
- Normal,
+ Hidden = 1,
+ Maximized = 3,
+ Minimized = 2,
+ Normal = 0,
}
// Generated from `System.Diagnostics.ThreadPriorityLevel` in `System.Diagnostics.Process, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ThreadPriorityLevel
+ public enum ThreadPriorityLevel : int
{
- AboveNormal,
- BelowNormal,
- Highest,
- Idle,
- Lowest,
- Normal,
- TimeCritical,
+ AboveNormal = 1,
+ BelowNormal = -1,
+ Highest = 2,
+ Idle = -15,
+ Lowest = -2,
+ Normal = 0,
+ TimeCritical = 15,
}
// Generated from `System.Diagnostics.ThreadState` in `System.Diagnostics.Process, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ThreadState
+ public enum ThreadState : int
{
- Initialized,
- Ready,
- Running,
- Standby,
- Terminated,
- Transition,
- Unknown,
- Wait,
+ Initialized = 0,
+ Ready = 1,
+ Running = 2,
+ Standby = 3,
+ Terminated = 4,
+ Transition = 6,
+ Unknown = 7,
+ Wait = 5,
}
// Generated from `System.Diagnostics.ThreadWaitReason` in `System.Diagnostics.Process, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ThreadWaitReason
+ public enum ThreadWaitReason : int
{
- EventPairHigh,
- EventPairLow,
- ExecutionDelay,
- Executive,
- FreePage,
- LpcReceive,
- LpcReply,
- PageIn,
- PageOut,
- Suspended,
- SystemAllocation,
- Unknown,
- UserRequest,
- VirtualMemory,
+ EventPairHigh = 7,
+ EventPairLow = 8,
+ ExecutionDelay = 4,
+ Executive = 0,
+ FreePage = 1,
+ LpcReceive = 9,
+ LpcReply = 10,
+ PageIn = 2,
+ PageOut = 12,
+ Suspended = 5,
+ SystemAllocation = 3,
+ Unknown = 13,
+ UserRequest = 6,
+ VirtualMemory = 11,
}
}
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.StackTrace.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.StackTrace.cs
index 4507a11d33a..53bbc36673e 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.StackTrace.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.StackTrace.cs
@@ -179,18 +179,18 @@ namespace System
}
// Generated from `System.Diagnostics.SymbolStore.SymAddressKind` in `System.Diagnostics.StackTrace, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum SymAddressKind
+ public enum SymAddressKind : int
{
- BitField,
- ILOffset,
- NativeOffset,
- NativeRVA,
- NativeRegister,
- NativeRegisterRegister,
- NativeRegisterRelative,
- NativeRegisterStack,
- NativeSectionOffset,
- NativeStackRegister,
+ BitField = 9,
+ ILOffset = 1,
+ NativeOffset = 5,
+ NativeRVA = 2,
+ NativeRegister = 3,
+ NativeRegisterRegister = 6,
+ NativeRegisterRelative = 4,
+ NativeRegisterStack = 7,
+ NativeSectionOffset = 10,
+ NativeStackRegister = 8,
}
// Generated from `System.Diagnostics.SymbolStore.SymDocumentType` in `System.Diagnostics.StackTrace, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.TraceSource.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.TraceSource.cs
index de234c0fc22..81ef7fd8e9d 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.TraceSource.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.TraceSource.cs
@@ -53,16 +53,16 @@ namespace System
// Generated from `System.Diagnostics.SourceLevels` in `System.Diagnostics.TraceSource, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum SourceLevels
+ public enum SourceLevels : int
{
- ActivityTracing,
- All,
- Critical,
- Error,
- Information,
- Off,
- Verbose,
- Warning,
+ ActivityTracing = 65280,
+ All = -1,
+ Critical = 1,
+ Error = 3,
+ Information = 15,
+ Off = 0,
+ Verbose = 31,
+ Warning = 7,
}
// Generated from `System.Diagnostics.SourceSwitch` in `System.Diagnostics.TraceSource, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -163,18 +163,18 @@ namespace System
}
// Generated from `System.Diagnostics.TraceEventType` in `System.Diagnostics.TraceSource, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum TraceEventType
+ public enum TraceEventType : int
{
- Critical,
- Error,
- Information,
- Resume,
- Start,
- Stop,
- Suspend,
- Transfer,
- Verbose,
- Warning,
+ Critical = 1,
+ Error = 2,
+ Information = 8,
+ Resume = 2048,
+ Start = 256,
+ Stop = 512,
+ Suspend = 1024,
+ Transfer = 4096,
+ Verbose = 16,
+ Warning = 4,
}
// Generated from `System.Diagnostics.TraceFilter` in `System.Diagnostics.TraceSource, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -185,13 +185,13 @@ namespace System
}
// Generated from `System.Diagnostics.TraceLevel` in `System.Diagnostics.TraceSource, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum TraceLevel
+ public enum TraceLevel : int
{
- Error,
- Info,
- Off,
- Verbose,
- Warning,
+ Error = 1,
+ Info = 3,
+ Off = 0,
+ Verbose = 4,
+ Warning = 2,
}
// Generated from `System.Diagnostics.TraceListener` in `System.Diagnostics.TraceSource, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -264,15 +264,15 @@ namespace System
// Generated from `System.Diagnostics.TraceOptions` in `System.Diagnostics.TraceSource, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum TraceOptions
+ public enum TraceOptions : int
{
- Callstack,
- DateTime,
- LogicalOperationStack,
- None,
- ProcessId,
- ThreadId,
- Timestamp,
+ Callstack = 32,
+ DateTime = 2,
+ LogicalOperationStack = 1,
+ None = 0,
+ ProcessId = 8,
+ ThreadId = 16,
+ Timestamp = 4,
}
// Generated from `System.Diagnostics.TraceSource` in `System.Diagnostics.TraceSource, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.Tracing.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.Tracing.cs
index d10871b3284..9d97c8e31cb 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.Tracing.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Diagnostics.Tracing.cs
@@ -20,12 +20,12 @@ namespace System
// Generated from `System.Diagnostics.Tracing.EventActivityOptions` in `System.Diagnostics.Tracing, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum EventActivityOptions
+ public enum EventActivityOptions : int
{
- Detachable,
- Disable,
- None,
- Recursive,
+ Detachable = 8,
+ Disable = 2,
+ None = 0,
+ Recursive = 4,
}
// Generated from `System.Diagnostics.Tracing.EventAttribute` in `System.Diagnostics.Tracing, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -45,22 +45,22 @@ namespace System
}
// Generated from `System.Diagnostics.Tracing.EventChannel` in `System.Diagnostics.Tracing, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum EventChannel
+ public enum EventChannel : byte
{
- Admin,
- Analytic,
- Debug,
- None,
- Operational,
+ Admin = 16,
+ Analytic = 18,
+ Debug = 19,
+ None = 0,
+ Operational = 17,
}
// Generated from `System.Diagnostics.Tracing.EventCommand` in `System.Diagnostics.Tracing, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum EventCommand
+ public enum EventCommand : int
{
- Disable,
- Enable,
- SendManifest,
- Update,
+ Disable = -3,
+ Enable = -2,
+ SendManifest = -1,
+ Update = 0,
}
// Generated from `System.Diagnostics.Tracing.EventCommandEventArgs` in `System.Diagnostics.Tracing, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -97,22 +97,22 @@ namespace System
}
// Generated from `System.Diagnostics.Tracing.EventFieldFormat` in `System.Diagnostics.Tracing, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum EventFieldFormat
+ public enum EventFieldFormat : int
{
- Boolean,
- Default,
- HResult,
- Hexadecimal,
- Json,
- String,
- Xml,
+ Boolean = 3,
+ Default = 0,
+ HResult = 15,
+ Hexadecimal = 4,
+ Json = 12,
+ String = 2,
+ Xml = 11,
}
// Generated from `System.Diagnostics.Tracing.EventFieldTags` in `System.Diagnostics.Tracing, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum EventFieldTags
+ public enum EventFieldTags : int
{
- None,
+ None = 0,
}
// Generated from `System.Diagnostics.Tracing.EventIgnoreAttribute` in `System.Diagnostics.Tracing, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -123,29 +123,29 @@ namespace System
// Generated from `System.Diagnostics.Tracing.EventKeywords` in `System.Diagnostics.Tracing, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum EventKeywords
+ public enum EventKeywords : long
{
- All,
- AuditFailure,
- AuditSuccess,
- CorrelationHint,
- EventLogClassic,
- MicrosoftTelemetry,
- None,
- Sqm,
- WdiContext,
- WdiDiagnostic,
+ All = -1,
+ AuditFailure = 4503599627370496,
+ AuditSuccess = 9007199254740992,
+ CorrelationHint = 4503599627370496,
+ EventLogClassic = 36028797018963968,
+ MicrosoftTelemetry = 562949953421312,
+ None = 0,
+ Sqm = 2251799813685248,
+ WdiContext = 562949953421312,
+ WdiDiagnostic = 1125899906842624,
}
// Generated from `System.Diagnostics.Tracing.EventLevel` in `System.Diagnostics.Tracing, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum EventLevel
+ public enum EventLevel : int
{
- Critical,
- Error,
- Informational,
- LogAlways,
- Verbose,
- Warning,
+ Critical = 1,
+ Error = 2,
+ Informational = 4,
+ LogAlways = 0,
+ Verbose = 5,
+ Warning = 3,
}
// Generated from `System.Diagnostics.Tracing.EventListener` in `System.Diagnostics.Tracing, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -166,29 +166,29 @@ namespace System
// Generated from `System.Diagnostics.Tracing.EventManifestOptions` in `System.Diagnostics.Tracing, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum EventManifestOptions
+ public enum EventManifestOptions : int
{
- AllCultures,
- AllowEventSourceOverride,
- None,
- OnlyIfNeededForRegistration,
- Strict,
+ AllCultures = 2,
+ AllowEventSourceOverride = 8,
+ None = 0,
+ OnlyIfNeededForRegistration = 4,
+ Strict = 1,
}
// Generated from `System.Diagnostics.Tracing.EventOpcode` in `System.Diagnostics.Tracing, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum EventOpcode
+ public enum EventOpcode : int
{
- DataCollectionStart,
- DataCollectionStop,
- Extension,
- Info,
- Receive,
- Reply,
- Resume,
- Send,
- Start,
- Stop,
- Suspend,
+ DataCollectionStart = 3,
+ DataCollectionStop = 4,
+ Extension = 5,
+ Info = 0,
+ Receive = 240,
+ Reply = 6,
+ Resume = 7,
+ Send = 9,
+ Start = 1,
+ Stop = 2,
+ Suspend = 8,
}
// Generated from `System.Diagnostics.Tracing.EventSource` in `System.Diagnostics.Tracing, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -300,25 +300,25 @@ namespace System
// Generated from `System.Diagnostics.Tracing.EventSourceSettings` in `System.Diagnostics.Tracing, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum EventSourceSettings
+ public enum EventSourceSettings : int
{
- Default,
- EtwManifestEventFormat,
- EtwSelfDescribingEventFormat,
- ThrowOnEventWriteErrors,
+ Default = 0,
+ EtwManifestEventFormat = 4,
+ EtwSelfDescribingEventFormat = 8,
+ ThrowOnEventWriteErrors = 1,
}
// Generated from `System.Diagnostics.Tracing.EventTags` in `System.Diagnostics.Tracing, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum EventTags
+ public enum EventTags : int
{
- None,
+ None = 0,
}
// Generated from `System.Diagnostics.Tracing.EventTask` in `System.Diagnostics.Tracing, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum EventTask
+ public enum EventTask : int
{
- None,
+ None = 0,
}
// Generated from `System.Diagnostics.Tracing.EventWrittenEventArgs` in `System.Diagnostics.Tracing, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Drawing.Primitives.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Drawing.Primitives.cs
index 832c87e37bf..6fe715a2059 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Drawing.Primitives.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Drawing.Primitives.cs
@@ -191,183 +191,183 @@ namespace System
}
// Generated from `System.Drawing.KnownColor` in `System.Drawing.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum KnownColor
+ public enum KnownColor : int
{
- ActiveBorder,
- ActiveCaption,
- ActiveCaptionText,
- AliceBlue,
- AntiqueWhite,
- AppWorkspace,
- Aqua,
- Aquamarine,
- Azure,
- Beige,
- Bisque,
- Black,
- BlanchedAlmond,
- Blue,
- BlueViolet,
- Brown,
- BurlyWood,
- ButtonFace,
- ButtonHighlight,
- ButtonShadow,
- CadetBlue,
- Chartreuse,
- Chocolate,
- Control,
- ControlDark,
- ControlDarkDark,
- ControlLight,
- ControlLightLight,
- ControlText,
- Coral,
- CornflowerBlue,
- Cornsilk,
- Crimson,
- Cyan,
- DarkBlue,
- DarkCyan,
- DarkGoldenrod,
- DarkGray,
- DarkGreen,
- DarkKhaki,
- DarkMagenta,
- DarkOliveGreen,
- DarkOrange,
- DarkOrchid,
- DarkRed,
- DarkSalmon,
- DarkSeaGreen,
- DarkSlateBlue,
- DarkSlateGray,
- DarkTurquoise,
- DarkViolet,
- DeepPink,
- DeepSkyBlue,
- Desktop,
- DimGray,
- DodgerBlue,
- Firebrick,
- FloralWhite,
- ForestGreen,
- Fuchsia,
- Gainsboro,
- GhostWhite,
- Gold,
- Goldenrod,
- GradientActiveCaption,
- GradientInactiveCaption,
- Gray,
- GrayText,
- Green,
- GreenYellow,
- Highlight,
- HighlightText,
- Honeydew,
- HotPink,
- HotTrack,
- InactiveBorder,
- InactiveCaption,
- InactiveCaptionText,
- IndianRed,
- Indigo,
- Info,
- InfoText,
- Ivory,
- Khaki,
- Lavender,
- LavenderBlush,
- LawnGreen,
- LemonChiffon,
- LightBlue,
- LightCoral,
- LightCyan,
- LightGoldenrodYellow,
- LightGray,
- LightGreen,
- LightPink,
- LightSalmon,
- LightSeaGreen,
- LightSkyBlue,
- LightSlateGray,
- LightSteelBlue,
- LightYellow,
- Lime,
- LimeGreen,
- Linen,
- Magenta,
- Maroon,
- MediumAquamarine,
- MediumBlue,
- MediumOrchid,
- MediumPurple,
- MediumSeaGreen,
- MediumSlateBlue,
- MediumSpringGreen,
- MediumTurquoise,
- MediumVioletRed,
- Menu,
- MenuBar,
- MenuHighlight,
- MenuText,
- MidnightBlue,
- MintCream,
- MistyRose,
- Moccasin,
- NavajoWhite,
- Navy,
- OldLace,
- Olive,
- OliveDrab,
- Orange,
- OrangeRed,
- Orchid,
- PaleGoldenrod,
- PaleGreen,
- PaleTurquoise,
- PaleVioletRed,
- PapayaWhip,
- PeachPuff,
- Peru,
- Pink,
- Plum,
- PowderBlue,
- Purple,
- RebeccaPurple,
- Red,
- RosyBrown,
- RoyalBlue,
- SaddleBrown,
- Salmon,
- SandyBrown,
- ScrollBar,
- SeaGreen,
- SeaShell,
- Sienna,
- Silver,
- SkyBlue,
- SlateBlue,
- SlateGray,
- Snow,
- SpringGreen,
- SteelBlue,
- Tan,
- Teal,
- Thistle,
- Tomato,
- Transparent,
- Turquoise,
- Violet,
- Wheat,
- White,
- WhiteSmoke,
- Window,
- WindowFrame,
- WindowText,
- Yellow,
- YellowGreen,
+ ActiveBorder = 1,
+ ActiveCaption = 2,
+ ActiveCaptionText = 3,
+ AliceBlue = 28,
+ AntiqueWhite = 29,
+ AppWorkspace = 4,
+ Aqua = 30,
+ Aquamarine = 31,
+ Azure = 32,
+ Beige = 33,
+ Bisque = 34,
+ Black = 35,
+ BlanchedAlmond = 36,
+ Blue = 37,
+ BlueViolet = 38,
+ Brown = 39,
+ BurlyWood = 40,
+ ButtonFace = 168,
+ ButtonHighlight = 169,
+ ButtonShadow = 170,
+ CadetBlue = 41,
+ Chartreuse = 42,
+ Chocolate = 43,
+ Control = 5,
+ ControlDark = 6,
+ ControlDarkDark = 7,
+ ControlLight = 8,
+ ControlLightLight = 9,
+ ControlText = 10,
+ Coral = 44,
+ CornflowerBlue = 45,
+ Cornsilk = 46,
+ Crimson = 47,
+ Cyan = 48,
+ DarkBlue = 49,
+ DarkCyan = 50,
+ DarkGoldenrod = 51,
+ DarkGray = 52,
+ DarkGreen = 53,
+ DarkKhaki = 54,
+ DarkMagenta = 55,
+ DarkOliveGreen = 56,
+ DarkOrange = 57,
+ DarkOrchid = 58,
+ DarkRed = 59,
+ DarkSalmon = 60,
+ DarkSeaGreen = 61,
+ DarkSlateBlue = 62,
+ DarkSlateGray = 63,
+ DarkTurquoise = 64,
+ DarkViolet = 65,
+ DeepPink = 66,
+ DeepSkyBlue = 67,
+ Desktop = 11,
+ DimGray = 68,
+ DodgerBlue = 69,
+ Firebrick = 70,
+ FloralWhite = 71,
+ ForestGreen = 72,
+ Fuchsia = 73,
+ Gainsboro = 74,
+ GhostWhite = 75,
+ Gold = 76,
+ Goldenrod = 77,
+ GradientActiveCaption = 171,
+ GradientInactiveCaption = 172,
+ Gray = 78,
+ GrayText = 12,
+ Green = 79,
+ GreenYellow = 80,
+ Highlight = 13,
+ HighlightText = 14,
+ Honeydew = 81,
+ HotPink = 82,
+ HotTrack = 15,
+ InactiveBorder = 16,
+ InactiveCaption = 17,
+ InactiveCaptionText = 18,
+ IndianRed = 83,
+ Indigo = 84,
+ Info = 19,
+ InfoText = 20,
+ Ivory = 85,
+ Khaki = 86,
+ Lavender = 87,
+ LavenderBlush = 88,
+ LawnGreen = 89,
+ LemonChiffon = 90,
+ LightBlue = 91,
+ LightCoral = 92,
+ LightCyan = 93,
+ LightGoldenrodYellow = 94,
+ LightGray = 95,
+ LightGreen = 96,
+ LightPink = 97,
+ LightSalmon = 98,
+ LightSeaGreen = 99,
+ LightSkyBlue = 100,
+ LightSlateGray = 101,
+ LightSteelBlue = 102,
+ LightYellow = 103,
+ Lime = 104,
+ LimeGreen = 105,
+ Linen = 106,
+ Magenta = 107,
+ Maroon = 108,
+ MediumAquamarine = 109,
+ MediumBlue = 110,
+ MediumOrchid = 111,
+ MediumPurple = 112,
+ MediumSeaGreen = 113,
+ MediumSlateBlue = 114,
+ MediumSpringGreen = 115,
+ MediumTurquoise = 116,
+ MediumVioletRed = 117,
+ Menu = 21,
+ MenuBar = 173,
+ MenuHighlight = 174,
+ MenuText = 22,
+ MidnightBlue = 118,
+ MintCream = 119,
+ MistyRose = 120,
+ Moccasin = 121,
+ NavajoWhite = 122,
+ Navy = 123,
+ OldLace = 124,
+ Olive = 125,
+ OliveDrab = 126,
+ Orange = 127,
+ OrangeRed = 128,
+ Orchid = 129,
+ PaleGoldenrod = 130,
+ PaleGreen = 131,
+ PaleTurquoise = 132,
+ PaleVioletRed = 133,
+ PapayaWhip = 134,
+ PeachPuff = 135,
+ Peru = 136,
+ Pink = 137,
+ Plum = 138,
+ PowderBlue = 139,
+ Purple = 140,
+ RebeccaPurple = 175,
+ Red = 141,
+ RosyBrown = 142,
+ RoyalBlue = 143,
+ SaddleBrown = 144,
+ Salmon = 145,
+ SandyBrown = 146,
+ ScrollBar = 23,
+ SeaGreen = 147,
+ SeaShell = 148,
+ Sienna = 149,
+ Silver = 150,
+ SkyBlue = 151,
+ SlateBlue = 152,
+ SlateGray = 153,
+ Snow = 154,
+ SpringGreen = 155,
+ SteelBlue = 156,
+ Tan = 157,
+ Teal = 158,
+ Thistle = 159,
+ Tomato = 160,
+ Transparent = 27,
+ Turquoise = 161,
+ Violet = 162,
+ Wheat = 163,
+ White = 164,
+ WhiteSmoke = 165,
+ Window = 24,
+ WindowFrame = 25,
+ WindowText = 26,
+ Yellow = 166,
+ YellowGreen = 167,
}
// Generated from `System.Drawing.Point` in `System.Drawing.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Formats.Asn1.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Formats.Asn1.cs
index 42898af2b34..2c48ec46956 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Formats.Asn1.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Formats.Asn1.cs
@@ -90,11 +90,11 @@ namespace System
}
// Generated from `System.Formats.Asn1.AsnEncodingRules` in `System.Formats.Asn1, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
- public enum AsnEncodingRules
+ public enum AsnEncodingRules : int
{
- BER,
- CER,
- DER,
+ BER = 0,
+ CER = 1,
+ DER = 2,
}
// Generated from `System.Formats.Asn1.AsnReader` in `System.Formats.Asn1, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
@@ -201,58 +201,58 @@ namespace System
}
// Generated from `System.Formats.Asn1.TagClass` in `System.Formats.Asn1, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
- public enum TagClass
+ public enum TagClass : int
{
- Application,
- ContextSpecific,
- Private,
- Universal,
+ Application = 64,
+ ContextSpecific = 128,
+ Private = 192,
+ Universal = 0,
}
// Generated from `System.Formats.Asn1.UniversalTagNumber` in `System.Formats.Asn1, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
- public enum UniversalTagNumber
+ public enum UniversalTagNumber : int
{
- BMPString,
- BitString,
- Boolean,
- Date,
- DateTime,
- Duration,
- Embedded,
- EndOfContents,
- Enumerated,
- External,
- GeneralString,
- GeneralizedTime,
- GraphicString,
- IA5String,
- ISO646String,
- InstanceOf,
- Integer,
- Null,
- NumericString,
- ObjectDescriptor,
- ObjectIdentifier,
- ObjectIdentifierIRI,
- OctetString,
- PrintableString,
- Real,
- RelativeObjectIdentifier,
- RelativeObjectIdentifierIRI,
- Sequence,
- SequenceOf,
- Set,
- SetOf,
- T61String,
- TeletexString,
- Time,
- TimeOfDay,
- UTF8String,
- UniversalString,
- UnrestrictedCharacterString,
- UtcTime,
- VideotexString,
- VisibleString,
+ BMPString = 30,
+ BitString = 3,
+ Boolean = 1,
+ Date = 31,
+ DateTime = 33,
+ Duration = 34,
+ Embedded = 11,
+ EndOfContents = 0,
+ Enumerated = 10,
+ External = 8,
+ GeneralString = 27,
+ GeneralizedTime = 24,
+ GraphicString = 25,
+ IA5String = 22,
+ ISO646String = 26,
+ InstanceOf = 8,
+ Integer = 2,
+ Null = 5,
+ NumericString = 18,
+ ObjectDescriptor = 7,
+ ObjectIdentifier = 6,
+ ObjectIdentifierIRI = 35,
+ OctetString = 4,
+ PrintableString = 19,
+ Real = 9,
+ RelativeObjectIdentifier = 13,
+ RelativeObjectIdentifierIRI = 36,
+ Sequence = 16,
+ SequenceOf = 16,
+ Set = 17,
+ SetOf = 17,
+ T61String = 20,
+ TeletexString = 20,
+ Time = 14,
+ TimeOfDay = 32,
+ UTF8String = 12,
+ UniversalString = 28,
+ UnrestrictedCharacterString = 29,
+ UtcTime = 23,
+ VideotexString = 21,
+ VisibleString = 26,
}
}
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.Compression.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.Compression.cs
index 1b1b7ff4075..5d7bca00fc6 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.Compression.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.Compression.cs
@@ -7,19 +7,19 @@ namespace System
namespace Compression
{
// Generated from `System.IO.Compression.CompressionLevel` in `System.IO.Compression, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089`
- public enum CompressionLevel
+ public enum CompressionLevel : int
{
- Fastest,
- NoCompression,
- Optimal,
- SmallestSize,
+ Fastest = 1,
+ NoCompression = 2,
+ Optimal = 0,
+ SmallestSize = 3,
}
// Generated from `System.IO.Compression.CompressionMode` in `System.IO.Compression, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089`
- public enum CompressionMode
+ public enum CompressionMode : int
{
- Compress,
- Decompress,
+ Compress = 1,
+ Decompress = 0,
}
// Generated from `System.IO.Compression.DeflateStream` in `System.IO.Compression, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089`
@@ -164,11 +164,11 @@ namespace System
}
// Generated from `System.IO.Compression.ZipArchiveMode` in `System.IO.Compression, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089`
- public enum ZipArchiveMode
+ public enum ZipArchiveMode : int
{
- Create,
- Read,
- Update,
+ Create = 1,
+ Read = 0,
+ Update = 2,
}
}
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.FileSystem.AccessControl.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.FileSystem.AccessControl.cs
index 3e79653f3ff..9c4becadf63 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.FileSystem.AccessControl.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.FileSystem.AccessControl.cs
@@ -85,31 +85,31 @@ namespace System
// Generated from `System.Security.AccessControl.FileSystemRights` in `System.IO.FileSystem.AccessControl, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum FileSystemRights
+ public enum FileSystemRights : int
{
- AppendData,
- ChangePermissions,
- CreateDirectories,
- CreateFiles,
- Delete,
- DeleteSubdirectoriesAndFiles,
- ExecuteFile,
- FullControl,
- ListDirectory,
- Modify,
- Read,
- ReadAndExecute,
- ReadAttributes,
- ReadData,
- ReadExtendedAttributes,
- ReadPermissions,
- Synchronize,
- TakeOwnership,
- Traverse,
- Write,
- WriteAttributes,
- WriteData,
- WriteExtendedAttributes,
+ AppendData = 4,
+ ChangePermissions = 262144,
+ CreateDirectories = 4,
+ CreateFiles = 2,
+ Delete = 65536,
+ DeleteSubdirectoriesAndFiles = 64,
+ ExecuteFile = 32,
+ FullControl = 2032127,
+ ListDirectory = 1,
+ Modify = 197055,
+ Read = 131209,
+ ReadAndExecute = 131241,
+ ReadAttributes = 128,
+ ReadData = 1,
+ ReadExtendedAttributes = 8,
+ ReadPermissions = 131072,
+ Synchronize = 1048576,
+ TakeOwnership = 524288,
+ Traverse = 32,
+ Write = 278,
+ WriteAttributes = 256,
+ WriteData = 2,
+ WriteExtendedAttributes = 16,
}
// Generated from `System.Security.AccessControl.FileSystemSecurity` in `System.IO.FileSystem.AccessControl, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.FileSystem.DriveInfo.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.FileSystem.DriveInfo.cs
index a50ac804a12..df4b006e111 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.FileSystem.DriveInfo.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.FileSystem.DriveInfo.cs
@@ -32,15 +32,15 @@ namespace System
}
// Generated from `System.IO.DriveType` in `System.IO.FileSystem.DriveInfo, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum DriveType
+ public enum DriveType : int
{
- CDRom,
- Fixed,
- Network,
- NoRootDirectory,
- Ram,
- Removable,
- Unknown,
+ CDRom = 5,
+ Fixed = 3,
+ Network = 4,
+ NoRootDirectory = 1,
+ Ram = 6,
+ Removable = 2,
+ Unknown = 0,
}
}
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.FileSystem.Watcher.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.FileSystem.Watcher.cs
index 5dc014d247d..298ab86edfa 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.FileSystem.Watcher.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.FileSystem.Watcher.cs
@@ -69,16 +69,16 @@ namespace System
// Generated from `System.IO.NotifyFilters` in `System.IO.FileSystem.Watcher, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum NotifyFilters
+ public enum NotifyFilters : int
{
- Attributes,
- CreationTime,
- DirectoryName,
- FileName,
- LastAccess,
- LastWrite,
- Security,
- Size,
+ Attributes = 4,
+ CreationTime = 64,
+ DirectoryName = 2,
+ FileName = 1,
+ LastAccess = 32,
+ LastWrite = 16,
+ Security = 256,
+ Size = 8,
}
// Generated from `System.IO.RenamedEventArgs` in `System.IO.FileSystem.Watcher, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -104,13 +104,13 @@ namespace System
// Generated from `System.IO.WatcherChangeTypes` in `System.IO.FileSystem.Watcher, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum WatcherChangeTypes
+ public enum WatcherChangeTypes : int
{
- All,
- Changed,
- Created,
- Deleted,
- Renamed,
+ All = 15,
+ Changed = 4,
+ Created = 1,
+ Deleted = 2,
+ Renamed = 8,
}
}
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.IsolatedStorage.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.IsolatedStorage.cs
index 018770df468..bf01af848e9 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.IsolatedStorage.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.IsolatedStorage.cs
@@ -136,15 +136,15 @@ namespace System
// Generated from `System.IO.IsolatedStorage.IsolatedStorageScope` in `System.IO.IsolatedStorage, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum IsolatedStorageScope
+ public enum IsolatedStorageScope : int
{
- Application,
- Assembly,
- Domain,
- Machine,
- None,
- Roaming,
- User,
+ Application = 32,
+ Assembly = 4,
+ Domain = 2,
+ Machine = 16,
+ None = 0,
+ Roaming = 8,
+ User = 1,
}
}
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.MemoryMappedFiles.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.MemoryMappedFiles.cs
index b2cdf2a5c23..f0c049e01b3 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.MemoryMappedFiles.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.MemoryMappedFiles.cs
@@ -60,41 +60,41 @@ namespace System
}
// Generated from `System.IO.MemoryMappedFiles.MemoryMappedFileAccess` in `System.IO.MemoryMappedFiles, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum MemoryMappedFileAccess
+ public enum MemoryMappedFileAccess : int
{
- CopyOnWrite,
- Read,
- ReadExecute,
- ReadWrite,
- ReadWriteExecute,
- Write,
+ CopyOnWrite = 3,
+ Read = 1,
+ ReadExecute = 4,
+ ReadWrite = 0,
+ ReadWriteExecute = 5,
+ Write = 2,
}
// Generated from `System.IO.MemoryMappedFiles.MemoryMappedFileOptions` in `System.IO.MemoryMappedFiles, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum MemoryMappedFileOptions
+ public enum MemoryMappedFileOptions : int
{
- DelayAllocatePages,
- None,
+ DelayAllocatePages = 67108864,
+ None = 0,
}
// Generated from `System.IO.MemoryMappedFiles.MemoryMappedFileRights` in `System.IO.MemoryMappedFiles, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum MemoryMappedFileRights
+ public enum MemoryMappedFileRights : int
{
- AccessSystemSecurity,
- ChangePermissions,
- CopyOnWrite,
- Delete,
- Execute,
- FullControl,
- Read,
- ReadExecute,
- ReadPermissions,
- ReadWrite,
- ReadWriteExecute,
- TakeOwnership,
- Write,
+ AccessSystemSecurity = 16777216,
+ ChangePermissions = 262144,
+ CopyOnWrite = 1,
+ Delete = 65536,
+ Execute = 8,
+ FullControl = 983055,
+ Read = 4,
+ ReadExecute = 12,
+ ReadPermissions = 131072,
+ ReadWrite = 6,
+ ReadWriteExecute = 14,
+ TakeOwnership = 524288,
+ Write = 2,
}
// Generated from `System.IO.MemoryMappedFiles.MemoryMappedViewAccessor` in `System.IO.MemoryMappedFiles, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.Pipes.AccessControl.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.Pipes.AccessControl.cs
index ba07707dd5b..1e2e39ca8cf 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.Pipes.AccessControl.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.Pipes.AccessControl.cs
@@ -20,25 +20,25 @@ namespace System
// Generated from `System.IO.Pipes.PipeAccessRights` in `System.IO.Pipes.AccessControl, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum PipeAccessRights
+ public enum PipeAccessRights : int
{
- AccessSystemSecurity,
- ChangePermissions,
- CreateNewInstance,
- Delete,
- FullControl,
- Read,
- ReadAttributes,
- ReadData,
- ReadExtendedAttributes,
- ReadPermissions,
- ReadWrite,
- Synchronize,
- TakeOwnership,
- Write,
- WriteAttributes,
- WriteData,
- WriteExtendedAttributes,
+ AccessSystemSecurity = 16777216,
+ ChangePermissions = 262144,
+ CreateNewInstance = 4,
+ Delete = 65536,
+ FullControl = 2032031,
+ Read = 131209,
+ ReadAttributes = 128,
+ ReadData = 1,
+ ReadExtendedAttributes = 8,
+ ReadPermissions = 131072,
+ ReadWrite = 131483,
+ Synchronize = 1048576,
+ TakeOwnership = 524288,
+ Write = 274,
+ WriteAttributes = 256,
+ WriteData = 2,
+ WriteExtendedAttributes = 16,
}
// Generated from `System.IO.Pipes.PipeAccessRule` in `System.IO.Pipes.AccessControl, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.Pipes.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.Pipes.cs
index 26198219432..221d01852a5 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.Pipes.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.IO.Pipes.cs
@@ -96,21 +96,21 @@ namespace System
}
// Generated from `System.IO.Pipes.PipeDirection` in `System.IO.Pipes, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum PipeDirection
+ public enum PipeDirection : int
{
- In,
- InOut,
- Out,
+ In = 1,
+ InOut = 3,
+ Out = 2,
}
// Generated from `System.IO.Pipes.PipeOptions` in `System.IO.Pipes, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum PipeOptions
+ public enum PipeOptions : int
{
- Asynchronous,
- CurrentUserOnly,
- None,
- WriteThrough,
+ Asynchronous = 1073741824,
+ CurrentUserOnly = 536870912,
+ None = 0,
+ WriteThrough = -2147483648,
}
// Generated from `System.IO.Pipes.PipeStream` in `System.IO.Pipes, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -162,10 +162,10 @@ namespace System
public delegate void PipeStreamImpersonationWorker();
// Generated from `System.IO.Pipes.PipeTransmissionMode` in `System.IO.Pipes, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum PipeTransmissionMode
+ public enum PipeTransmissionMode : int
{
- Byte,
- Message,
+ Byte = 0,
+ Message = 1,
}
}
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Linq.Expressions.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Linq.Expressions.cs
index 93a099122c5..7f1e3c12426 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Linq.Expressions.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Linq.Expressions.cs
@@ -762,93 +762,93 @@ namespace System
}
// Generated from `System.Linq.Expressions.ExpressionType` in `System.Linq.Expressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ExpressionType
+ public enum ExpressionType : int
{
- Add,
- AddAssign,
- AddAssignChecked,
- AddChecked,
- And,
- AndAlso,
- AndAssign,
- ArrayIndex,
- ArrayLength,
- Assign,
- Block,
- Call,
- Coalesce,
- Conditional,
- Constant,
- Convert,
- ConvertChecked,
- DebugInfo,
- Decrement,
- Default,
- Divide,
- DivideAssign,
- Dynamic,
- Equal,
- ExclusiveOr,
- ExclusiveOrAssign,
- Extension,
- Goto,
- GreaterThan,
- GreaterThanOrEqual,
- Increment,
- Index,
- Invoke,
- IsFalse,
- IsTrue,
- Label,
- Lambda,
- LeftShift,
- LeftShiftAssign,
- LessThan,
- LessThanOrEqual,
- ListInit,
- Loop,
- MemberAccess,
- MemberInit,
- Modulo,
- ModuloAssign,
- Multiply,
- MultiplyAssign,
- MultiplyAssignChecked,
- MultiplyChecked,
- Negate,
- NegateChecked,
- New,
- NewArrayBounds,
- NewArrayInit,
- Not,
- NotEqual,
- OnesComplement,
- Or,
- OrAssign,
- OrElse,
- Parameter,
- PostDecrementAssign,
- PostIncrementAssign,
- Power,
- PowerAssign,
- PreDecrementAssign,
- PreIncrementAssign,
- Quote,
- RightShift,
- RightShiftAssign,
- RuntimeVariables,
- Subtract,
- SubtractAssign,
- SubtractAssignChecked,
- SubtractChecked,
- Switch,
- Throw,
- Try,
- TypeAs,
- TypeEqual,
- TypeIs,
- UnaryPlus,
- Unbox,
+ Add = 0,
+ AddAssign = 63,
+ AddAssignChecked = 74,
+ AddChecked = 1,
+ And = 2,
+ AndAlso = 3,
+ AndAssign = 64,
+ ArrayIndex = 5,
+ ArrayLength = 4,
+ Assign = 46,
+ Block = 47,
+ Call = 6,
+ Coalesce = 7,
+ Conditional = 8,
+ Constant = 9,
+ Convert = 10,
+ ConvertChecked = 11,
+ DebugInfo = 48,
+ Decrement = 49,
+ Default = 51,
+ Divide = 12,
+ DivideAssign = 65,
+ Dynamic = 50,
+ Equal = 13,
+ ExclusiveOr = 14,
+ ExclusiveOrAssign = 66,
+ Extension = 52,
+ Goto = 53,
+ GreaterThan = 15,
+ GreaterThanOrEqual = 16,
+ Increment = 54,
+ Index = 55,
+ Invoke = 17,
+ IsFalse = 84,
+ IsTrue = 83,
+ Label = 56,
+ Lambda = 18,
+ LeftShift = 19,
+ LeftShiftAssign = 67,
+ LessThan = 20,
+ LessThanOrEqual = 21,
+ ListInit = 22,
+ Loop = 58,
+ MemberAccess = 23,
+ MemberInit = 24,
+ Modulo = 25,
+ ModuloAssign = 68,
+ Multiply = 26,
+ MultiplyAssign = 69,
+ MultiplyAssignChecked = 75,
+ MultiplyChecked = 27,
+ Negate = 28,
+ NegateChecked = 30,
+ New = 31,
+ NewArrayBounds = 33,
+ NewArrayInit = 32,
+ Not = 34,
+ NotEqual = 35,
+ OnesComplement = 82,
+ Or = 36,
+ OrAssign = 70,
+ OrElse = 37,
+ Parameter = 38,
+ PostDecrementAssign = 80,
+ PostIncrementAssign = 79,
+ Power = 39,
+ PowerAssign = 71,
+ PreDecrementAssign = 78,
+ PreIncrementAssign = 77,
+ Quote = 40,
+ RightShift = 41,
+ RightShiftAssign = 72,
+ RuntimeVariables = 57,
+ Subtract = 42,
+ SubtractAssign = 73,
+ SubtractAssignChecked = 76,
+ SubtractChecked = 43,
+ Switch = 59,
+ Throw = 60,
+ Try = 61,
+ TypeAs = 44,
+ TypeEqual = 81,
+ TypeIs = 45,
+ UnaryPlus = 29,
+ Unbox = 62,
}
// Generated from `System.Linq.Expressions.ExpressionVisitor` in `System.Linq.Expressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -909,12 +909,12 @@ namespace System
}
// Generated from `System.Linq.Expressions.GotoExpressionKind` in `System.Linq.Expressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum GotoExpressionKind
+ public enum GotoExpressionKind : int
{
- Break,
- Continue,
- Goto,
- Return,
+ Break = 2,
+ Continue = 3,
+ Goto = 0,
+ Return = 1,
}
// Generated from `System.Linq.Expressions.IArgumentProvider` in `System.Linq.Expressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1037,11 +1037,11 @@ namespace System
}
// Generated from `System.Linq.Expressions.MemberBindingType` in `System.Linq.Expressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum MemberBindingType
+ public enum MemberBindingType : int
{
- Assignment,
- ListBinding,
- MemberBinding,
+ Assignment = 0,
+ ListBinding = 2,
+ MemberBinding = 1,
}
// Generated from `System.Linq.Expressions.MemberExpression` in `System.Linq.Expressions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Linq.Parallel.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Linq.Parallel.cs
index c63dc25db6b..8cca385f2bf 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Linq.Parallel.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Linq.Parallel.cs
@@ -219,19 +219,19 @@ namespace System
}
// Generated from `System.Linq.ParallelExecutionMode` in `System.Linq.Parallel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ParallelExecutionMode
+ public enum ParallelExecutionMode : int
{
- Default,
- ForceParallelism,
+ Default = 0,
+ ForceParallelism = 1,
}
// Generated from `System.Linq.ParallelMergeOptions` in `System.Linq.Parallel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ParallelMergeOptions
+ public enum ParallelMergeOptions : int
{
- AutoBuffered,
- Default,
- FullyBuffered,
- NotBuffered,
+ AutoBuffered = 2,
+ Default = 0,
+ FullyBuffered = 3,
+ NotBuffered = 1,
}
// Generated from `System.Linq.ParallelQuery` in `System.Linq.Parallel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Http.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Http.cs
index a0ca6f514d7..320e4ceec59 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Http.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Http.cs
@@ -20,10 +20,10 @@ namespace System
}
// Generated from `System.Net.Http.ClientCertificateOption` in `System.Net.Http, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ClientCertificateOption
+ public enum ClientCertificateOption : int
{
- Automatic,
- Manual,
+ Automatic = 1,
+ Manual = 0,
}
// Generated from `System.Net.Http.DelegatingHandler` in `System.Net.Http, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -142,10 +142,10 @@ namespace System
}
// Generated from `System.Net.Http.HttpCompletionOption` in `System.Net.Http, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum HttpCompletionOption
+ public enum HttpCompletionOption : int
{
- ResponseContentRead,
- ResponseHeadersRead,
+ ResponseContentRead = 0,
+ ResponseHeadersRead = 1,
}
// Generated from `System.Net.Http.HttpContent` in `System.Net.Http, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -180,10 +180,10 @@ namespace System
}
// Generated from `System.Net.Http.HttpKeepAlivePingPolicy` in `System.Net.Http, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum HttpKeepAlivePingPolicy
+ public enum HttpKeepAlivePingPolicy : int
{
- Always,
- WithActiveRequests,
+ Always = 1,
+ WithActiveRequests = 0,
}
// Generated from `System.Net.Http.HttpMessageHandler` in `System.Net.Http, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -309,11 +309,11 @@ namespace System
}
// Generated from `System.Net.Http.HttpVersionPolicy` in `System.Net.Http, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum HttpVersionPolicy
+ public enum HttpVersionPolicy : int
{
- RequestVersionExact,
- RequestVersionOrHigher,
- RequestVersionOrLower,
+ RequestVersionExact = 2,
+ RequestVersionOrHigher = 1,
+ RequestVersionOrLower = 0,
}
// Generated from `System.Net.Http.MessageProcessingHandler` in `System.Net.Http, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Mail.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Mail.cs
index 216d1b30a1c..abab9ff0953 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Mail.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Mail.cs
@@ -79,13 +79,13 @@ namespace System
// Generated from `System.Net.Mail.DeliveryNotificationOptions` in `System.Net.Mail, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
[System.Flags]
- public enum DeliveryNotificationOptions
+ public enum DeliveryNotificationOptions : int
{
- Delay,
- Never,
- None,
- OnFailure,
- OnSuccess,
+ Delay = 4,
+ Never = 134217728,
+ None = 0,
+ OnFailure = 2,
+ OnSuccess = 1,
}
// Generated from `System.Net.Mail.LinkedResource` in `System.Net.Mail, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
@@ -172,11 +172,11 @@ namespace System
}
// Generated from `System.Net.Mail.MailPriority` in `System.Net.Mail, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
- public enum MailPriority
+ public enum MailPriority : int
{
- High,
- Low,
- Normal,
+ High = 2,
+ Low = 1,
+ Normal = 0,
}
// Generated from `System.Net.Mail.SendCompletedEventHandler` in `System.Net.Mail, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
@@ -216,18 +216,18 @@ namespace System
}
// Generated from `System.Net.Mail.SmtpDeliveryFormat` in `System.Net.Mail, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
- public enum SmtpDeliveryFormat
+ public enum SmtpDeliveryFormat : int
{
- International,
- SevenBit,
+ International = 1,
+ SevenBit = 0,
}
// Generated from `System.Net.Mail.SmtpDeliveryMethod` in `System.Net.Mail, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
- public enum SmtpDeliveryMethod
+ public enum SmtpDeliveryMethod : int
{
- Network,
- PickupDirectoryFromIis,
- SpecifiedPickupDirectory,
+ Network = 0,
+ PickupDirectoryFromIis = 2,
+ SpecifiedPickupDirectory = 1,
}
// Generated from `System.Net.Mail.SmtpException` in `System.Net.Mail, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
@@ -273,33 +273,33 @@ namespace System
}
// Generated from `System.Net.Mail.SmtpStatusCode` in `System.Net.Mail, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
- public enum SmtpStatusCode
+ public enum SmtpStatusCode : int
{
- BadCommandSequence,
- CannotVerifyUserWillAttemptDelivery,
- ClientNotPermitted,
- CommandNotImplemented,
- CommandParameterNotImplemented,
- CommandUnrecognized,
- ExceededStorageAllocation,
- GeneralFailure,
- HelpMessage,
- InsufficientStorage,
- LocalErrorInProcessing,
- MailboxBusy,
- MailboxNameNotAllowed,
- MailboxUnavailable,
- MustIssueStartTlsFirst,
- Ok,
- ServiceClosingTransmissionChannel,
- ServiceNotAvailable,
- ServiceReady,
- StartMailInput,
- SyntaxError,
- SystemStatus,
- TransactionFailed,
- UserNotLocalTryAlternatePath,
- UserNotLocalWillForward,
+ BadCommandSequence = 503,
+ CannotVerifyUserWillAttemptDelivery = 252,
+ ClientNotPermitted = 454,
+ CommandNotImplemented = 502,
+ CommandParameterNotImplemented = 504,
+ CommandUnrecognized = 500,
+ ExceededStorageAllocation = 552,
+ GeneralFailure = -1,
+ HelpMessage = 214,
+ InsufficientStorage = 452,
+ LocalErrorInProcessing = 451,
+ MailboxBusy = 450,
+ MailboxNameNotAllowed = 553,
+ MailboxUnavailable = 550,
+ MustIssueStartTlsFirst = 530,
+ Ok = 250,
+ ServiceClosingTransmissionChannel = 221,
+ ServiceNotAvailable = 421,
+ ServiceReady = 220,
+ StartMailInput = 354,
+ SyntaxError = 501,
+ SystemStatus = 211,
+ TransactionFailed = 554,
+ UserNotLocalTryAlternatePath = 551,
+ UserNotLocalWillForward = 251,
}
}
@@ -383,13 +383,13 @@ namespace System
}
// Generated from `System.Net.Mime.TransferEncoding` in `System.Net.Mail, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
- public enum TransferEncoding
+ public enum TransferEncoding : int
{
- Base64,
- EightBit,
- QuotedPrintable,
- SevenBit,
- Unknown,
+ Base64 = 1,
+ EightBit = 3,
+ QuotedPrintable = 0,
+ SevenBit = 2,
+ Unknown = -1,
}
}
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.NetworkInformation.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.NetworkInformation.cs
index 00a50a4deec..e0bd215f663 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.NetworkInformation.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.NetworkInformation.cs
@@ -7,13 +7,13 @@ namespace System
namespace NetworkInformation
{
// Generated from `System.Net.NetworkInformation.DuplicateAddressDetectionState` in `System.Net.NetworkInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum DuplicateAddressDetectionState
+ public enum DuplicateAddressDetectionState : int
{
- Deprecated,
- Duplicate,
- Invalid,
- Preferred,
- Tentative,
+ Deprecated = 3,
+ Duplicate = 2,
+ Invalid = 0,
+ Preferred = 4,
+ Tentative = 1,
}
// Generated from `System.Net.NetworkInformation.GatewayIPAddressInformation` in `System.Net.NetworkInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -293,13 +293,13 @@ namespace System
}
// Generated from `System.Net.NetworkInformation.NetBiosNodeType` in `System.Net.NetworkInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum NetBiosNodeType
+ public enum NetBiosNodeType : int
{
- Broadcast,
- Hybrid,
- Mixed,
- Peer2Peer,
- Unknown,
+ Broadcast = 1,
+ Hybrid = 8,
+ Mixed = 4,
+ Peer2Peer = 2,
+ Unknown = 0,
}
// Generated from `System.Net.NetworkInformation.NetworkAddressChangedEventHandler` in `System.Net.NetworkInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -356,55 +356,55 @@ namespace System
}
// Generated from `System.Net.NetworkInformation.NetworkInterfaceComponent` in `System.Net.NetworkInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum NetworkInterfaceComponent
+ public enum NetworkInterfaceComponent : int
{
- IPv4,
- IPv6,
+ IPv4 = 0,
+ IPv6 = 1,
}
// Generated from `System.Net.NetworkInformation.NetworkInterfaceType` in `System.Net.NetworkInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum NetworkInterfaceType
+ public enum NetworkInterfaceType : int
{
- AsymmetricDsl,
- Atm,
- BasicIsdn,
- Ethernet,
- Ethernet3Megabit,
- FastEthernetFx,
- FastEthernetT,
- Fddi,
- GenericModem,
- GigabitEthernet,
- HighPerformanceSerialBus,
- IPOverAtm,
- Isdn,
- Loopback,
- MultiRateSymmetricDsl,
- Ppp,
- PrimaryIsdn,
- RateAdaptDsl,
- Slip,
- SymmetricDsl,
- TokenRing,
- Tunnel,
- Unknown,
- VeryHighSpeedDsl,
- Wireless80211,
- Wman,
- Wwanpp,
- Wwanpp2,
+ AsymmetricDsl = 94,
+ Atm = 37,
+ BasicIsdn = 20,
+ Ethernet = 6,
+ Ethernet3Megabit = 26,
+ FastEthernetFx = 69,
+ FastEthernetT = 62,
+ Fddi = 15,
+ GenericModem = 48,
+ GigabitEthernet = 117,
+ HighPerformanceSerialBus = 144,
+ IPOverAtm = 114,
+ Isdn = 63,
+ Loopback = 24,
+ MultiRateSymmetricDsl = 143,
+ Ppp = 23,
+ PrimaryIsdn = 21,
+ RateAdaptDsl = 95,
+ Slip = 28,
+ SymmetricDsl = 96,
+ TokenRing = 9,
+ Tunnel = 131,
+ Unknown = 1,
+ VeryHighSpeedDsl = 97,
+ Wireless80211 = 71,
+ Wman = 237,
+ Wwanpp = 243,
+ Wwanpp2 = 244,
}
// Generated from `System.Net.NetworkInformation.OperationalStatus` in `System.Net.NetworkInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum OperationalStatus
+ public enum OperationalStatus : int
{
- Dormant,
- Down,
- LowerLayerDown,
- NotPresent,
- Testing,
- Unknown,
- Up,
+ Dormant = 5,
+ Down = 2,
+ LowerLayerDown = 7,
+ NotPresent = 6,
+ Testing = 3,
+ Unknown = 4,
+ Up = 1,
}
// Generated from `System.Net.NetworkInformation.PhysicalAddress` in `System.Net.NetworkInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -423,37 +423,37 @@ namespace System
}
// Generated from `System.Net.NetworkInformation.PrefixOrigin` in `System.Net.NetworkInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum PrefixOrigin
+ public enum PrefixOrigin : int
{
- Dhcp,
- Manual,
- Other,
- RouterAdvertisement,
- WellKnown,
+ Dhcp = 3,
+ Manual = 1,
+ Other = 0,
+ RouterAdvertisement = 4,
+ WellKnown = 2,
}
// Generated from `System.Net.NetworkInformation.ScopeLevel` in `System.Net.NetworkInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ScopeLevel
+ public enum ScopeLevel : int
{
- Admin,
- Global,
- Interface,
- Link,
- None,
- Organization,
- Site,
- Subnet,
+ Admin = 4,
+ Global = 14,
+ Interface = 1,
+ Link = 2,
+ None = 0,
+ Organization = 8,
+ Site = 5,
+ Subnet = 3,
}
// Generated from `System.Net.NetworkInformation.SuffixOrigin` in `System.Net.NetworkInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum SuffixOrigin
+ public enum SuffixOrigin : int
{
- LinkLayerAddress,
- Manual,
- OriginDhcp,
- Other,
- Random,
- WellKnown,
+ LinkLayerAddress = 4,
+ Manual = 1,
+ OriginDhcp = 3,
+ Other = 0,
+ Random = 5,
+ WellKnown = 2,
}
// Generated from `System.Net.NetworkInformation.TcpConnectionInformation` in `System.Net.NetworkInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -466,21 +466,21 @@ namespace System
}
// Generated from `System.Net.NetworkInformation.TcpState` in `System.Net.NetworkInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum TcpState
+ public enum TcpState : int
{
- CloseWait,
- Closed,
- Closing,
- DeleteTcb,
- Established,
- FinWait1,
- FinWait2,
- LastAck,
- Listen,
- SynReceived,
- SynSent,
- TimeWait,
- Unknown,
+ CloseWait = 8,
+ Closed = 1,
+ Closing = 9,
+ DeleteTcb = 12,
+ Established = 5,
+ FinWait1 = 6,
+ FinWait2 = 7,
+ LastAck = 10,
+ Listen = 2,
+ SynReceived = 4,
+ SynSent = 3,
+ TimeWait = 11,
+ Unknown = 0,
}
// Generated from `System.Net.NetworkInformation.TcpStatistics` in `System.Net.NetworkInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Ping.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Ping.cs
index 9af39d02346..6452d156200 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Ping.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Ping.cs
@@ -7,32 +7,32 @@ namespace System
namespace NetworkInformation
{
// Generated from `System.Net.NetworkInformation.IPStatus` in `System.Net.Ping, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum IPStatus
+ public enum IPStatus : int
{
- BadDestination,
- BadHeader,
- BadOption,
- BadRoute,
- DestinationHostUnreachable,
- DestinationNetworkUnreachable,
- DestinationPortUnreachable,
- DestinationProhibited,
- DestinationProtocolUnreachable,
- DestinationScopeMismatch,
- DestinationUnreachable,
- HardwareError,
- IcmpError,
- NoResources,
- PacketTooBig,
- ParameterProblem,
- SourceQuench,
- Success,
- TimeExceeded,
- TimedOut,
- TtlExpired,
- TtlReassemblyTimeExceeded,
- Unknown,
- UnrecognizedNextHeader,
+ BadDestination = 11018,
+ BadHeader = 11042,
+ BadOption = 11007,
+ BadRoute = 11012,
+ DestinationHostUnreachable = 11003,
+ DestinationNetworkUnreachable = 11002,
+ DestinationPortUnreachable = 11005,
+ DestinationProhibited = 11004,
+ DestinationProtocolUnreachable = 11004,
+ DestinationScopeMismatch = 11045,
+ DestinationUnreachable = 11040,
+ HardwareError = 11008,
+ IcmpError = 11044,
+ NoResources = 11006,
+ PacketTooBig = 11009,
+ ParameterProblem = 11015,
+ SourceQuench = 11016,
+ Success = 0,
+ TimeExceeded = 11041,
+ TimedOut = 11010,
+ TtlExpired = 11013,
+ TtlReassemblyTimeExceeded = 11014,
+ Unknown = -1,
+ UnrecognizedNextHeader = 11043,
}
// Generated from `System.Net.NetworkInformation.Ping` in `System.Net.Ping, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Primitives.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Primitives.cs
index 79d93bac06f..8cb4c49a179 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Primitives.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Primitives.cs
@@ -6,15 +6,15 @@ namespace System
{
// Generated from `System.Net.AuthenticationSchemes` in `System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum AuthenticationSchemes
+ public enum AuthenticationSchemes : int
{
- Anonymous,
- Basic,
- Digest,
- IntegratedWindowsAuthentication,
- Negotiate,
- None,
- Ntlm,
+ Anonymous = 32768,
+ Basic = 8,
+ Digest = 1,
+ IntegratedWindowsAuthentication = 6,
+ Negotiate = 2,
+ None = 0,
+ Ntlm = 4,
}
// Generated from `System.Net.Cookie` in `System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -113,13 +113,13 @@ namespace System
// Generated from `System.Net.DecompressionMethods` in `System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum DecompressionMethods
+ public enum DecompressionMethods : int
{
- All,
- Brotli,
- Deflate,
- GZip,
- None,
+ All = -1,
+ Brotli = 4,
+ Deflate = 2,
+ GZip = 1,
+ None = 0,
}
// Generated from `System.Net.DnsEndPoint` in `System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -145,74 +145,74 @@ namespace System
}
// Generated from `System.Net.HttpStatusCode` in `System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum HttpStatusCode
+ public enum HttpStatusCode : int
{
- Accepted,
- AlreadyReported,
- Ambiguous,
- BadGateway,
- BadRequest,
- Conflict,
- Continue,
- Created,
- EarlyHints,
- ExpectationFailed,
- FailedDependency,
- Forbidden,
- Found,
- GatewayTimeout,
- Gone,
- HttpVersionNotSupported,
- IMUsed,
- InsufficientStorage,
- InternalServerError,
- LengthRequired,
- Locked,
- LoopDetected,
- MethodNotAllowed,
- MisdirectedRequest,
- Moved,
- MovedPermanently,
- MultiStatus,
- MultipleChoices,
- NetworkAuthenticationRequired,
- NoContent,
- NonAuthoritativeInformation,
- NotAcceptable,
- NotExtended,
- NotFound,
- NotImplemented,
- NotModified,
- OK,
- PartialContent,
- PaymentRequired,
- PermanentRedirect,
- PreconditionFailed,
- PreconditionRequired,
- Processing,
- ProxyAuthenticationRequired,
- Redirect,
- RedirectKeepVerb,
- RedirectMethod,
- RequestEntityTooLarge,
- RequestHeaderFieldsTooLarge,
- RequestTimeout,
- RequestUriTooLong,
- RequestedRangeNotSatisfiable,
- ResetContent,
- SeeOther,
- ServiceUnavailable,
- SwitchingProtocols,
- TemporaryRedirect,
- TooManyRequests,
- Unauthorized,
- UnavailableForLegalReasons,
- UnprocessableEntity,
- UnsupportedMediaType,
- Unused,
- UpgradeRequired,
- UseProxy,
- VariantAlsoNegotiates,
+ Accepted = 202,
+ AlreadyReported = 208,
+ Ambiguous = 300,
+ BadGateway = 502,
+ BadRequest = 400,
+ Conflict = 409,
+ Continue = 100,
+ Created = 201,
+ EarlyHints = 103,
+ ExpectationFailed = 417,
+ FailedDependency = 424,
+ Forbidden = 403,
+ Found = 302,
+ GatewayTimeout = 504,
+ Gone = 410,
+ HttpVersionNotSupported = 505,
+ IMUsed = 226,
+ InsufficientStorage = 507,
+ InternalServerError = 500,
+ LengthRequired = 411,
+ Locked = 423,
+ LoopDetected = 508,
+ MethodNotAllowed = 405,
+ MisdirectedRequest = 421,
+ Moved = 301,
+ MovedPermanently = 301,
+ MultiStatus = 207,
+ MultipleChoices = 300,
+ NetworkAuthenticationRequired = 511,
+ NoContent = 204,
+ NonAuthoritativeInformation = 203,
+ NotAcceptable = 406,
+ NotExtended = 510,
+ NotFound = 404,
+ NotImplemented = 501,
+ NotModified = 304,
+ OK = 200,
+ PartialContent = 206,
+ PaymentRequired = 402,
+ PermanentRedirect = 308,
+ PreconditionFailed = 412,
+ PreconditionRequired = 428,
+ Processing = 102,
+ ProxyAuthenticationRequired = 407,
+ Redirect = 302,
+ RedirectKeepVerb = 307,
+ RedirectMethod = 303,
+ RequestEntityTooLarge = 413,
+ RequestHeaderFieldsTooLarge = 431,
+ RequestTimeout = 408,
+ RequestUriTooLong = 414,
+ RequestedRangeNotSatisfiable = 416,
+ ResetContent = 205,
+ SeeOther = 303,
+ ServiceUnavailable = 503,
+ SwitchingProtocols = 101,
+ TemporaryRedirect = 307,
+ TooManyRequests = 429,
+ Unauthorized = 401,
+ UnavailableForLegalReasons = 451,
+ UnprocessableEntity = 422,
+ UnsupportedMediaType = 415,
+ Unused = 306,
+ UpgradeRequired = 426,
+ UseProxy = 305,
+ VariantAlsoNegotiates = 506,
}
// Generated from `System.Net.HttpVersion` in `System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -350,15 +350,15 @@ namespace System
namespace Cache
{
// Generated from `System.Net.Cache.RequestCacheLevel` in `System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum RequestCacheLevel
+ public enum RequestCacheLevel : int
{
- BypassCache,
- CacheIfAvailable,
- CacheOnly,
- Default,
- NoCacheNoStore,
- Reload,
- Revalidate,
+ BypassCache = 1,
+ CacheIfAvailable = 3,
+ CacheOnly = 2,
+ Default = 0,
+ NoCacheNoStore = 6,
+ Reload = 5,
+ Revalidate = 4,
}
// Generated from `System.Net.Cache.RequestCachePolicy` in `System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -393,114 +393,114 @@ namespace System
namespace Security
{
// Generated from `System.Net.Security.AuthenticationLevel` in `System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum AuthenticationLevel
+ public enum AuthenticationLevel : int
{
- MutualAuthRequested,
- MutualAuthRequired,
- None,
+ MutualAuthRequested = 1,
+ MutualAuthRequired = 2,
+ None = 0,
}
// Generated from `System.Net.Security.SslPolicyErrors` in `System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum SslPolicyErrors
+ public enum SslPolicyErrors : int
{
- None,
- RemoteCertificateChainErrors,
- RemoteCertificateNameMismatch,
- RemoteCertificateNotAvailable,
+ None = 0,
+ RemoteCertificateChainErrors = 4,
+ RemoteCertificateNameMismatch = 2,
+ RemoteCertificateNotAvailable = 1,
}
}
namespace Sockets
{
// Generated from `System.Net.Sockets.AddressFamily` in `System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum AddressFamily
+ public enum AddressFamily : int
{
- AppleTalk,
- Atm,
- Banyan,
- Ccitt,
- Chaos,
- Cluster,
- ControllerAreaNetwork,
- DataKit,
- DataLink,
- DecNet,
- Ecma,
- FireFox,
- HyperChannel,
- Ieee12844,
- ImpLink,
- InterNetwork,
- InterNetworkV6,
- Ipx,
- Irda,
- Iso,
- Lat,
- Max,
- NS,
- NetBios,
- NetworkDesigners,
- Osi,
- Packet,
- Pup,
- Sna,
- Unix,
- Unknown,
- Unspecified,
- VoiceView,
+ AppleTalk = 16,
+ Atm = 22,
+ Banyan = 21,
+ Ccitt = 10,
+ Chaos = 5,
+ Cluster = 24,
+ ControllerAreaNetwork = 65537,
+ DataKit = 9,
+ DataLink = 13,
+ DecNet = 12,
+ Ecma = 8,
+ FireFox = 19,
+ HyperChannel = 15,
+ Ieee12844 = 25,
+ ImpLink = 3,
+ InterNetwork = 2,
+ InterNetworkV6 = 23,
+ Ipx = 6,
+ Irda = 26,
+ Iso = 7,
+ Lat = 14,
+ Max = 29,
+ NS = 6,
+ NetBios = 17,
+ NetworkDesigners = 28,
+ Osi = 7,
+ Packet = 65536,
+ Pup = 4,
+ Sna = 11,
+ Unix = 1,
+ Unknown = -1,
+ Unspecified = 0,
+ VoiceView = 18,
}
// Generated from `System.Net.Sockets.SocketError` in `System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum SocketError
+ public enum SocketError : int
{
- AccessDenied,
- AddressAlreadyInUse,
- AddressFamilyNotSupported,
- AddressNotAvailable,
- AlreadyInProgress,
- ConnectionAborted,
- ConnectionRefused,
- ConnectionReset,
- DestinationAddressRequired,
- Disconnecting,
- Fault,
- HostDown,
- HostNotFound,
- HostUnreachable,
- IOPending,
- InProgress,
- Interrupted,
- InvalidArgument,
- IsConnected,
- MessageSize,
- NetworkDown,
- NetworkReset,
- NetworkUnreachable,
- NoBufferSpaceAvailable,
- NoData,
- NoRecovery,
- NotConnected,
- NotInitialized,
- NotSocket,
- OperationAborted,
- OperationNotSupported,
- ProcessLimit,
- ProtocolFamilyNotSupported,
- ProtocolNotSupported,
- ProtocolOption,
- ProtocolType,
- Shutdown,
- SocketError,
- SocketNotSupported,
- Success,
- SystemNotReady,
- TimedOut,
- TooManyOpenSockets,
- TryAgain,
- TypeNotFound,
- VersionNotSupported,
- WouldBlock,
+ AccessDenied = 10013,
+ AddressAlreadyInUse = 10048,
+ AddressFamilyNotSupported = 10047,
+ AddressNotAvailable = 10049,
+ AlreadyInProgress = 10037,
+ ConnectionAborted = 10053,
+ ConnectionRefused = 10061,
+ ConnectionReset = 10054,
+ DestinationAddressRequired = 10039,
+ Disconnecting = 10101,
+ Fault = 10014,
+ HostDown = 10064,
+ HostNotFound = 11001,
+ HostUnreachable = 10065,
+ IOPending = 997,
+ InProgress = 10036,
+ Interrupted = 10004,
+ InvalidArgument = 10022,
+ IsConnected = 10056,
+ MessageSize = 10040,
+ NetworkDown = 10050,
+ NetworkReset = 10052,
+ NetworkUnreachable = 10051,
+ NoBufferSpaceAvailable = 10055,
+ NoData = 11004,
+ NoRecovery = 11003,
+ NotConnected = 10057,
+ NotInitialized = 10093,
+ NotSocket = 10038,
+ OperationAborted = 995,
+ OperationNotSupported = 10045,
+ ProcessLimit = 10067,
+ ProtocolFamilyNotSupported = 10046,
+ ProtocolNotSupported = 10043,
+ ProtocolOption = 10042,
+ ProtocolType = 10041,
+ Shutdown = 10058,
+ SocketError = -1,
+ SocketNotSupported = 10044,
+ Success = 0,
+ SystemNotReady = 10091,
+ TimedOut = 10060,
+ TooManyOpenSockets = 10024,
+ TryAgain = 11002,
+ TypeNotFound = 10109,
+ VersionNotSupported = 10092,
+ WouldBlock = 10035,
}
// Generated from `System.Net.Sockets.SocketException` in `System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -521,52 +521,52 @@ namespace System
namespace Authentication
{
// Generated from `System.Security.Authentication.CipherAlgorithmType` in `System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum CipherAlgorithmType
+ public enum CipherAlgorithmType : int
{
- Aes,
- Aes128,
- Aes192,
- Aes256,
- Des,
- None,
- Null,
- Rc2,
- Rc4,
- TripleDes,
+ Aes = 26129,
+ Aes128 = 26126,
+ Aes192 = 26127,
+ Aes256 = 26128,
+ Des = 26113,
+ None = 0,
+ Null = 24576,
+ Rc2 = 26114,
+ Rc4 = 26625,
+ TripleDes = 26115,
}
// Generated from `System.Security.Authentication.ExchangeAlgorithmType` in `System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ExchangeAlgorithmType
+ public enum ExchangeAlgorithmType : int
{
- DiffieHellman,
- None,
- RsaKeyX,
- RsaSign,
+ DiffieHellman = 43522,
+ None = 0,
+ RsaKeyX = 41984,
+ RsaSign = 9216,
}
// Generated from `System.Security.Authentication.HashAlgorithmType` in `System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum HashAlgorithmType
+ public enum HashAlgorithmType : int
{
- Md5,
- None,
- Sha1,
- Sha256,
- Sha384,
- Sha512,
+ Md5 = 32771,
+ None = 0,
+ Sha1 = 32772,
+ Sha256 = 32780,
+ Sha384 = 32781,
+ Sha512 = 32782,
}
// Generated from `System.Security.Authentication.SslProtocols` in `System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum SslProtocols
+ public enum SslProtocols : int
{
- Default,
- None,
- Ssl2,
- Ssl3,
- Tls,
- Tls11,
- Tls12,
- Tls13,
+ Default = 240,
+ None = 0,
+ Ssl2 = 12,
+ Ssl3 = 48,
+ Tls = 192,
+ Tls11 = 768,
+ Tls12 = 3072,
+ Tls13 = 12288,
}
namespace ExtendedProtection
@@ -580,11 +580,11 @@ namespace System
}
// Generated from `System.Security.Authentication.ExtendedProtection.ChannelBindingKind` in `System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ChannelBindingKind
+ public enum ChannelBindingKind : int
{
- Endpoint,
- Unique,
- Unknown,
+ Endpoint = 26,
+ Unique = 25,
+ Unknown = 0,
}
}
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Requests.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Requests.cs
index 5b917ef6feb..8d80ebcfaee 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Requests.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Requests.cs
@@ -74,45 +74,45 @@ namespace System
}
// Generated from `System.Net.FtpStatusCode` in `System.Net.Requests, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum FtpStatusCode
+ public enum FtpStatusCode : int
{
- AccountNeeded,
- ActionAbortedLocalProcessingError,
- ActionAbortedUnknownPageType,
- ActionNotTakenFileUnavailable,
- ActionNotTakenFileUnavailableOrBusy,
- ActionNotTakenFilenameNotAllowed,
- ActionNotTakenInsufficientSpace,
- ArgumentSyntaxError,
- BadCommandSequence,
- CantOpenData,
- ClosingControl,
- ClosingData,
- CommandExtraneous,
- CommandNotImplemented,
- CommandOK,
- CommandSyntaxError,
- ConnectionClosed,
- DataAlreadyOpen,
- DirectoryStatus,
- EnteringPassive,
- FileActionAborted,
- FileActionOK,
- FileCommandPending,
- FileStatus,
- LoggedInProceed,
- NeedLoginAccount,
- NotLoggedIn,
- OpeningData,
- PathnameCreated,
- RestartMarker,
- SendPasswordCommand,
- SendUserCommand,
- ServerWantsSecureSession,
- ServiceNotAvailable,
- ServiceTemporarilyNotAvailable,
- SystemType,
- Undefined,
+ AccountNeeded = 532,
+ ActionAbortedLocalProcessingError = 451,
+ ActionAbortedUnknownPageType = 551,
+ ActionNotTakenFileUnavailable = 550,
+ ActionNotTakenFileUnavailableOrBusy = 450,
+ ActionNotTakenFilenameNotAllowed = 553,
+ ActionNotTakenInsufficientSpace = 452,
+ ArgumentSyntaxError = 501,
+ BadCommandSequence = 503,
+ CantOpenData = 425,
+ ClosingControl = 221,
+ ClosingData = 226,
+ CommandExtraneous = 202,
+ CommandNotImplemented = 502,
+ CommandOK = 200,
+ CommandSyntaxError = 500,
+ ConnectionClosed = 426,
+ DataAlreadyOpen = 125,
+ DirectoryStatus = 212,
+ EnteringPassive = 227,
+ FileActionAborted = 552,
+ FileActionOK = 250,
+ FileCommandPending = 350,
+ FileStatus = 213,
+ LoggedInProceed = 230,
+ NeedLoginAccount = 332,
+ NotLoggedIn = 530,
+ OpeningData = 150,
+ PathnameCreated = 257,
+ RestartMarker = 110,
+ SendPasswordCommand = 331,
+ SendUserCommand = 220,
+ ServerWantsSecureSession = 234,
+ ServiceNotAvailable = 421,
+ ServiceTemporarilyNotAvailable = 120,
+ SystemType = 215,
+ Undefined = 0,
}
// Generated from `System.Net.FtpWebRequest` in `System.Net.Requests, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -321,29 +321,29 @@ namespace System
}
// Generated from `System.Net.WebExceptionStatus` in `System.Net.Requests, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum WebExceptionStatus
+ public enum WebExceptionStatus : int
{
- CacheEntryNotFound,
- ConnectFailure,
- ConnectionClosed,
- KeepAliveFailure,
- MessageLengthLimitExceeded,
- NameResolutionFailure,
- Pending,
- PipelineFailure,
- ProtocolError,
- ProxyNameResolutionFailure,
- ReceiveFailure,
- RequestCanceled,
- RequestProhibitedByCachePolicy,
- RequestProhibitedByProxy,
- SecureChannelFailure,
- SendFailure,
- ServerProtocolViolation,
- Success,
- Timeout,
- TrustFailure,
- UnknownError,
+ CacheEntryNotFound = 18,
+ ConnectFailure = 2,
+ ConnectionClosed = 8,
+ KeepAliveFailure = 12,
+ MessageLengthLimitExceeded = 17,
+ NameResolutionFailure = 1,
+ Pending = 13,
+ PipelineFailure = 5,
+ ProtocolError = 7,
+ ProxyNameResolutionFailure = 15,
+ ReceiveFailure = 3,
+ RequestCanceled = 6,
+ RequestProhibitedByCachePolicy = 19,
+ RequestProhibitedByProxy = 20,
+ SecureChannelFailure = 10,
+ SendFailure = 4,
+ ServerProtocolViolation = 11,
+ Success = 0,
+ Timeout = 14,
+ TrustFailure = 9,
+ UnknownError = 16,
}
// Generated from `System.Net.WebRequest` in `System.Net.Requests, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -454,28 +454,28 @@ namespace System
namespace Cache
{
// Generated from `System.Net.Cache.HttpCacheAgeControl` in `System.Net.Requests, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum HttpCacheAgeControl
+ public enum HttpCacheAgeControl : int
{
- MaxAge,
- MaxAgeAndMaxStale,
- MaxAgeAndMinFresh,
- MaxStale,
- MinFresh,
- None,
+ MaxAge = 2,
+ MaxAgeAndMaxStale = 6,
+ MaxAgeAndMinFresh = 3,
+ MaxStale = 4,
+ MinFresh = 1,
+ None = 0,
}
// Generated from `System.Net.Cache.HttpRequestCacheLevel` in `System.Net.Requests, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum HttpRequestCacheLevel
+ public enum HttpRequestCacheLevel : int
{
- BypassCache,
- CacheIfAvailable,
- CacheOnly,
- CacheOrNextCacheOnly,
- Default,
- NoCacheNoStore,
- Refresh,
- Reload,
- Revalidate,
+ BypassCache = 1,
+ CacheIfAvailable = 3,
+ CacheOnly = 2,
+ CacheOrNextCacheOnly = 7,
+ Default = 0,
+ NoCacheNoStore = 6,
+ Refresh = 8,
+ Reload = 5,
+ Revalidate = 4,
}
// Generated from `System.Net.Cache.HttpRequestCachePolicy` in `System.Net.Requests, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Security.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Security.cs
index 498a281c15d..11af687997c 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Security.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Security.cs
@@ -29,11 +29,11 @@ namespace System
}
// Generated from `System.Net.Security.EncryptionPolicy` in `System.Net.Security, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum EncryptionPolicy
+ public enum EncryptionPolicy : int
{
- AllowNoEncryption,
- NoEncryption,
- RequireEncryption,
+ AllowNoEncryption = 1,
+ NoEncryption = 2,
+ RequireEncryption = 0,
}
// Generated from `System.Net.Security.LocalCertificateSelectionCallback` in `System.Net.Security, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -107,11 +107,11 @@ namespace System
}
// Generated from `System.Net.Security.ProtectionLevel` in `System.Net.Security, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ProtectionLevel
+ public enum ProtectionLevel : int
{
- EncryptAndSign,
- None,
- Sign,
+ EncryptAndSign = 2,
+ None = 0,
+ Sign = 1,
}
// Generated from `System.Net.Security.RemoteCertificateValidationCallback` in `System.Net.Security, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -280,345 +280,345 @@ namespace System
}
// Generated from `System.Net.Security.TlsCipherSuite` in `System.Net.Security, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum TlsCipherSuite
+ public enum TlsCipherSuite : ushort
{
- TLS_AES_128_CCM_8_SHA256,
- TLS_AES_128_CCM_SHA256,
- TLS_AES_128_GCM_SHA256,
- TLS_AES_256_GCM_SHA384,
- TLS_CHACHA20_POLY1305_SHA256,
- TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
- TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,
- TLS_DHE_DSS_WITH_AES_128_CBC_SHA,
- TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,
- TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,
- TLS_DHE_DSS_WITH_AES_256_CBC_SHA,
- TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,
- TLS_DHE_DSS_WITH_AES_256_GCM_SHA384,
- TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256,
- TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256,
- TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384,
- TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384,
- TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA,
- TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256,
- TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256,
- TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA,
- TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256,
- TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384,
- TLS_DHE_DSS_WITH_DES_CBC_SHA,
- TLS_DHE_DSS_WITH_SEED_CBC_SHA,
- TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA,
- TLS_DHE_PSK_WITH_AES_128_CBC_SHA,
- TLS_DHE_PSK_WITH_AES_128_CBC_SHA256,
- TLS_DHE_PSK_WITH_AES_128_CCM,
- TLS_DHE_PSK_WITH_AES_128_GCM_SHA256,
- TLS_DHE_PSK_WITH_AES_256_CBC_SHA,
- TLS_DHE_PSK_WITH_AES_256_CBC_SHA384,
- TLS_DHE_PSK_WITH_AES_256_CCM,
- TLS_DHE_PSK_WITH_AES_256_GCM_SHA384,
- TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256,
- TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256,
- TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384,
- TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384,
- TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
- TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256,
- TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
- TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384,
- TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256,
- TLS_DHE_PSK_WITH_NULL_SHA,
- TLS_DHE_PSK_WITH_NULL_SHA256,
- TLS_DHE_PSK_WITH_NULL_SHA384,
- TLS_DHE_PSK_WITH_RC4_128_SHA,
- TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
- TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,
- TLS_DHE_RSA_WITH_AES_128_CCM,
- TLS_DHE_RSA_WITH_AES_128_CCM_8,
- TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,
- TLS_DHE_RSA_WITH_AES_256_CCM,
- TLS_DHE_RSA_WITH_AES_256_CCM_8,
- TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,
- TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256,
- TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256,
- TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384,
- TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384,
- TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA,
- TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
- TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256,
- TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,
- TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256,
- TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384,
- TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
- TLS_DHE_RSA_WITH_DES_CBC_SHA,
- TLS_DHE_RSA_WITH_SEED_CBC_SHA,
- TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA,
- TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA,
- TLS_DH_DSS_WITH_AES_128_CBC_SHA,
- TLS_DH_DSS_WITH_AES_128_CBC_SHA256,
- TLS_DH_DSS_WITH_AES_128_GCM_SHA256,
- TLS_DH_DSS_WITH_AES_256_CBC_SHA,
- TLS_DH_DSS_WITH_AES_256_CBC_SHA256,
- TLS_DH_DSS_WITH_AES_256_GCM_SHA384,
- TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256,
- TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256,
- TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384,
- TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384,
- TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA,
- TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256,
- TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256,
- TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA,
- TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256,
- TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384,
- TLS_DH_DSS_WITH_DES_CBC_SHA,
- TLS_DH_DSS_WITH_SEED_CBC_SHA,
- TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA,
- TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA,
- TLS_DH_RSA_WITH_AES_128_CBC_SHA,
- TLS_DH_RSA_WITH_AES_128_CBC_SHA256,
- TLS_DH_RSA_WITH_AES_128_GCM_SHA256,
- TLS_DH_RSA_WITH_AES_256_CBC_SHA,
- TLS_DH_RSA_WITH_AES_256_CBC_SHA256,
- TLS_DH_RSA_WITH_AES_256_GCM_SHA384,
- TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256,
- TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256,
- TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384,
- TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384,
- TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA,
- TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256,
- TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256,
- TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA,
- TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256,
- TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384,
- TLS_DH_RSA_WITH_DES_CBC_SHA,
- TLS_DH_RSA_WITH_SEED_CBC_SHA,
- TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
- TLS_DH_anon_EXPORT_WITH_RC4_40_MD5,
- TLS_DH_anon_WITH_3DES_EDE_CBC_SHA,
- TLS_DH_anon_WITH_AES_128_CBC_SHA,
- TLS_DH_anon_WITH_AES_128_CBC_SHA256,
- TLS_DH_anon_WITH_AES_128_GCM_SHA256,
- TLS_DH_anon_WITH_AES_256_CBC_SHA,
- TLS_DH_anon_WITH_AES_256_CBC_SHA256,
- TLS_DH_anon_WITH_AES_256_GCM_SHA384,
- TLS_DH_anon_WITH_ARIA_128_CBC_SHA256,
- TLS_DH_anon_WITH_ARIA_128_GCM_SHA256,
- TLS_DH_anon_WITH_ARIA_256_CBC_SHA384,
- TLS_DH_anon_WITH_ARIA_256_GCM_SHA384,
- TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA,
- TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256,
- TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256,
- TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA,
- TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256,
- TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384,
- TLS_DH_anon_WITH_DES_CBC_SHA,
- TLS_DH_anon_WITH_RC4_128_MD5,
- TLS_DH_anon_WITH_SEED_CBC_SHA,
- TLS_ECCPWD_WITH_AES_128_CCM_SHA256,
- TLS_ECCPWD_WITH_AES_128_GCM_SHA256,
- TLS_ECCPWD_WITH_AES_256_CCM_SHA384,
- TLS_ECCPWD_WITH_AES_256_GCM_SHA384,
- TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
- TLS_ECDHE_ECDSA_WITH_AES_128_CCM,
- TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8,
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,
- TLS_ECDHE_ECDSA_WITH_AES_256_CCM,
- TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8,
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
- TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256,
- TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256,
- TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384,
- TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384,
- TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
- TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
- TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
- TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
- TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
- TLS_ECDHE_ECDSA_WITH_NULL_SHA,
- TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,
- TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA,
- TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA,
- TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256,
- TLS_ECDHE_PSK_WITH_AES_128_CCM_8_SHA256,
- TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256,
- TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256,
- TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA,
- TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384,
- TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384,
- TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256,
- TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384,
- TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
- TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
- TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256,
- TLS_ECDHE_PSK_WITH_NULL_SHA,
- TLS_ECDHE_PSK_WITH_NULL_SHA256,
- TLS_ECDHE_PSK_WITH_NULL_SHA384,
- TLS_ECDHE_PSK_WITH_RC4_128_SHA,
- TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
- TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256,
- TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256,
- TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384,
- TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384,
- TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
- TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256,
- TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,
- TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384,
- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
- TLS_ECDHE_RSA_WITH_NULL_SHA,
- TLS_ECDHE_RSA_WITH_RC4_128_SHA,
- TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,
- TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,
- TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,
- TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,
- TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,
- TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,
- TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,
- TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256,
- TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256,
- TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384,
- TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384,
- TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
- TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
- TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
- TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
- TLS_ECDH_ECDSA_WITH_NULL_SHA,
- TLS_ECDH_ECDSA_WITH_RC4_128_SHA,
- TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,
- TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,
- TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,
- TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,
- TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,
- TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384,
- TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,
- TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256,
- TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256,
- TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384,
- TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384,
- TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256,
- TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256,
- TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384,
- TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384,
- TLS_ECDH_RSA_WITH_NULL_SHA,
- TLS_ECDH_RSA_WITH_RC4_128_SHA,
- TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA,
- TLS_ECDH_anon_WITH_AES_128_CBC_SHA,
- TLS_ECDH_anon_WITH_AES_256_CBC_SHA,
- TLS_ECDH_anon_WITH_NULL_SHA,
- TLS_ECDH_anon_WITH_RC4_128_SHA,
- TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5,
- TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
- TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5,
- TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA,
- TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
- TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
- TLS_KRB5_WITH_3DES_EDE_CBC_MD5,
- TLS_KRB5_WITH_3DES_EDE_CBC_SHA,
- TLS_KRB5_WITH_DES_CBC_MD5,
- TLS_KRB5_WITH_DES_CBC_SHA,
- TLS_KRB5_WITH_IDEA_CBC_MD5,
- TLS_KRB5_WITH_IDEA_CBC_SHA,
- TLS_KRB5_WITH_RC4_128_MD5,
- TLS_KRB5_WITH_RC4_128_SHA,
- TLS_NULL_WITH_NULL_NULL,
- TLS_PSK_DHE_WITH_AES_128_CCM_8,
- TLS_PSK_DHE_WITH_AES_256_CCM_8,
- TLS_PSK_WITH_3DES_EDE_CBC_SHA,
- TLS_PSK_WITH_AES_128_CBC_SHA,
- TLS_PSK_WITH_AES_128_CBC_SHA256,
- TLS_PSK_WITH_AES_128_CCM,
- TLS_PSK_WITH_AES_128_CCM_8,
- TLS_PSK_WITH_AES_128_GCM_SHA256,
- TLS_PSK_WITH_AES_256_CBC_SHA,
- TLS_PSK_WITH_AES_256_CBC_SHA384,
- TLS_PSK_WITH_AES_256_CCM,
- TLS_PSK_WITH_AES_256_CCM_8,
- TLS_PSK_WITH_AES_256_GCM_SHA384,
- TLS_PSK_WITH_ARIA_128_CBC_SHA256,
- TLS_PSK_WITH_ARIA_128_GCM_SHA256,
- TLS_PSK_WITH_ARIA_256_CBC_SHA384,
- TLS_PSK_WITH_ARIA_256_GCM_SHA384,
- TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256,
- TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256,
- TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384,
- TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384,
- TLS_PSK_WITH_CHACHA20_POLY1305_SHA256,
- TLS_PSK_WITH_NULL_SHA,
- TLS_PSK_WITH_NULL_SHA256,
- TLS_PSK_WITH_NULL_SHA384,
- TLS_PSK_WITH_RC4_128_SHA,
- TLS_RSA_EXPORT_WITH_DES40_CBC_SHA,
- TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5,
- TLS_RSA_EXPORT_WITH_RC4_40_MD5,
- TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA,
- TLS_RSA_PSK_WITH_AES_128_CBC_SHA,
- TLS_RSA_PSK_WITH_AES_128_CBC_SHA256,
- TLS_RSA_PSK_WITH_AES_128_GCM_SHA256,
- TLS_RSA_PSK_WITH_AES_256_CBC_SHA,
- TLS_RSA_PSK_WITH_AES_256_CBC_SHA384,
- TLS_RSA_PSK_WITH_AES_256_GCM_SHA384,
- TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256,
- TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256,
- TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384,
- TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384,
- TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256,
- TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256,
- TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384,
- TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384,
- TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256,
- TLS_RSA_PSK_WITH_NULL_SHA,
- TLS_RSA_PSK_WITH_NULL_SHA256,
- TLS_RSA_PSK_WITH_NULL_SHA384,
- TLS_RSA_PSK_WITH_RC4_128_SHA,
- TLS_RSA_WITH_3DES_EDE_CBC_SHA,
- TLS_RSA_WITH_AES_128_CBC_SHA,
- TLS_RSA_WITH_AES_128_CBC_SHA256,
- TLS_RSA_WITH_AES_128_CCM,
- TLS_RSA_WITH_AES_128_CCM_8,
- TLS_RSA_WITH_AES_128_GCM_SHA256,
- TLS_RSA_WITH_AES_256_CBC_SHA,
- TLS_RSA_WITH_AES_256_CBC_SHA256,
- TLS_RSA_WITH_AES_256_CCM,
- TLS_RSA_WITH_AES_256_CCM_8,
- TLS_RSA_WITH_AES_256_GCM_SHA384,
- TLS_RSA_WITH_ARIA_128_CBC_SHA256,
- TLS_RSA_WITH_ARIA_128_GCM_SHA256,
- TLS_RSA_WITH_ARIA_256_CBC_SHA384,
- TLS_RSA_WITH_ARIA_256_GCM_SHA384,
- TLS_RSA_WITH_CAMELLIA_128_CBC_SHA,
- TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256,
- TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256,
- TLS_RSA_WITH_CAMELLIA_256_CBC_SHA,
- TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256,
- TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384,
- TLS_RSA_WITH_DES_CBC_SHA,
- TLS_RSA_WITH_IDEA_CBC_SHA,
- TLS_RSA_WITH_NULL_MD5,
- TLS_RSA_WITH_NULL_SHA,
- TLS_RSA_WITH_NULL_SHA256,
- TLS_RSA_WITH_RC4_128_MD5,
- TLS_RSA_WITH_RC4_128_SHA,
- TLS_RSA_WITH_SEED_CBC_SHA,
- TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA,
- TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA,
- TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA,
- TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA,
- TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA,
- TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA,
- TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA,
- TLS_SRP_SHA_WITH_AES_128_CBC_SHA,
- TLS_SRP_SHA_WITH_AES_256_CBC_SHA,
+ TLS_AES_128_CCM_8_SHA256 = 4869,
+ TLS_AES_128_CCM_SHA256 = 4868,
+ TLS_AES_128_GCM_SHA256 = 4865,
+ TLS_AES_256_GCM_SHA384 = 4866,
+ TLS_CHACHA20_POLY1305_SHA256 = 4867,
+ TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA = 17,
+ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 19,
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 50,
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 64,
+ TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 = 162,
+ TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 56,
+ TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 106,
+ TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 = 163,
+ TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256 = 49218,
+ TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256 = 49238,
+ TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384 = 49219,
+ TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384 = 49239,
+ TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA = 68,
+ TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 = 189,
+ TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256 = 49280,
+ TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA = 135,
+ TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 = 195,
+ TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384 = 49281,
+ TLS_DHE_DSS_WITH_DES_CBC_SHA = 18,
+ TLS_DHE_DSS_WITH_SEED_CBC_SHA = 153,
+ TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA = 143,
+ TLS_DHE_PSK_WITH_AES_128_CBC_SHA = 144,
+ TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 = 178,
+ TLS_DHE_PSK_WITH_AES_128_CCM = 49318,
+ TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = 170,
+ TLS_DHE_PSK_WITH_AES_256_CBC_SHA = 145,
+ TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 = 179,
+ TLS_DHE_PSK_WITH_AES_256_CCM = 49319,
+ TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = 171,
+ TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256 = 49254,
+ TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 = 49260,
+ TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384 = 49255,
+ TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 = 49261,
+ TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 49302,
+ TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 = 49296,
+ TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 49303,
+ TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 = 49297,
+ TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52397,
+ TLS_DHE_PSK_WITH_NULL_SHA = 45,
+ TLS_DHE_PSK_WITH_NULL_SHA256 = 180,
+ TLS_DHE_PSK_WITH_NULL_SHA384 = 181,
+ TLS_DHE_PSK_WITH_RC4_128_SHA = 142,
+ TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA = 20,
+ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 22,
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 51,
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 103,
+ TLS_DHE_RSA_WITH_AES_128_CCM = 49310,
+ TLS_DHE_RSA_WITH_AES_128_CCM_8 = 49314,
+ TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 158,
+ TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 57,
+ TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 107,
+ TLS_DHE_RSA_WITH_AES_256_CCM = 49311,
+ TLS_DHE_RSA_WITH_AES_256_CCM_8 = 49315,
+ TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 159,
+ TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 = 49220,
+ TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 = 49234,
+ TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 = 49221,
+ TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 = 49235,
+ TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA = 69,
+ TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 190,
+ TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49276,
+ TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA = 136,
+ TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 = 196,
+ TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49277,
+ TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52394,
+ TLS_DHE_RSA_WITH_DES_CBC_SHA = 21,
+ TLS_DHE_RSA_WITH_SEED_CBC_SHA = 154,
+ TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA = 11,
+ TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = 13,
+ TLS_DH_DSS_WITH_AES_128_CBC_SHA = 48,
+ TLS_DH_DSS_WITH_AES_128_CBC_SHA256 = 62,
+ TLS_DH_DSS_WITH_AES_128_GCM_SHA256 = 164,
+ TLS_DH_DSS_WITH_AES_256_CBC_SHA = 54,
+ TLS_DH_DSS_WITH_AES_256_CBC_SHA256 = 104,
+ TLS_DH_DSS_WITH_AES_256_GCM_SHA384 = 165,
+ TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256 = 49214,
+ TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256 = 49240,
+ TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384 = 49215,
+ TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384 = 49241,
+ TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA = 66,
+ TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 = 187,
+ TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256 = 49282,
+ TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA = 133,
+ TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 = 193,
+ TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384 = 49283,
+ TLS_DH_DSS_WITH_DES_CBC_SHA = 12,
+ TLS_DH_DSS_WITH_SEED_CBC_SHA = 151,
+ TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA = 14,
+ TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = 16,
+ TLS_DH_RSA_WITH_AES_128_CBC_SHA = 49,
+ TLS_DH_RSA_WITH_AES_128_CBC_SHA256 = 63,
+ TLS_DH_RSA_WITH_AES_128_GCM_SHA256 = 160,
+ TLS_DH_RSA_WITH_AES_256_CBC_SHA = 55,
+ TLS_DH_RSA_WITH_AES_256_CBC_SHA256 = 105,
+ TLS_DH_RSA_WITH_AES_256_GCM_SHA384 = 161,
+ TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256 = 49216,
+ TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256 = 49236,
+ TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384 = 49217,
+ TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384 = 49237,
+ TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA = 67,
+ TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 188,
+ TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49278,
+ TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA = 134,
+ TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 = 194,
+ TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49279,
+ TLS_DH_RSA_WITH_DES_CBC_SHA = 15,
+ TLS_DH_RSA_WITH_SEED_CBC_SHA = 152,
+ TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA = 25,
+ TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 = 23,
+ TLS_DH_anon_WITH_3DES_EDE_CBC_SHA = 27,
+ TLS_DH_anon_WITH_AES_128_CBC_SHA = 52,
+ TLS_DH_anon_WITH_AES_128_CBC_SHA256 = 108,
+ TLS_DH_anon_WITH_AES_128_GCM_SHA256 = 166,
+ TLS_DH_anon_WITH_AES_256_CBC_SHA = 58,
+ TLS_DH_anon_WITH_AES_256_CBC_SHA256 = 109,
+ TLS_DH_anon_WITH_AES_256_GCM_SHA384 = 167,
+ TLS_DH_anon_WITH_ARIA_128_CBC_SHA256 = 49222,
+ TLS_DH_anon_WITH_ARIA_128_GCM_SHA256 = 49242,
+ TLS_DH_anon_WITH_ARIA_256_CBC_SHA384 = 49223,
+ TLS_DH_anon_WITH_ARIA_256_GCM_SHA384 = 49243,
+ TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA = 70,
+ TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 = 191,
+ TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256 = 49284,
+ TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA = 137,
+ TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 = 197,
+ TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384 = 49285,
+ TLS_DH_anon_WITH_DES_CBC_SHA = 26,
+ TLS_DH_anon_WITH_RC4_128_MD5 = 24,
+ TLS_DH_anon_WITH_SEED_CBC_SHA = 155,
+ TLS_ECCPWD_WITH_AES_128_CCM_SHA256 = 49330,
+ TLS_ECCPWD_WITH_AES_128_GCM_SHA256 = 49328,
+ TLS_ECCPWD_WITH_AES_256_CCM_SHA384 = 49331,
+ TLS_ECCPWD_WITH_AES_256_GCM_SHA384 = 49329,
+ TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA = 49160,
+ TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA = 49161,
+ TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 = 49187,
+ TLS_ECDHE_ECDSA_WITH_AES_128_CCM = 49324,
+ TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 = 49326,
+ TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 49195,
+ TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA = 49162,
+ TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 = 49188,
+ TLS_ECDHE_ECDSA_WITH_AES_256_CCM = 49325,
+ TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 = 49327,
+ TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 49196,
+ TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 = 49224,
+ TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 = 49244,
+ TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 = 49225,
+ TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 = 49245,
+ TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 = 49266,
+ TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 = 49286,
+ TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 = 49267,
+ TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 = 49287,
+ TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = 52393,
+ TLS_ECDHE_ECDSA_WITH_NULL_SHA = 49158,
+ TLS_ECDHE_ECDSA_WITH_RC4_128_SHA = 49159,
+ TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA = 49204,
+ TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA = 49205,
+ TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 = 49207,
+ TLS_ECDHE_PSK_WITH_AES_128_CCM_8_SHA256 = 53251,
+ TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256 = 53253,
+ TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256 = 53249,
+ TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA = 49206,
+ TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 = 49208,
+ TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384 = 53250,
+ TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256 = 49264,
+ TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384 = 49265,
+ TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 49306,
+ TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 49307,
+ TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52396,
+ TLS_ECDHE_PSK_WITH_NULL_SHA = 49209,
+ TLS_ECDHE_PSK_WITH_NULL_SHA256 = 49210,
+ TLS_ECDHE_PSK_WITH_NULL_SHA384 = 49211,
+ TLS_ECDHE_PSK_WITH_RC4_128_SHA = 49203,
+ TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA = 49170,
+ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA = 49171,
+ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 = 49191,
+ TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 49199,
+ TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA = 49172,
+ TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 = 49192,
+ TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 49200,
+ TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 = 49228,
+ TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 = 49248,
+ TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 = 49229,
+ TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 = 49249,
+ TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 49270,
+ TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49290,
+ TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 = 49271,
+ TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49291,
+ TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52392,
+ TLS_ECDHE_RSA_WITH_NULL_SHA = 49168,
+ TLS_ECDHE_RSA_WITH_RC4_128_SHA = 49169,
+ TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA = 49155,
+ TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA = 49156,
+ TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 = 49189,
+ TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 = 49197,
+ TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA = 49157,
+ TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 = 49190,
+ TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 = 49198,
+ TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 = 49226,
+ TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 = 49246,
+ TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 = 49227,
+ TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 = 49247,
+ TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 = 49268,
+ TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 = 49288,
+ TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 = 49269,
+ TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 = 49289,
+ TLS_ECDH_ECDSA_WITH_NULL_SHA = 49153,
+ TLS_ECDH_ECDSA_WITH_RC4_128_SHA = 49154,
+ TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA = 49165,
+ TLS_ECDH_RSA_WITH_AES_128_CBC_SHA = 49166,
+ TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 = 49193,
+ TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 = 49201,
+ TLS_ECDH_RSA_WITH_AES_256_CBC_SHA = 49167,
+ TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 = 49194,
+ TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 = 49202,
+ TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 = 49230,
+ TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 = 49250,
+ TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 = 49231,
+ TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 = 49251,
+ TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 49272,
+ TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49292,
+ TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 = 49273,
+ TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49293,
+ TLS_ECDH_RSA_WITH_NULL_SHA = 49163,
+ TLS_ECDH_RSA_WITH_RC4_128_SHA = 49164,
+ TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA = 49175,
+ TLS_ECDH_anon_WITH_AES_128_CBC_SHA = 49176,
+ TLS_ECDH_anon_WITH_AES_256_CBC_SHA = 49177,
+ TLS_ECDH_anon_WITH_NULL_SHA = 49173,
+ TLS_ECDH_anon_WITH_RC4_128_SHA = 49174,
+ TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5 = 41,
+ TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA = 38,
+ TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5 = 42,
+ TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA = 39,
+ TLS_KRB5_EXPORT_WITH_RC4_40_MD5 = 43,
+ TLS_KRB5_EXPORT_WITH_RC4_40_SHA = 40,
+ TLS_KRB5_WITH_3DES_EDE_CBC_MD5 = 35,
+ TLS_KRB5_WITH_3DES_EDE_CBC_SHA = 31,
+ TLS_KRB5_WITH_DES_CBC_MD5 = 34,
+ TLS_KRB5_WITH_DES_CBC_SHA = 30,
+ TLS_KRB5_WITH_IDEA_CBC_MD5 = 37,
+ TLS_KRB5_WITH_IDEA_CBC_SHA = 33,
+ TLS_KRB5_WITH_RC4_128_MD5 = 36,
+ TLS_KRB5_WITH_RC4_128_SHA = 32,
+ TLS_NULL_WITH_NULL_NULL = 0,
+ TLS_PSK_DHE_WITH_AES_128_CCM_8 = 49322,
+ TLS_PSK_DHE_WITH_AES_256_CCM_8 = 49323,
+ TLS_PSK_WITH_3DES_EDE_CBC_SHA = 139,
+ TLS_PSK_WITH_AES_128_CBC_SHA = 140,
+ TLS_PSK_WITH_AES_128_CBC_SHA256 = 174,
+ TLS_PSK_WITH_AES_128_CCM = 49316,
+ TLS_PSK_WITH_AES_128_CCM_8 = 49320,
+ TLS_PSK_WITH_AES_128_GCM_SHA256 = 168,
+ TLS_PSK_WITH_AES_256_CBC_SHA = 141,
+ TLS_PSK_WITH_AES_256_CBC_SHA384 = 175,
+ TLS_PSK_WITH_AES_256_CCM = 49317,
+ TLS_PSK_WITH_AES_256_CCM_8 = 49321,
+ TLS_PSK_WITH_AES_256_GCM_SHA384 = 169,
+ TLS_PSK_WITH_ARIA_128_CBC_SHA256 = 49252,
+ TLS_PSK_WITH_ARIA_128_GCM_SHA256 = 49258,
+ TLS_PSK_WITH_ARIA_256_CBC_SHA384 = 49253,
+ TLS_PSK_WITH_ARIA_256_GCM_SHA384 = 49259,
+ TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 49300,
+ TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 = 49294,
+ TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 49301,
+ TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 = 49295,
+ TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52395,
+ TLS_PSK_WITH_NULL_SHA = 44,
+ TLS_PSK_WITH_NULL_SHA256 = 176,
+ TLS_PSK_WITH_NULL_SHA384 = 177,
+ TLS_PSK_WITH_RC4_128_SHA = 138,
+ TLS_RSA_EXPORT_WITH_DES40_CBC_SHA = 8,
+ TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 = 6,
+ TLS_RSA_EXPORT_WITH_RC4_40_MD5 = 3,
+ TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA = 147,
+ TLS_RSA_PSK_WITH_AES_128_CBC_SHA = 148,
+ TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 = 182,
+ TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 = 172,
+ TLS_RSA_PSK_WITH_AES_256_CBC_SHA = 149,
+ TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 = 183,
+ TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 = 173,
+ TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256 = 49256,
+ TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 = 49262,
+ TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384 = 49257,
+ TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 = 49263,
+ TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 49304,
+ TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 = 49298,
+ TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 49305,
+ TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 = 49299,
+ TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52398,
+ TLS_RSA_PSK_WITH_NULL_SHA = 46,
+ TLS_RSA_PSK_WITH_NULL_SHA256 = 184,
+ TLS_RSA_PSK_WITH_NULL_SHA384 = 185,
+ TLS_RSA_PSK_WITH_RC4_128_SHA = 146,
+ TLS_RSA_WITH_3DES_EDE_CBC_SHA = 10,
+ TLS_RSA_WITH_AES_128_CBC_SHA = 47,
+ TLS_RSA_WITH_AES_128_CBC_SHA256 = 60,
+ TLS_RSA_WITH_AES_128_CCM = 49308,
+ TLS_RSA_WITH_AES_128_CCM_8 = 49312,
+ TLS_RSA_WITH_AES_128_GCM_SHA256 = 156,
+ TLS_RSA_WITH_AES_256_CBC_SHA = 53,
+ TLS_RSA_WITH_AES_256_CBC_SHA256 = 61,
+ TLS_RSA_WITH_AES_256_CCM = 49309,
+ TLS_RSA_WITH_AES_256_CCM_8 = 49313,
+ TLS_RSA_WITH_AES_256_GCM_SHA384 = 157,
+ TLS_RSA_WITH_ARIA_128_CBC_SHA256 = 49212,
+ TLS_RSA_WITH_ARIA_128_GCM_SHA256 = 49232,
+ TLS_RSA_WITH_ARIA_256_CBC_SHA384 = 49213,
+ TLS_RSA_WITH_ARIA_256_GCM_SHA384 = 49233,
+ TLS_RSA_WITH_CAMELLIA_128_CBC_SHA = 65,
+ TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 186,
+ TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49274,
+ TLS_RSA_WITH_CAMELLIA_256_CBC_SHA = 132,
+ TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 = 192,
+ TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49275,
+ TLS_RSA_WITH_DES_CBC_SHA = 9,
+ TLS_RSA_WITH_IDEA_CBC_SHA = 7,
+ TLS_RSA_WITH_NULL_MD5 = 1,
+ TLS_RSA_WITH_NULL_SHA = 2,
+ TLS_RSA_WITH_NULL_SHA256 = 59,
+ TLS_RSA_WITH_RC4_128_MD5 = 4,
+ TLS_RSA_WITH_RC4_128_SHA = 5,
+ TLS_RSA_WITH_SEED_CBC_SHA = 150,
+ TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA = 49180,
+ TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA = 49183,
+ TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA = 49186,
+ TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA = 49179,
+ TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA = 49182,
+ TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA = 49185,
+ TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA = 49178,
+ TLS_SRP_SHA_WITH_AES_128_CBC_SHA = 49181,
+ TLS_SRP_SHA_WITH_AES_256_CBC_SHA = 49184,
}
}
@@ -665,18 +665,18 @@ namespace System
}
// Generated from `System.Security.Authentication.ExtendedProtection.PolicyEnforcement` in `System.Net.Security, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum PolicyEnforcement
+ public enum PolicyEnforcement : int
{
- Always,
- Never,
- WhenSupported,
+ Always = 2,
+ Never = 0,
+ WhenSupported = 1,
}
// Generated from `System.Security.Authentication.ExtendedProtection.ProtectionScenario` in `System.Net.Security, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ProtectionScenario
+ public enum ProtectionScenario : int
{
- TransportSelected,
- TrustedProxy,
+ TransportSelected = 0,
+ TrustedProxy = 1,
}
// Generated from `System.Security.Authentication.ExtendedProtection.ServiceNameCollection` in `System.Net.Security, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.ServicePoint.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.ServicePoint.cs
index b66863dcaff..68edda2ada3 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.ServicePoint.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.ServicePoint.cs
@@ -9,14 +9,14 @@ namespace System
// Generated from `System.Net.SecurityProtocolType` in `System.Net.ServicePoint, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
[System.Flags]
- public enum SecurityProtocolType
+ public enum SecurityProtocolType : int
{
- Ssl3,
- SystemDefault,
- Tls,
- Tls11,
- Tls12,
- Tls13,
+ Ssl3 = 48,
+ SystemDefault = 0,
+ Tls = 192,
+ Tls11 = 768,
+ Tls12 = 3072,
+ Tls13 = 12288,
}
// Generated from `System.Net.ServicePoint` in `System.Net.ServicePoint, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Sockets.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Sockets.cs
index 4c363796b15..21bd2e0b278 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Sockets.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.Sockets.cs
@@ -7,42 +7,42 @@ namespace System
namespace Sockets
{
// Generated from `System.Net.Sockets.IOControlCode` in `System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum IOControlCode
+ public enum IOControlCode : long
{
- AbsorbRouterAlert,
- AddMulticastGroupOnInterface,
- AddressListChange,
- AddressListQuery,
- AddressListSort,
- AssociateHandle,
- AsyncIO,
- BindToInterface,
- DataToRead,
- DeleteMulticastGroupFromInterface,
- EnableCircularQueuing,
- Flush,
- GetBroadcastAddress,
- GetExtensionFunctionPointer,
- GetGroupQos,
- GetQos,
- KeepAliveValues,
- LimitBroadcasts,
- MulticastInterface,
- MulticastScope,
- MultipointLoopback,
- NamespaceChange,
- NonBlockingIO,
- OobDataRead,
- QueryTargetPnpHandle,
- ReceiveAll,
- ReceiveAllIgmpMulticast,
- ReceiveAllMulticast,
- RoutingInterfaceChange,
- RoutingInterfaceQuery,
- SetGroupQos,
- SetQos,
- TranslateHandle,
- UnicastInterface,
+ AbsorbRouterAlert = 2550136837,
+ AddMulticastGroupOnInterface = 2550136842,
+ AddressListChange = 671088663,
+ AddressListQuery = 1207959574,
+ AddressListSort = 3355443225,
+ AssociateHandle = 2281701377,
+ AsyncIO = 2147772029,
+ BindToInterface = 2550136840,
+ DataToRead = 1074030207,
+ DeleteMulticastGroupFromInterface = 2550136843,
+ EnableCircularQueuing = 671088642,
+ Flush = 671088644,
+ GetBroadcastAddress = 1207959557,
+ GetExtensionFunctionPointer = 3355443206,
+ GetGroupQos = 3355443208,
+ GetQos = 3355443207,
+ KeepAliveValues = 2550136836,
+ LimitBroadcasts = 2550136839,
+ MulticastInterface = 2550136841,
+ MulticastScope = 2281701386,
+ MultipointLoopback = 2281701385,
+ NamespaceChange = 2281701401,
+ NonBlockingIO = 2147772030,
+ OobDataRead = 1074033415,
+ QueryTargetPnpHandle = 1207959576,
+ ReceiveAll = 2550136833,
+ ReceiveAllIgmpMulticast = 2550136835,
+ ReceiveAllMulticast = 2550136834,
+ RoutingInterfaceChange = 2281701397,
+ RoutingInterfaceQuery = 3355443220,
+ SetGroupQos = 2281701388,
+ SetQos = 2281701387,
+ TranslateHandle = 3355443213,
+ UnicastInterface = 2550136838,
}
// Generated from `System.Net.Sockets.IPPacketInformation` in `System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -58,12 +58,12 @@ namespace System
}
// Generated from `System.Net.Sockets.IPProtectionLevel` in `System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum IPProtectionLevel
+ public enum IPProtectionLevel : int
{
- EdgeRestricted,
- Restricted,
- Unrestricted,
- Unspecified,
+ EdgeRestricted = 20,
+ Restricted = 30,
+ Unrestricted = 10,
+ Unspecified = -1,
}
// Generated from `System.Net.Sockets.IPv6MulticastOption` in `System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -137,71 +137,71 @@ namespace System
}
// Generated from `System.Net.Sockets.ProtocolFamily` in `System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ProtocolFamily
+ public enum ProtocolFamily : int
{
- AppleTalk,
- Atm,
- Banyan,
- Ccitt,
- Chaos,
- Cluster,
- ControllerAreaNetwork,
- DataKit,
- DataLink,
- DecNet,
- Ecma,
- FireFox,
- HyperChannel,
- Ieee12844,
- ImpLink,
- InterNetwork,
- InterNetworkV6,
- Ipx,
- Irda,
- Iso,
- Lat,
- Max,
- NS,
- NetBios,
- NetworkDesigners,
- Osi,
- Packet,
- Pup,
- Sna,
- Unix,
- Unknown,
- Unspecified,
- VoiceView,
+ AppleTalk = 16,
+ Atm = 22,
+ Banyan = 21,
+ Ccitt = 10,
+ Chaos = 5,
+ Cluster = 24,
+ ControllerAreaNetwork = 65537,
+ DataKit = 9,
+ DataLink = 13,
+ DecNet = 12,
+ Ecma = 8,
+ FireFox = 19,
+ HyperChannel = 15,
+ Ieee12844 = 25,
+ ImpLink = 3,
+ InterNetwork = 2,
+ InterNetworkV6 = 23,
+ Ipx = 6,
+ Irda = 26,
+ Iso = 7,
+ Lat = 14,
+ Max = 29,
+ NS = 6,
+ NetBios = 17,
+ NetworkDesigners = 28,
+ Osi = 7,
+ Packet = 65536,
+ Pup = 4,
+ Sna = 11,
+ Unix = 1,
+ Unknown = -1,
+ Unspecified = 0,
+ VoiceView = 18,
}
// Generated from `System.Net.Sockets.ProtocolType` in `System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ProtocolType
+ public enum ProtocolType : int
{
- Ggp,
- IP,
- IPSecAuthenticationHeader,
- IPSecEncapsulatingSecurityPayload,
- IPv4,
- IPv6,
- IPv6DestinationOptions,
- IPv6FragmentHeader,
- IPv6HopByHopOptions,
- IPv6NoNextHeader,
- IPv6RoutingHeader,
- Icmp,
- IcmpV6,
- Idp,
- Igmp,
- Ipx,
- ND,
- Pup,
- Raw,
- Spx,
- SpxII,
- Tcp,
- Udp,
- Unknown,
- Unspecified,
+ Ggp = 3,
+ IP = 0,
+ IPSecAuthenticationHeader = 51,
+ IPSecEncapsulatingSecurityPayload = 50,
+ IPv4 = 4,
+ IPv6 = 41,
+ IPv6DestinationOptions = 60,
+ IPv6FragmentHeader = 44,
+ IPv6HopByHopOptions = 0,
+ IPv6NoNextHeader = 59,
+ IPv6RoutingHeader = 43,
+ Icmp = 1,
+ IcmpV6 = 58,
+ Idp = 22,
+ Igmp = 2,
+ Ipx = 1000,
+ ND = 77,
+ Pup = 12,
+ Raw = 255,
+ Spx = 1256,
+ SpxII = 1257,
+ Tcp = 6,
+ Udp = 17,
+ Unknown = -1,
+ Unspecified = 0,
}
// Generated from `System.Net.Sockets.SafeSocketHandle` in `System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -213,11 +213,11 @@ namespace System
}
// Generated from `System.Net.Sockets.SelectMode` in `System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum SelectMode
+ public enum SelectMode : int
{
- SelectError,
- SelectRead,
- SelectWrite,
+ SelectError = 2,
+ SelectRead = 0,
+ SelectWrite = 1,
}
// Generated from `System.Net.Sockets.SendPacketsElement` in `System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -459,33 +459,33 @@ namespace System
}
// Generated from `System.Net.Sockets.SocketAsyncOperation` in `System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum SocketAsyncOperation
+ public enum SocketAsyncOperation : int
{
- Accept,
- Connect,
- Disconnect,
- None,
- Receive,
- ReceiveFrom,
- ReceiveMessageFrom,
- Send,
- SendPackets,
- SendTo,
+ Accept = 1,
+ Connect = 2,
+ Disconnect = 3,
+ None = 0,
+ Receive = 4,
+ ReceiveFrom = 5,
+ ReceiveMessageFrom = 6,
+ Send = 7,
+ SendPackets = 8,
+ SendTo = 9,
}
// Generated from `System.Net.Sockets.SocketFlags` in `System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum SocketFlags
+ public enum SocketFlags : int
{
- Broadcast,
- ControlDataTruncated,
- DontRoute,
- Multicast,
- None,
- OutOfBand,
- Partial,
- Peek,
- Truncated,
+ Broadcast = 1024,
+ ControlDataTruncated = 512,
+ DontRoute = 4,
+ Multicast = 2048,
+ None = 0,
+ OutOfBand = 1,
+ Partial = 32768,
+ Peek = 2,
+ Truncated = 256,
}
// Generated from `System.Net.Sockets.SocketInformation` in `System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -498,76 +498,76 @@ namespace System
// Generated from `System.Net.Sockets.SocketInformationOptions` in `System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum SocketInformationOptions
+ public enum SocketInformationOptions : int
{
- Connected,
- Listening,
- NonBlocking,
- UseOnlyOverlappedIO,
+ Connected = 2,
+ Listening = 4,
+ NonBlocking = 1,
+ UseOnlyOverlappedIO = 8,
}
// Generated from `System.Net.Sockets.SocketOptionLevel` in `System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum SocketOptionLevel
+ public enum SocketOptionLevel : int
{
- IP,
- IPv6,
- Socket,
- Tcp,
- Udp,
+ IP = 0,
+ IPv6 = 41,
+ Socket = 65535,
+ Tcp = 6,
+ Udp = 17,
}
// Generated from `System.Net.Sockets.SocketOptionName` in `System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum SocketOptionName
+ public enum SocketOptionName : int
{
- AcceptConnection,
- AddMembership,
- AddSourceMembership,
- BlockSource,
- Broadcast,
- BsdUrgent,
- ChecksumCoverage,
- Debug,
- DontFragment,
- DontLinger,
- DontRoute,
- DropMembership,
- DropSourceMembership,
- Error,
- ExclusiveAddressUse,
- Expedited,
- HeaderIncluded,
- HopLimit,
- IPOptions,
- IPProtectionLevel,
- IPv6Only,
- IpTimeToLive,
- KeepAlive,
- Linger,
- MaxConnections,
- MulticastInterface,
- MulticastLoopback,
- MulticastTimeToLive,
- NoChecksum,
- NoDelay,
- OutOfBandInline,
- PacketInformation,
- ReceiveBuffer,
- ReceiveLowWater,
- ReceiveTimeout,
- ReuseAddress,
- ReuseUnicastPort,
- SendBuffer,
- SendLowWater,
- SendTimeout,
- TcpKeepAliveInterval,
- TcpKeepAliveRetryCount,
- TcpKeepAliveTime,
- Type,
- TypeOfService,
- UnblockSource,
- UpdateAcceptContext,
- UpdateConnectContext,
- UseLoopback,
+ AcceptConnection = 2,
+ AddMembership = 12,
+ AddSourceMembership = 15,
+ BlockSource = 17,
+ Broadcast = 32,
+ BsdUrgent = 2,
+ ChecksumCoverage = 20,
+ Debug = 1,
+ DontFragment = 14,
+ DontLinger = -129,
+ DontRoute = 16,
+ DropMembership = 13,
+ DropSourceMembership = 16,
+ Error = 4103,
+ ExclusiveAddressUse = -5,
+ Expedited = 2,
+ HeaderIncluded = 2,
+ HopLimit = 21,
+ IPOptions = 1,
+ IPProtectionLevel = 23,
+ IPv6Only = 27,
+ IpTimeToLive = 4,
+ KeepAlive = 8,
+ Linger = 128,
+ MaxConnections = 2147483647,
+ MulticastInterface = 9,
+ MulticastLoopback = 11,
+ MulticastTimeToLive = 10,
+ NoChecksum = 1,
+ NoDelay = 1,
+ OutOfBandInline = 256,
+ PacketInformation = 19,
+ ReceiveBuffer = 4098,
+ ReceiveLowWater = 4100,
+ ReceiveTimeout = 4102,
+ ReuseAddress = 4,
+ ReuseUnicastPort = 12295,
+ SendBuffer = 4097,
+ SendLowWater = 4099,
+ SendTimeout = 4101,
+ TcpKeepAliveInterval = 17,
+ TcpKeepAliveRetryCount = 16,
+ TcpKeepAliveTime = 3,
+ Type = 4104,
+ TypeOfService = 3,
+ UnblockSource = 18,
+ UpdateAcceptContext = 28683,
+ UpdateConnectContext = 28688,
+ UseLoopback = 64,
}
// Generated from `System.Net.Sockets.SocketReceiveFromResult` in `System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -589,11 +589,11 @@ namespace System
}
// Generated from `System.Net.Sockets.SocketShutdown` in `System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum SocketShutdown
+ public enum SocketShutdown : int
{
- Both,
- Receive,
- Send,
+ Both = 2,
+ Receive = 0,
+ Send = 1,
}
// Generated from `System.Net.Sockets.SocketTaskExtensions` in `System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -621,14 +621,14 @@ namespace System
}
// Generated from `System.Net.Sockets.SocketType` in `System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum SocketType
+ public enum SocketType : int
{
- Dgram,
- Raw,
- Rdm,
- Seqpacket,
- Stream,
- Unknown,
+ Dgram = 2,
+ Raw = 3,
+ Rdm = 4,
+ Seqpacket = 5,
+ Stream = 1,
+ Unknown = -1,
}
// Generated from `System.Net.Sockets.TcpClient` in `System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -702,14 +702,14 @@ namespace System
// Generated from `System.Net.Sockets.TransmitFileOptions` in `System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum TransmitFileOptions
+ public enum TransmitFileOptions : int
{
- Disconnect,
- ReuseSocket,
- UseDefaultWorkerThread,
- UseKernelApc,
- UseSystemThread,
- WriteBehind,
+ Disconnect = 1,
+ ReuseSocket = 2,
+ UseDefaultWorkerThread = 0,
+ UseKernelApc = 32,
+ UseSystemThread = 16,
+ WriteBehind = 4,
}
// Generated from `System.Net.Sockets.UdpClient` in `System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.WebHeaderCollection.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.WebHeaderCollection.cs
index cc7966e85e2..1eccbd9c0e3 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.WebHeaderCollection.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.WebHeaderCollection.cs
@@ -5,84 +5,84 @@ namespace System
namespace Net
{
// Generated from `System.Net.HttpRequestHeader` in `System.Net.WebHeaderCollection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum HttpRequestHeader
+ public enum HttpRequestHeader : int
{
- Accept,
- AcceptCharset,
- AcceptEncoding,
- AcceptLanguage,
- Allow,
- Authorization,
- CacheControl,
- Connection,
- ContentEncoding,
- ContentLanguage,
- ContentLength,
- ContentLocation,
- ContentMd5,
- ContentRange,
- ContentType,
- Cookie,
- Date,
- Expect,
- Expires,
- From,
- Host,
- IfMatch,
- IfModifiedSince,
- IfNoneMatch,
- IfRange,
- IfUnmodifiedSince,
- KeepAlive,
- LastModified,
- MaxForwards,
- Pragma,
- ProxyAuthorization,
- Range,
- Referer,
- Te,
- Trailer,
- TransferEncoding,
- Translate,
- Upgrade,
- UserAgent,
- Via,
- Warning,
+ Accept = 20,
+ AcceptCharset = 21,
+ AcceptEncoding = 22,
+ AcceptLanguage = 23,
+ Allow = 10,
+ Authorization = 24,
+ CacheControl = 0,
+ Connection = 1,
+ ContentEncoding = 13,
+ ContentLanguage = 14,
+ ContentLength = 11,
+ ContentLocation = 15,
+ ContentMd5 = 16,
+ ContentRange = 17,
+ ContentType = 12,
+ Cookie = 25,
+ Date = 2,
+ Expect = 26,
+ Expires = 18,
+ From = 27,
+ Host = 28,
+ IfMatch = 29,
+ IfModifiedSince = 30,
+ IfNoneMatch = 31,
+ IfRange = 32,
+ IfUnmodifiedSince = 33,
+ KeepAlive = 3,
+ LastModified = 19,
+ MaxForwards = 34,
+ Pragma = 4,
+ ProxyAuthorization = 35,
+ Range = 37,
+ Referer = 36,
+ Te = 38,
+ Trailer = 5,
+ TransferEncoding = 6,
+ Translate = 39,
+ Upgrade = 7,
+ UserAgent = 40,
+ Via = 8,
+ Warning = 9,
}
// Generated from `System.Net.HttpResponseHeader` in `System.Net.WebHeaderCollection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum HttpResponseHeader
+ public enum HttpResponseHeader : int
{
- AcceptRanges,
- Age,
- Allow,
- CacheControl,
- Connection,
- ContentEncoding,
- ContentLanguage,
- ContentLength,
- ContentLocation,
- ContentMd5,
- ContentRange,
- ContentType,
- Date,
- ETag,
- Expires,
- KeepAlive,
- LastModified,
- Location,
- Pragma,
- ProxyAuthenticate,
- RetryAfter,
- Server,
- SetCookie,
- Trailer,
- TransferEncoding,
- Upgrade,
- Vary,
- Via,
- Warning,
- WwwAuthenticate,
+ AcceptRanges = 20,
+ Age = 21,
+ Allow = 10,
+ CacheControl = 0,
+ Connection = 1,
+ ContentEncoding = 13,
+ ContentLanguage = 14,
+ ContentLength = 11,
+ ContentLocation = 15,
+ ContentMd5 = 16,
+ ContentRange = 17,
+ ContentType = 12,
+ Date = 2,
+ ETag = 22,
+ Expires = 18,
+ KeepAlive = 3,
+ LastModified = 19,
+ Location = 23,
+ Pragma = 4,
+ ProxyAuthenticate = 24,
+ RetryAfter = 25,
+ Server = 26,
+ SetCookie = 27,
+ Trailer = 5,
+ TransferEncoding = 6,
+ Upgrade = 7,
+ Vary = 28,
+ Via = 8,
+ Warning = 9,
+ WwwAuthenticate = 29,
}
// Generated from `System.Net.WebHeaderCollection` in `System.Net.WebHeaderCollection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.WebSockets.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.WebSockets.cs
index 7f9e9b9dace..f2fb33af811 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.WebSockets.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Net.WebSockets.cs
@@ -46,18 +46,18 @@ namespace System
}
// Generated from `System.Net.WebSockets.WebSocketCloseStatus` in `System.Net.WebSockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum WebSocketCloseStatus
+ public enum WebSocketCloseStatus : int
{
- Empty,
- EndpointUnavailable,
- InternalServerError,
- InvalidMessageType,
- InvalidPayloadData,
- MandatoryExtension,
- MessageTooBig,
- NormalClosure,
- PolicyViolation,
- ProtocolError,
+ Empty = 1005,
+ EndpointUnavailable = 1001,
+ InternalServerError = 1011,
+ InvalidMessageType = 1003,
+ InvalidPayloadData = 1007,
+ MandatoryExtension = 1010,
+ MessageTooBig = 1009,
+ NormalClosure = 1000,
+ PolicyViolation = 1008,
+ ProtocolError = 1002,
}
// Generated from `System.Net.WebSockets.WebSocketContext` in `System.Net.WebSockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -99,18 +99,18 @@ namespace System
}
// Generated from `System.Net.WebSockets.WebSocketError` in `System.Net.WebSockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum WebSocketError
+ public enum WebSocketError : int
{
- ConnectionClosedPrematurely,
- Faulted,
- HeaderError,
- InvalidMessageType,
- InvalidState,
- NativeError,
- NotAWebSocket,
- Success,
- UnsupportedProtocol,
- UnsupportedVersion,
+ ConnectionClosedPrematurely = 8,
+ Faulted = 2,
+ HeaderError = 7,
+ InvalidMessageType = 1,
+ InvalidState = 9,
+ NativeError = 3,
+ NotAWebSocket = 4,
+ Success = 0,
+ UnsupportedProtocol = 6,
+ UnsupportedVersion = 5,
}
// Generated from `System.Net.WebSockets.WebSocketException` in `System.Net.WebSockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -137,19 +137,19 @@ namespace System
// Generated from `System.Net.WebSockets.WebSocketMessageFlags` in `System.Net.WebSockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum WebSocketMessageFlags
+ public enum WebSocketMessageFlags : int
{
- DisableCompression,
- EndOfMessage,
- None,
+ DisableCompression = 2,
+ EndOfMessage = 1,
+ None = 0,
}
// Generated from `System.Net.WebSockets.WebSocketMessageType` in `System.Net.WebSockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum WebSocketMessageType
+ public enum WebSocketMessageType : int
{
- Binary,
- Close,
- Text,
+ Binary = 1,
+ Close = 2,
+ Text = 0,
}
// Generated from `System.Net.WebSockets.WebSocketReceiveResult` in `System.Net.WebSockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -165,15 +165,15 @@ namespace System
}
// Generated from `System.Net.WebSockets.WebSocketState` in `System.Net.WebSockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum WebSocketState
+ public enum WebSocketState : int
{
- Aborted,
- CloseReceived,
- CloseSent,
- Closed,
- Connecting,
- None,
- Open,
+ Aborted = 6,
+ CloseReceived = 4,
+ CloseSent = 3,
+ Closed = 5,
+ Connecting = 1,
+ None = 0,
+ Open = 2,
}
}
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.ObjectModel.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.ObjectModel.cs
index ef82ac39bb9..72da9bbf4c0 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.ObjectModel.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.ObjectModel.cs
@@ -146,13 +146,13 @@ namespace System
}
// Generated from `System.Collections.Specialized.NotifyCollectionChangedAction` in `System.ObjectModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum NotifyCollectionChangedAction
+ public enum NotifyCollectionChangedAction : int
{
- Add,
- Move,
- Remove,
- Replace,
- Reset,
+ Add = 0,
+ Move = 3,
+ Remove = 1,
+ Replace = 2,
+ Reset = 4,
}
// Generated from `System.Collections.Specialized.NotifyCollectionChangedEventArgs` in `System.ObjectModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Reflection.Emit.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Reflection.Emit.cs
index 582d8a40872..7849ca4750f 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Reflection.Emit.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Reflection.Emit.cs
@@ -49,10 +49,10 @@ namespace System
// Generated from `System.Reflection.Emit.AssemblyBuilderAccess` in `System.Reflection.Emit, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum AssemblyBuilderAccess
+ public enum AssemblyBuilderAccess : int
{
- Run,
- RunAndCollect,
+ Run = 1,
+ RunAndCollect = 9,
}
// Generated from `System.Reflection.Emit.ConstructorBuilder` in `System.Reflection.Emit, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Reflection.Metadata.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Reflection.Metadata.cs
index 3965762e5db..6f33defb3ab 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Reflection.Metadata.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Reflection.Metadata.cs
@@ -6,86 +6,86 @@ namespace System
{
// Generated from `System.Reflection.AssemblyFlags` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum AssemblyFlags
+ public enum AssemblyFlags : int
{
- ContentTypeMask,
- DisableJitCompileOptimizer,
- EnableJitCompileTracking,
- PublicKey,
- Retargetable,
- WindowsRuntime,
+ ContentTypeMask = 3584,
+ DisableJitCompileOptimizer = 16384,
+ EnableJitCompileTracking = 32768,
+ PublicKey = 1,
+ Retargetable = 256,
+ WindowsRuntime = 512,
}
// Generated from `System.Reflection.AssemblyHashAlgorithm` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum AssemblyHashAlgorithm
+ public enum AssemblyHashAlgorithm : int
{
- MD5,
- None,
- Sha1,
- Sha256,
- Sha384,
- Sha512,
+ MD5 = 32771,
+ None = 0,
+ Sha1 = 32772,
+ Sha256 = 32780,
+ Sha384 = 32781,
+ Sha512 = 32782,
}
// Generated from `System.Reflection.DeclarativeSecurityAction` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum DeclarativeSecurityAction
+ public enum DeclarativeSecurityAction : short
{
- Assert,
- Demand,
- Deny,
- InheritanceDemand,
- LinkDemand,
- None,
- PermitOnly,
- RequestMinimum,
- RequestOptional,
- RequestRefuse,
+ Assert = 3,
+ Demand = 2,
+ Deny = 4,
+ InheritanceDemand = 7,
+ LinkDemand = 6,
+ None = 0,
+ PermitOnly = 5,
+ RequestMinimum = 8,
+ RequestOptional = 9,
+ RequestRefuse = 10,
}
// Generated from `System.Reflection.ManifestResourceAttributes` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum ManifestResourceAttributes
+ public enum ManifestResourceAttributes : int
{
- Private,
- Public,
- VisibilityMask,
+ Private = 2,
+ Public = 1,
+ VisibilityMask = 7,
}
// Generated from `System.Reflection.MethodImportAttributes` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum MethodImportAttributes
+ public enum MethodImportAttributes : short
{
- BestFitMappingDisable,
- BestFitMappingEnable,
- BestFitMappingMask,
- CallingConventionCDecl,
- CallingConventionFastCall,
- CallingConventionMask,
- CallingConventionStdCall,
- CallingConventionThisCall,
- CallingConventionWinApi,
- CharSetAnsi,
- CharSetAuto,
- CharSetMask,
- CharSetUnicode,
- ExactSpelling,
- None,
- SetLastError,
- ThrowOnUnmappableCharDisable,
- ThrowOnUnmappableCharEnable,
- ThrowOnUnmappableCharMask,
+ BestFitMappingDisable = 32,
+ BestFitMappingEnable = 16,
+ BestFitMappingMask = 48,
+ CallingConventionCDecl = 512,
+ CallingConventionFastCall = 1280,
+ CallingConventionMask = 1792,
+ CallingConventionStdCall = 768,
+ CallingConventionThisCall = 1024,
+ CallingConventionWinApi = 256,
+ CharSetAnsi = 2,
+ CharSetAuto = 6,
+ CharSetMask = 6,
+ CharSetUnicode = 4,
+ ExactSpelling = 1,
+ None = 0,
+ SetLastError = 64,
+ ThrowOnUnmappableCharDisable = 8192,
+ ThrowOnUnmappableCharEnable = 4096,
+ ThrowOnUnmappableCharMask = 12288,
}
// Generated from `System.Reflection.MethodSemanticsAttributes` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum MethodSemanticsAttributes
+ public enum MethodSemanticsAttributes : int
{
- Adder,
- Getter,
- Other,
- Raiser,
- Remover,
- Setter,
+ Adder = 8,
+ Getter = 2,
+ Other = 4,
+ Raiser = 32,
+ Remover = 16,
+ Setter = 1,
}
namespace Metadata
@@ -478,23 +478,23 @@ namespace System
}
// Generated from `System.Reflection.Metadata.ConstantTypeCode` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ConstantTypeCode
+ public enum ConstantTypeCode : byte
{
- Boolean,
- Byte,
- Char,
- Double,
- Int16,
- Int32,
- Int64,
- Invalid,
- NullReference,
- SByte,
- Single,
- String,
- UInt16,
- UInt32,
- UInt64,
+ Boolean = 2,
+ Byte = 5,
+ Char = 3,
+ Double = 13,
+ Int16 = 6,
+ Int32 = 8,
+ Int64 = 10,
+ Invalid = 0,
+ NullReference = 18,
+ SByte = 4,
+ Single = 12,
+ String = 14,
+ UInt16 = 7,
+ UInt32 = 9,
+ UInt64 = 11,
}
// Generated from `System.Reflection.Metadata.CustomAttribute` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -557,10 +557,10 @@ namespace System
}
// Generated from `System.Reflection.Metadata.CustomAttributeNamedArgumentKind` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum CustomAttributeNamedArgumentKind
+ public enum CustomAttributeNamedArgumentKind : byte
{
- Field,
- Property,
+ Field = 83,
+ Property = 84,
}
// Generated from `System.Reflection.Metadata.CustomAttributeTypedArgument<>` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -835,12 +835,12 @@ namespace System
}
// Generated from `System.Reflection.Metadata.ExceptionRegionKind` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ExceptionRegionKind
+ public enum ExceptionRegionKind : ushort
{
- Catch,
- Fault,
- Filter,
- Finally,
+ Catch = 0,
+ Fault = 4,
+ Filter = 1,
+ Finally = 2,
}
// Generated from `System.Reflection.Metadata.ExportedType` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1089,45 +1089,45 @@ namespace System
}
// Generated from `System.Reflection.Metadata.HandleKind` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum HandleKind
+ public enum HandleKind : byte
{
- AssemblyDefinition,
- AssemblyFile,
- AssemblyReference,
- Blob,
- Constant,
- CustomAttribute,
- CustomDebugInformation,
- DeclarativeSecurityAttribute,
- Document,
- EventDefinition,
- ExportedType,
- FieldDefinition,
- GenericParameter,
- GenericParameterConstraint,
- Guid,
- ImportScope,
- InterfaceImplementation,
- LocalConstant,
- LocalScope,
- LocalVariable,
- ManifestResource,
- MemberReference,
- MethodDebugInformation,
- MethodDefinition,
- MethodImplementation,
- MethodSpecification,
- ModuleDefinition,
- ModuleReference,
- NamespaceDefinition,
- Parameter,
- PropertyDefinition,
- StandaloneSignature,
- String,
- TypeDefinition,
- TypeReference,
- TypeSpecification,
- UserString,
+ AssemblyDefinition = 32,
+ AssemblyFile = 38,
+ AssemblyReference = 35,
+ Blob = 113,
+ Constant = 11,
+ CustomAttribute = 12,
+ CustomDebugInformation = 55,
+ DeclarativeSecurityAttribute = 14,
+ Document = 48,
+ EventDefinition = 20,
+ ExportedType = 39,
+ FieldDefinition = 4,
+ GenericParameter = 42,
+ GenericParameterConstraint = 44,
+ Guid = 114,
+ ImportScope = 53,
+ InterfaceImplementation = 9,
+ LocalConstant = 52,
+ LocalScope = 50,
+ LocalVariable = 51,
+ ManifestResource = 40,
+ MemberReference = 10,
+ MethodDebugInformation = 49,
+ MethodDefinition = 6,
+ MethodImplementation = 25,
+ MethodSpecification = 43,
+ ModuleDefinition = 0,
+ ModuleReference = 26,
+ NamespaceDefinition = 124,
+ Parameter = 8,
+ PropertyDefinition = 23,
+ StandaloneSignature = 17,
+ String = 120,
+ TypeDefinition = 2,
+ TypeReference = 1,
+ TypeSpecification = 27,
+ UserString = 112,
}
// Generated from `System.Reflection.Metadata.IConstructedTypeProvider<>` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1149,226 +1149,226 @@ namespace System
}
// Generated from `System.Reflection.Metadata.ILOpCode` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ILOpCode
+ public enum ILOpCode : ushort
{
- Add,
- Add_ovf,
- Add_ovf_un,
- And,
- Arglist,
- Beq,
- Beq_s,
- Bge,
- Bge_s,
- Bge_un,
- Bge_un_s,
- Bgt,
- Bgt_s,
- Bgt_un,
- Bgt_un_s,
- Ble,
- Ble_s,
- Ble_un,
- Ble_un_s,
- Blt,
- Blt_s,
- Blt_un,
- Blt_un_s,
- Bne_un,
- Bne_un_s,
- Box,
- Br,
- Br_s,
- Break,
- Brfalse,
- Brfalse_s,
- Brtrue,
- Brtrue_s,
- Call,
- Calli,
- Callvirt,
- Castclass,
- Ceq,
- Cgt,
- Cgt_un,
- Ckfinite,
- Clt,
- Clt_un,
- Constrained,
- Conv_i,
- Conv_i1,
- Conv_i2,
- Conv_i4,
- Conv_i8,
- Conv_ovf_i,
- Conv_ovf_i1,
- Conv_ovf_i1_un,
- Conv_ovf_i2,
- Conv_ovf_i2_un,
- Conv_ovf_i4,
- Conv_ovf_i4_un,
- Conv_ovf_i8,
- Conv_ovf_i8_un,
- Conv_ovf_i_un,
- Conv_ovf_u,
- Conv_ovf_u1,
- Conv_ovf_u1_un,
- Conv_ovf_u2,
- Conv_ovf_u2_un,
- Conv_ovf_u4,
- Conv_ovf_u4_un,
- Conv_ovf_u8,
- Conv_ovf_u8_un,
- Conv_ovf_u_un,
- Conv_r4,
- Conv_r8,
- Conv_r_un,
- Conv_u,
- Conv_u1,
- Conv_u2,
- Conv_u4,
- Conv_u8,
- Cpblk,
- Cpobj,
- Div,
- Div_un,
- Dup,
- Endfilter,
- Endfinally,
- Initblk,
- Initobj,
- Isinst,
- Jmp,
- Ldarg,
- Ldarg_0,
- Ldarg_1,
- Ldarg_2,
- Ldarg_3,
- Ldarg_s,
- Ldarga,
- Ldarga_s,
- Ldc_i4,
- Ldc_i4_0,
- Ldc_i4_1,
- Ldc_i4_2,
- Ldc_i4_3,
- Ldc_i4_4,
- Ldc_i4_5,
- Ldc_i4_6,
- Ldc_i4_7,
- Ldc_i4_8,
- Ldc_i4_m1,
- Ldc_i4_s,
- Ldc_i8,
- Ldc_r4,
- Ldc_r8,
- Ldelem,
- Ldelem_i,
- Ldelem_i1,
- Ldelem_i2,
- Ldelem_i4,
- Ldelem_i8,
- Ldelem_r4,
- Ldelem_r8,
- Ldelem_ref,
- Ldelem_u1,
- Ldelem_u2,
- Ldelem_u4,
- Ldelema,
- Ldfld,
- Ldflda,
- Ldftn,
- Ldind_i,
- Ldind_i1,
- Ldind_i2,
- Ldind_i4,
- Ldind_i8,
- Ldind_r4,
- Ldind_r8,
- Ldind_ref,
- Ldind_u1,
- Ldind_u2,
- Ldind_u4,
- Ldlen,
- Ldloc,
- Ldloc_0,
- Ldloc_1,
- Ldloc_2,
- Ldloc_3,
- Ldloc_s,
- Ldloca,
- Ldloca_s,
- Ldnull,
- Ldobj,
- Ldsfld,
- Ldsflda,
- Ldstr,
- Ldtoken,
- Ldvirtftn,
- Leave,
- Leave_s,
- Localloc,
- Mkrefany,
- Mul,
- Mul_ovf,
- Mul_ovf_un,
- Neg,
- Newarr,
- Newobj,
- Nop,
- Not,
- Or,
- Pop,
- Readonly,
- Refanytype,
- Refanyval,
- Rem,
- Rem_un,
- Ret,
- Rethrow,
- Shl,
- Shr,
- Shr_un,
- Sizeof,
- Starg,
- Starg_s,
- Stelem,
- Stelem_i,
- Stelem_i1,
- Stelem_i2,
- Stelem_i4,
- Stelem_i8,
- Stelem_r4,
- Stelem_r8,
- Stelem_ref,
- Stfld,
- Stind_i,
- Stind_i1,
- Stind_i2,
- Stind_i4,
- Stind_i8,
- Stind_r4,
- Stind_r8,
- Stind_ref,
- Stloc,
- Stloc_0,
- Stloc_1,
- Stloc_2,
- Stloc_3,
- Stloc_s,
- Stobj,
- Stsfld,
- Sub,
- Sub_ovf,
- Sub_ovf_un,
- Switch,
- Tail,
- Throw,
- Unaligned,
- Unbox,
- Unbox_any,
- Volatile,
- Xor,
+ Add = 88,
+ Add_ovf = 214,
+ Add_ovf_un = 215,
+ And = 95,
+ Arglist = 65024,
+ Beq = 59,
+ Beq_s = 46,
+ Bge = 60,
+ Bge_s = 47,
+ Bge_un = 65,
+ Bge_un_s = 52,
+ Bgt = 61,
+ Bgt_s = 48,
+ Bgt_un = 66,
+ Bgt_un_s = 53,
+ Ble = 62,
+ Ble_s = 49,
+ Ble_un = 67,
+ Ble_un_s = 54,
+ Blt = 63,
+ Blt_s = 50,
+ Blt_un = 68,
+ Blt_un_s = 55,
+ Bne_un = 64,
+ Bne_un_s = 51,
+ Box = 140,
+ Br = 56,
+ Br_s = 43,
+ Break = 1,
+ Brfalse = 57,
+ Brfalse_s = 44,
+ Brtrue = 58,
+ Brtrue_s = 45,
+ Call = 40,
+ Calli = 41,
+ Callvirt = 111,
+ Castclass = 116,
+ Ceq = 65025,
+ Cgt = 65026,
+ Cgt_un = 65027,
+ Ckfinite = 195,
+ Clt = 65028,
+ Clt_un = 65029,
+ Constrained = 65046,
+ Conv_i = 211,
+ Conv_i1 = 103,
+ Conv_i2 = 104,
+ Conv_i4 = 105,
+ Conv_i8 = 106,
+ Conv_ovf_i = 212,
+ Conv_ovf_i1 = 179,
+ Conv_ovf_i1_un = 130,
+ Conv_ovf_i2 = 181,
+ Conv_ovf_i2_un = 131,
+ Conv_ovf_i4 = 183,
+ Conv_ovf_i4_un = 132,
+ Conv_ovf_i8 = 185,
+ Conv_ovf_i8_un = 133,
+ Conv_ovf_i_un = 138,
+ Conv_ovf_u = 213,
+ Conv_ovf_u1 = 180,
+ Conv_ovf_u1_un = 134,
+ Conv_ovf_u2 = 182,
+ Conv_ovf_u2_un = 135,
+ Conv_ovf_u4 = 184,
+ Conv_ovf_u4_un = 136,
+ Conv_ovf_u8 = 186,
+ Conv_ovf_u8_un = 137,
+ Conv_ovf_u_un = 139,
+ Conv_r4 = 107,
+ Conv_r8 = 108,
+ Conv_r_un = 118,
+ Conv_u = 224,
+ Conv_u1 = 210,
+ Conv_u2 = 209,
+ Conv_u4 = 109,
+ Conv_u8 = 110,
+ Cpblk = 65047,
+ Cpobj = 112,
+ Div = 91,
+ Div_un = 92,
+ Dup = 37,
+ Endfilter = 65041,
+ Endfinally = 220,
+ Initblk = 65048,
+ Initobj = 65045,
+ Isinst = 117,
+ Jmp = 39,
+ Ldarg = 65033,
+ Ldarg_0 = 2,
+ Ldarg_1 = 3,
+ Ldarg_2 = 4,
+ Ldarg_3 = 5,
+ Ldarg_s = 14,
+ Ldarga = 65034,
+ Ldarga_s = 15,
+ Ldc_i4 = 32,
+ Ldc_i4_0 = 22,
+ Ldc_i4_1 = 23,
+ Ldc_i4_2 = 24,
+ Ldc_i4_3 = 25,
+ Ldc_i4_4 = 26,
+ Ldc_i4_5 = 27,
+ Ldc_i4_6 = 28,
+ Ldc_i4_7 = 29,
+ Ldc_i4_8 = 30,
+ Ldc_i4_m1 = 21,
+ Ldc_i4_s = 31,
+ Ldc_i8 = 33,
+ Ldc_r4 = 34,
+ Ldc_r8 = 35,
+ Ldelem = 163,
+ Ldelem_i = 151,
+ Ldelem_i1 = 144,
+ Ldelem_i2 = 146,
+ Ldelem_i4 = 148,
+ Ldelem_i8 = 150,
+ Ldelem_r4 = 152,
+ Ldelem_r8 = 153,
+ Ldelem_ref = 154,
+ Ldelem_u1 = 145,
+ Ldelem_u2 = 147,
+ Ldelem_u4 = 149,
+ Ldelema = 143,
+ Ldfld = 123,
+ Ldflda = 124,
+ Ldftn = 65030,
+ Ldind_i = 77,
+ Ldind_i1 = 70,
+ Ldind_i2 = 72,
+ Ldind_i4 = 74,
+ Ldind_i8 = 76,
+ Ldind_r4 = 78,
+ Ldind_r8 = 79,
+ Ldind_ref = 80,
+ Ldind_u1 = 71,
+ Ldind_u2 = 73,
+ Ldind_u4 = 75,
+ Ldlen = 142,
+ Ldloc = 65036,
+ Ldloc_0 = 6,
+ Ldloc_1 = 7,
+ Ldloc_2 = 8,
+ Ldloc_3 = 9,
+ Ldloc_s = 17,
+ Ldloca = 65037,
+ Ldloca_s = 18,
+ Ldnull = 20,
+ Ldobj = 113,
+ Ldsfld = 126,
+ Ldsflda = 127,
+ Ldstr = 114,
+ Ldtoken = 208,
+ Ldvirtftn = 65031,
+ Leave = 221,
+ Leave_s = 222,
+ Localloc = 65039,
+ Mkrefany = 198,
+ Mul = 90,
+ Mul_ovf = 216,
+ Mul_ovf_un = 217,
+ Neg = 101,
+ Newarr = 141,
+ Newobj = 115,
+ Nop = 0,
+ Not = 102,
+ Or = 96,
+ Pop = 38,
+ Readonly = 65054,
+ Refanytype = 65053,
+ Refanyval = 194,
+ Rem = 93,
+ Rem_un = 94,
+ Ret = 42,
+ Rethrow = 65050,
+ Shl = 98,
+ Shr = 99,
+ Shr_un = 100,
+ Sizeof = 65052,
+ Starg = 65035,
+ Starg_s = 16,
+ Stelem = 164,
+ Stelem_i = 155,
+ Stelem_i1 = 156,
+ Stelem_i2 = 157,
+ Stelem_i4 = 158,
+ Stelem_i8 = 159,
+ Stelem_r4 = 160,
+ Stelem_r8 = 161,
+ Stelem_ref = 162,
+ Stfld = 125,
+ Stind_i = 223,
+ Stind_i1 = 82,
+ Stind_i2 = 83,
+ Stind_i4 = 84,
+ Stind_i8 = 85,
+ Stind_r4 = 86,
+ Stind_r8 = 87,
+ Stind_ref = 81,
+ Stloc = 65038,
+ Stloc_0 = 10,
+ Stloc_1 = 11,
+ Stloc_2 = 12,
+ Stloc_3 = 13,
+ Stloc_s = 19,
+ Stobj = 129,
+ Stsfld = 128,
+ Sub = 89,
+ Sub_ovf = 218,
+ Sub_ovf_un = 219,
+ Switch = 69,
+ Tail = 65044,
+ Throw = 122,
+ Unaligned = 65042,
+ Unbox = 121,
+ Unbox_any = 165,
+ Volatile = 65043,
+ Xor = 97,
}
// Generated from `System.Reflection.Metadata.ILOpCodeExtensions` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1447,17 +1447,17 @@ namespace System
}
// Generated from `System.Reflection.Metadata.ImportDefinitionKind` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ImportDefinitionKind
+ public enum ImportDefinitionKind : int
{
- AliasAssemblyNamespace,
- AliasAssemblyReference,
- AliasNamespace,
- AliasType,
- ImportAssemblyNamespace,
- ImportAssemblyReferenceAlias,
- ImportNamespace,
- ImportType,
- ImportXmlNamespace,
+ AliasAssemblyNamespace = 8,
+ AliasAssemblyReference = 6,
+ AliasNamespace = 7,
+ AliasType = 9,
+ ImportAssemblyNamespace = 2,
+ ImportAssemblyReferenceAlias = 5,
+ ImportNamespace = 1,
+ ImportType = 3,
+ ImportXmlNamespace = 4,
}
// Generated from `System.Reflection.Metadata.ImportScope` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1674,10 +1674,10 @@ namespace System
// Generated from `System.Reflection.Metadata.LocalVariableAttributes` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum LocalVariableAttributes
+ public enum LocalVariableAttributes : int
{
- DebuggerHidden,
- None,
+ DebuggerHidden = 1,
+ None = 0,
}
// Generated from `System.Reflection.Metadata.LocalVariableHandle` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1819,18 +1819,18 @@ namespace System
}
// Generated from `System.Reflection.Metadata.MemberReferenceKind` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum MemberReferenceKind
+ public enum MemberReferenceKind : int
{
- Field,
- Method,
+ Field = 1,
+ Method = 0,
}
// Generated from `System.Reflection.Metadata.MetadataKind` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum MetadataKind
+ public enum MetadataKind : int
{
- Ecma335,
- ManagedWindowsMetadata,
- WindowsMetadata,
+ Ecma335 = 0,
+ ManagedWindowsMetadata = 2,
+ WindowsMetadata = 1,
}
// Generated from `System.Reflection.Metadata.MetadataReader` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1920,11 +1920,11 @@ namespace System
// Generated from `System.Reflection.Metadata.MetadataReaderOptions` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum MetadataReaderOptions
+ public enum MetadataReaderOptions : int
{
- ApplyWindowsRuntimeProjections,
- Default,
- None,
+ ApplyWindowsRuntimeProjections = 1,
+ Default = 1,
+ None = 0,
}
// Generated from `System.Reflection.Metadata.MetadataReaderProvider` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1942,11 +1942,11 @@ namespace System
// Generated from `System.Reflection.Metadata.MetadataStreamOptions` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum MetadataStreamOptions
+ public enum MetadataStreamOptions : int
{
- Default,
- LeaveOpen,
- PrefetchMetadata,
+ Default = 0,
+ LeaveOpen = 1,
+ PrefetchMetadata = 2,
}
// Generated from `System.Reflection.Metadata.MetadataStringComparer` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -2325,44 +2325,44 @@ namespace System
}
// Generated from `System.Reflection.Metadata.PrimitiveSerializationTypeCode` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum PrimitiveSerializationTypeCode
+ public enum PrimitiveSerializationTypeCode : byte
{
- Boolean,
- Byte,
- Char,
- Double,
- Int16,
- Int32,
- Int64,
- SByte,
- Single,
- String,
- UInt16,
- UInt32,
- UInt64,
+ Boolean = 2,
+ Byte = 5,
+ Char = 3,
+ Double = 13,
+ Int16 = 6,
+ Int32 = 8,
+ Int64 = 10,
+ SByte = 4,
+ Single = 12,
+ String = 14,
+ UInt16 = 7,
+ UInt32 = 9,
+ UInt64 = 11,
}
// Generated from `System.Reflection.Metadata.PrimitiveTypeCode` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum PrimitiveTypeCode
+ public enum PrimitiveTypeCode : byte
{
- Boolean,
- Byte,
- Char,
- Double,
- Int16,
- Int32,
- Int64,
- IntPtr,
- Object,
- SByte,
- Single,
- String,
- TypedReference,
- UInt16,
- UInt32,
- UInt64,
- UIntPtr,
- Void,
+ Boolean = 2,
+ Byte = 5,
+ Char = 3,
+ Double = 13,
+ Int16 = 6,
+ Int32 = 8,
+ Int64 = 10,
+ IntPtr = 24,
+ Object = 28,
+ SByte = 4,
+ Single = 12,
+ String = 14,
+ TypedReference = 22,
+ UInt16 = 7,
+ UInt32 = 9,
+ UInt64 = 11,
+ UIntPtr = 25,
+ Void = 1,
}
// Generated from `System.Reflection.Metadata.PropertyAccessors` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -2473,48 +2473,48 @@ namespace System
}
// Generated from `System.Reflection.Metadata.SerializationTypeCode` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum SerializationTypeCode
+ public enum SerializationTypeCode : byte
{
- Boolean,
- Byte,
- Char,
- Double,
- Enum,
- Int16,
- Int32,
- Int64,
- Invalid,
- SByte,
- SZArray,
- Single,
- String,
- TaggedObject,
- Type,
- UInt16,
- UInt32,
- UInt64,
+ Boolean = 2,
+ Byte = 5,
+ Char = 3,
+ Double = 13,
+ Enum = 85,
+ Int16 = 6,
+ Int32 = 8,
+ Int64 = 10,
+ Invalid = 0,
+ SByte = 4,
+ SZArray = 29,
+ Single = 12,
+ String = 14,
+ TaggedObject = 81,
+ Type = 80,
+ UInt16 = 7,
+ UInt32 = 9,
+ UInt64 = 11,
}
// Generated from `System.Reflection.Metadata.SignatureAttributes` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum SignatureAttributes
+ public enum SignatureAttributes : byte
{
- ExplicitThis,
- Generic,
- Instance,
- None,
+ ExplicitThis = 64,
+ Generic = 16,
+ Instance = 32,
+ None = 0,
}
// Generated from `System.Reflection.Metadata.SignatureCallingConvention` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum SignatureCallingConvention
+ public enum SignatureCallingConvention : byte
{
- CDecl,
- Default,
- FastCall,
- StdCall,
- ThisCall,
- Unmanaged,
- VarArgs,
+ CDecl = 1,
+ Default = 0,
+ FastCall = 4,
+ StdCall = 2,
+ ThisCall = 3,
+ Unmanaged = 9,
+ VarArgs = 5,
}
// Generated from `System.Reflection.Metadata.SignatureHeader` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -2540,58 +2540,58 @@ namespace System
}
// Generated from `System.Reflection.Metadata.SignatureKind` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum SignatureKind
+ public enum SignatureKind : byte
{
- Field,
- LocalVariables,
- Method,
- MethodSpecification,
- Property,
+ Field = 6,
+ LocalVariables = 7,
+ Method = 0,
+ MethodSpecification = 10,
+ Property = 8,
}
// Generated from `System.Reflection.Metadata.SignatureTypeCode` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum SignatureTypeCode
+ public enum SignatureTypeCode : byte
{
- Array,
- Boolean,
- ByReference,
- Byte,
- Char,
- Double,
- FunctionPointer,
- GenericMethodParameter,
- GenericTypeInstance,
- GenericTypeParameter,
- Int16,
- Int32,
- Int64,
- IntPtr,
- Invalid,
- Object,
- OptionalModifier,
- Pinned,
- Pointer,
- RequiredModifier,
- SByte,
- SZArray,
- Sentinel,
- Single,
- String,
- TypeHandle,
- TypedReference,
- UInt16,
- UInt32,
- UInt64,
- UIntPtr,
- Void,
+ Array = 20,
+ Boolean = 2,
+ ByReference = 16,
+ Byte = 5,
+ Char = 3,
+ Double = 13,
+ FunctionPointer = 27,
+ GenericMethodParameter = 30,
+ GenericTypeInstance = 21,
+ GenericTypeParameter = 19,
+ Int16 = 6,
+ Int32 = 8,
+ Int64 = 10,
+ IntPtr = 24,
+ Invalid = 0,
+ Object = 28,
+ OptionalModifier = 32,
+ Pinned = 69,
+ Pointer = 15,
+ RequiredModifier = 31,
+ SByte = 4,
+ SZArray = 29,
+ Sentinel = 65,
+ Single = 12,
+ String = 14,
+ TypeHandle = 64,
+ TypedReference = 22,
+ UInt16 = 7,
+ UInt32 = 9,
+ UInt64 = 11,
+ UIntPtr = 25,
+ Void = 1,
}
// Generated from `System.Reflection.Metadata.SignatureTypeKind` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum SignatureTypeKind
+ public enum SignatureTypeKind : byte
{
- Class,
- Unknown,
- ValueType,
+ Class = 18,
+ Unknown = 0,
+ ValueType = 17,
}
// Generated from `System.Reflection.Metadata.StandaloneSignature` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -2622,10 +2622,10 @@ namespace System
}
// Generated from `System.Reflection.Metadata.StandaloneSignatureKind` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum StandaloneSignatureKind
+ public enum StandaloneSignatureKind : int
{
- LocalVariables,
- Method,
+ LocalVariables = 1,
+ Method = 0,
}
// Generated from `System.Reflection.Metadata.StringHandle` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -2924,14 +2924,14 @@ namespace System
}
// Generated from `System.Reflection.Metadata.Ecma335.EditAndContinueOperation` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum EditAndContinueOperation
+ public enum EditAndContinueOperation : int
{
- AddEvent,
- AddField,
- AddMethod,
- AddParameter,
- AddProperty,
- Default,
+ AddEvent = 5,
+ AddField = 2,
+ AddMethod = 1,
+ AddParameter = 3,
+ AddProperty = 4,
+ Default = 0,
}
// Generated from `System.Reflection.Metadata.Ecma335.ExceptionRegionEncoder` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -2965,11 +2965,11 @@ namespace System
}
// Generated from `System.Reflection.Metadata.Ecma335.FunctionPointerAttributes` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum FunctionPointerAttributes
+ public enum FunctionPointerAttributes : int
{
- HasExplicitThis,
- HasThis,
- None,
+ HasExplicitThis = 96,
+ HasThis = 32,
+ None = 0,
}
// Generated from `System.Reflection.Metadata.Ecma335.GenericTypeArgumentsEncoder` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -2982,12 +2982,12 @@ namespace System
}
// Generated from `System.Reflection.Metadata.Ecma335.HeapIndex` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum HeapIndex
+ public enum HeapIndex : int
{
- Blob,
- Guid,
- String,
- UserString,
+ Blob = 2,
+ Guid = 3,
+ String = 1,
+ UserString = 0,
}
// Generated from `System.Reflection.Metadata.Ecma335.InstructionEncoder` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -3251,10 +3251,10 @@ namespace System
// Generated from `System.Reflection.Metadata.Ecma335.MethodBodyAttributes` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum MethodBodyAttributes
+ public enum MethodBodyAttributes : int
{
- InitLocals,
- None,
+ InitLocals = 1,
+ None = 0,
}
// Generated from `System.Reflection.Metadata.Ecma335.MethodBodyStreamEncoder` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -3434,61 +3434,61 @@ namespace System
}
// Generated from `System.Reflection.Metadata.Ecma335.TableIndex` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum TableIndex
+ public enum TableIndex : byte
{
- Assembly,
- AssemblyOS,
- AssemblyProcessor,
- AssemblyRef,
- AssemblyRefOS,
- AssemblyRefProcessor,
- ClassLayout,
- Constant,
- CustomAttribute,
- CustomDebugInformation,
- DeclSecurity,
- Document,
- EncLog,
- EncMap,
- Event,
- EventMap,
- EventPtr,
- ExportedType,
- Field,
- FieldLayout,
- FieldMarshal,
- FieldPtr,
- FieldRva,
- File,
- GenericParam,
- GenericParamConstraint,
- ImplMap,
- ImportScope,
- InterfaceImpl,
- LocalConstant,
- LocalScope,
- LocalVariable,
- ManifestResource,
- MemberRef,
- MethodDebugInformation,
- MethodDef,
- MethodImpl,
- MethodPtr,
- MethodSemantics,
- MethodSpec,
- Module,
- ModuleRef,
- NestedClass,
- Param,
- ParamPtr,
- Property,
- PropertyMap,
- PropertyPtr,
- StandAloneSig,
- StateMachineMethod,
- TypeDef,
- TypeRef,
- TypeSpec,
+ Assembly = 32,
+ AssemblyOS = 34,
+ AssemblyProcessor = 33,
+ AssemblyRef = 35,
+ AssemblyRefOS = 37,
+ AssemblyRefProcessor = 36,
+ ClassLayout = 15,
+ Constant = 11,
+ CustomAttribute = 12,
+ CustomDebugInformation = 55,
+ DeclSecurity = 14,
+ Document = 48,
+ EncLog = 30,
+ EncMap = 31,
+ Event = 20,
+ EventMap = 18,
+ EventPtr = 19,
+ ExportedType = 39,
+ Field = 4,
+ FieldLayout = 16,
+ FieldMarshal = 13,
+ FieldPtr = 3,
+ FieldRva = 29,
+ File = 38,
+ GenericParam = 42,
+ GenericParamConstraint = 44,
+ ImplMap = 28,
+ ImportScope = 53,
+ InterfaceImpl = 9,
+ LocalConstant = 52,
+ LocalScope = 50,
+ LocalVariable = 51,
+ ManifestResource = 40,
+ MemberRef = 10,
+ MethodDebugInformation = 49,
+ MethodDef = 6,
+ MethodImpl = 25,
+ MethodPtr = 5,
+ MethodSemantics = 24,
+ MethodSpec = 43,
+ Module = 0,
+ ModuleRef = 26,
+ NestedClass = 41,
+ Param = 8,
+ ParamPtr = 7,
+ Property = 23,
+ PropertyMap = 21,
+ PropertyPtr = 22,
+ StandAloneSig = 17,
+ StateMachineMethod = 54,
+ TypeDef = 2,
+ TypeRef = 1,
+ TypeSpec = 27,
}
// Generated from `System.Reflection.Metadata.Ecma335.VectorEncoder` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -3506,23 +3506,23 @@ namespace System
{
// Generated from `System.Reflection.PortableExecutable.Characteristics` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum Characteristics
+ public enum Characteristics : ushort
{
- AggressiveWSTrim,
- Bit32Machine,
- BytesReversedHi,
- BytesReversedLo,
- DebugStripped,
- Dll,
- ExecutableImage,
- LargeAddressAware,
- LineNumsStripped,
- LocalSymsStripped,
- NetRunFromSwap,
- RelocsStripped,
- RemovableRunFromSwap,
- System,
- UpSystemOnly,
+ AggressiveWSTrim = 16,
+ Bit32Machine = 256,
+ BytesReversedHi = 32768,
+ BytesReversedLo = 128,
+ DebugStripped = 512,
+ Dll = 8192,
+ ExecutableImage = 2,
+ LargeAddressAware = 32,
+ LineNumsStripped = 4,
+ LocalSymsStripped = 8,
+ NetRunFromSwap = 2048,
+ RelocsStripped = 1,
+ RemovableRunFromSwap = 1024,
+ System = 4096,
+ UpSystemOnly = 16384,
}
// Generated from `System.Reflection.PortableExecutable.CodeViewDebugDirectoryData` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -3548,15 +3548,15 @@ namespace System
// Generated from `System.Reflection.PortableExecutable.CorFlags` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum CorFlags
+ public enum CorFlags : int
{
- ILLibrary,
- ILOnly,
- NativeEntryPoint,
- Prefers32Bit,
- Requires32Bit,
- StrongNameSigned,
- TrackDebugData,
+ ILLibrary = 4,
+ ILOnly = 1,
+ NativeEntryPoint = 16,
+ Prefers32Bit = 131072,
+ Requires32Bit = 2,
+ StrongNameSigned = 8,
+ TrackDebugData = 65536,
}
// Generated from `System.Reflection.PortableExecutable.CorHeader` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -3604,14 +3604,14 @@ namespace System
}
// Generated from `System.Reflection.PortableExecutable.DebugDirectoryEntryType` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum DebugDirectoryEntryType
+ public enum DebugDirectoryEntryType : int
{
- CodeView,
- Coff,
- EmbeddedPortablePdb,
- PdbChecksum,
- Reproducible,
- Unknown,
+ CodeView = 2,
+ Coff = 1,
+ EmbeddedPortablePdb = 17,
+ PdbChecksum = 19,
+ Reproducible = 16,
+ Unknown = 0,
}
// Generated from `System.Reflection.PortableExecutable.DirectoryEntry` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -3625,51 +3625,51 @@ namespace System
// Generated from `System.Reflection.PortableExecutable.DllCharacteristics` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum DllCharacteristics
+ public enum DllCharacteristics : ushort
{
- AppContainer,
- DynamicBase,
- HighEntropyVirtualAddressSpace,
- NoBind,
- NoIsolation,
- NoSeh,
- NxCompatible,
- ProcessInit,
- ProcessTerm,
- TerminalServerAware,
- ThreadInit,
- ThreadTerm,
- WdmDriver,
+ AppContainer = 4096,
+ DynamicBase = 64,
+ HighEntropyVirtualAddressSpace = 32,
+ NoBind = 2048,
+ NoIsolation = 512,
+ NoSeh = 1024,
+ NxCompatible = 256,
+ ProcessInit = 1,
+ ProcessTerm = 2,
+ TerminalServerAware = 32768,
+ ThreadInit = 4,
+ ThreadTerm = 8,
+ WdmDriver = 8192,
}
// Generated from `System.Reflection.PortableExecutable.Machine` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum Machine
+ public enum Machine : ushort
{
- AM33,
- Alpha,
- Alpha64,
- Amd64,
- Arm,
- Arm64,
- ArmThumb2,
- Ebc,
- I386,
- IA64,
- M32R,
- MIPS16,
- MipsFpu,
- MipsFpu16,
- PowerPC,
- PowerPCFP,
- SH3,
- SH3Dsp,
- SH3E,
- SH4,
- SH5,
- Thumb,
- Tricore,
- Unknown,
- WceMipsV2,
+ AM33 = 467,
+ Alpha = 388,
+ Alpha64 = 644,
+ Amd64 = 34404,
+ Arm = 448,
+ Arm64 = 43620,
+ ArmThumb2 = 452,
+ Ebc = 3772,
+ I386 = 332,
+ IA64 = 512,
+ M32R = 36929,
+ MIPS16 = 614,
+ MipsFpu = 870,
+ MipsFpu16 = 1126,
+ PowerPC = 496,
+ PowerPCFP = 497,
+ SH3 = 418,
+ SH3Dsp = 419,
+ SH3E = 420,
+ SH4 = 422,
+ SH5 = 424,
+ Thumb = 450,
+ Tricore = 1312,
+ Unknown = 0,
+ WceMipsV2 = 361,
}
// Generated from `System.Reflection.PortableExecutable.ManagedPEBuilder` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -3828,10 +3828,10 @@ namespace System
}
// Generated from `System.Reflection.PortableExecutable.PEMagic` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum PEMagic
+ public enum PEMagic : ushort
{
- PE32,
- PE32Plus,
+ PE32 = 267,
+ PE32Plus = 523,
}
// Generated from `System.Reflection.PortableExecutable.PEMemoryBlock` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -3873,13 +3873,13 @@ namespace System
// Generated from `System.Reflection.PortableExecutable.PEStreamOptions` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum PEStreamOptions
+ public enum PEStreamOptions : int
{
- Default,
- IsLoadedImage,
- LeaveOpen,
- PrefetchEntireImage,
- PrefetchMetadata,
+ Default = 0,
+ IsLoadedImage = 8,
+ LeaveOpen = 1,
+ PrefetchEntireImage = 4,
+ PrefetchMetadata = 2,
}
// Generated from `System.Reflection.PortableExecutable.PdbChecksumDebugDirectoryData` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -3899,54 +3899,54 @@ namespace System
// Generated from `System.Reflection.PortableExecutable.SectionCharacteristics` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum SectionCharacteristics
+ public enum SectionCharacteristics : uint
{
- Align1024Bytes,
- Align128Bytes,
- Align16Bytes,
- Align1Bytes,
- Align2048Bytes,
- Align256Bytes,
- Align2Bytes,
- Align32Bytes,
- Align4096Bytes,
- Align4Bytes,
- Align512Bytes,
- Align64Bytes,
- Align8192Bytes,
- Align8Bytes,
- AlignMask,
- ContainsCode,
- ContainsInitializedData,
- ContainsUninitializedData,
- GPRel,
- LinkerComdat,
- LinkerInfo,
- LinkerNRelocOvfl,
- LinkerOther,
- LinkerRemove,
- Mem16Bit,
- MemDiscardable,
- MemExecute,
- MemFardata,
- MemLocked,
- MemNotCached,
- MemNotPaged,
- MemPreload,
- MemProtected,
- MemPurgeable,
- MemRead,
- MemShared,
- MemSysheap,
- MemWrite,
- NoDeferSpecExc,
- TypeCopy,
- TypeDSect,
- TypeGroup,
- TypeNoLoad,
- TypeNoPad,
- TypeOver,
- TypeReg,
+ Align1024Bytes = 11534336,
+ Align128Bytes = 8388608,
+ Align16Bytes = 5242880,
+ Align1Bytes = 1048576,
+ Align2048Bytes = 12582912,
+ Align256Bytes = 9437184,
+ Align2Bytes = 2097152,
+ Align32Bytes = 6291456,
+ Align4096Bytes = 13631488,
+ Align4Bytes = 3145728,
+ Align512Bytes = 10485760,
+ Align64Bytes = 7340032,
+ Align8192Bytes = 14680064,
+ Align8Bytes = 4194304,
+ AlignMask = 15728640,
+ ContainsCode = 32,
+ ContainsInitializedData = 64,
+ ContainsUninitializedData = 128,
+ GPRel = 32768,
+ LinkerComdat = 4096,
+ LinkerInfo = 512,
+ LinkerNRelocOvfl = 16777216,
+ LinkerOther = 256,
+ LinkerRemove = 2048,
+ Mem16Bit = 131072,
+ MemDiscardable = 33554432,
+ MemExecute = 536870912,
+ MemFardata = 32768,
+ MemLocked = 262144,
+ MemNotCached = 67108864,
+ MemNotPaged = 134217728,
+ MemPreload = 524288,
+ MemProtected = 16384,
+ MemPurgeable = 131072,
+ MemRead = 1073741824,
+ MemShared = 268435456,
+ MemSysheap = 65536,
+ MemWrite = 2147483648,
+ NoDeferSpecExc = 16384,
+ TypeCopy = 16,
+ TypeDSect = 1,
+ TypeGroup = 4,
+ TypeNoLoad = 2,
+ TypeNoPad = 8,
+ TypeOver = 1024,
+ TypeReg = 0,
}
// Generated from `System.Reflection.PortableExecutable.SectionHeader` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -3975,22 +3975,22 @@ namespace System
}
// Generated from `System.Reflection.PortableExecutable.Subsystem` in `System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum Subsystem
+ public enum Subsystem : ushort
{
- EfiApplication,
- EfiBootServiceDriver,
- EfiRom,
- EfiRuntimeDriver,
- Native,
- NativeWindows,
- OS2Cui,
- PosixCui,
- Unknown,
- WindowsBootApplication,
- WindowsCEGui,
- WindowsCui,
- WindowsGui,
- Xbox,
+ EfiApplication = 10,
+ EfiBootServiceDriver = 11,
+ EfiRom = 13,
+ EfiRuntimeDriver = 12,
+ Native = 1,
+ NativeWindows = 8,
+ OS2Cui = 5,
+ PosixCui = 7,
+ Unknown = 0,
+ WindowsBootApplication = 16,
+ WindowsCEGui = 9,
+ WindowsCui = 3,
+ WindowsGui = 2,
+ Xbox = 14,
}
}
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Reflection.Primitives.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Reflection.Primitives.cs
index b8e8273e15d..b2015a66eb6 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Reflection.Primitives.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Reflection.Primitives.cs
@@ -7,17 +7,17 @@ namespace System
namespace Emit
{
// Generated from `System.Reflection.Emit.FlowControl` in `System.Reflection.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum FlowControl
+ public enum FlowControl : int
{
- Branch,
- Break,
- Call,
- Cond_Branch,
- Meta,
- Next,
- Phi,
- Return,
- Throw,
+ Branch = 0,
+ Break = 1,
+ Call = 2,
+ Cond_Branch = 3,
+ Meta = 4,
+ Next = 5,
+ Phi = 6,
+ Return = 7,
+ Throw = 8,
}
// Generated from `System.Reflection.Emit.OpCode` in `System.Reflection.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -41,14 +41,14 @@ namespace System
}
// Generated from `System.Reflection.Emit.OpCodeType` in `System.Reflection.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum OpCodeType
+ public enum OpCodeType : int
{
- Annotation,
- Macro,
- Nternal,
- Objmodel,
- Prefix,
- Primitive,
+ Annotation = 0,
+ Macro = 1,
+ Nternal = 2,
+ Objmodel = 3,
+ Prefix = 4,
+ Primitive = 5,
}
// Generated from `System.Reflection.Emit.OpCodes` in `System.Reflection.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -284,74 +284,74 @@ namespace System
}
// Generated from `System.Reflection.Emit.OperandType` in `System.Reflection.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum OperandType
+ public enum OperandType : int
{
- InlineBrTarget,
- InlineField,
- InlineI,
- InlineI8,
- InlineMethod,
- InlineNone,
- InlinePhi,
- InlineR,
- InlineSig,
- InlineString,
- InlineSwitch,
- InlineTok,
- InlineType,
- InlineVar,
- ShortInlineBrTarget,
- ShortInlineI,
- ShortInlineR,
- ShortInlineVar,
+ InlineBrTarget = 0,
+ InlineField = 1,
+ InlineI = 2,
+ InlineI8 = 3,
+ InlineMethod = 4,
+ InlineNone = 5,
+ InlinePhi = 6,
+ InlineR = 7,
+ InlineSig = 9,
+ InlineString = 10,
+ InlineSwitch = 11,
+ InlineTok = 12,
+ InlineType = 13,
+ InlineVar = 14,
+ ShortInlineBrTarget = 15,
+ ShortInlineI = 16,
+ ShortInlineR = 17,
+ ShortInlineVar = 18,
}
// Generated from `System.Reflection.Emit.PackingSize` in `System.Reflection.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum PackingSize
+ public enum PackingSize : int
{
- Size1,
- Size128,
- Size16,
- Size2,
- Size32,
- Size4,
- Size64,
- Size8,
- Unspecified,
+ Size1 = 1,
+ Size128 = 128,
+ Size16 = 16,
+ Size2 = 2,
+ Size32 = 32,
+ Size4 = 4,
+ Size64 = 64,
+ Size8 = 8,
+ Unspecified = 0,
}
// Generated from `System.Reflection.Emit.StackBehaviour` in `System.Reflection.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum StackBehaviour
+ public enum StackBehaviour : int
{
- Pop0,
- Pop1,
- Pop1_pop1,
- Popi,
- Popi_pop1,
- Popi_popi,
- Popi_popi8,
- Popi_popi_popi,
- Popi_popr4,
- Popi_popr8,
- Popref,
- Popref_pop1,
- Popref_popi,
- Popref_popi_pop1,
- Popref_popi_popi,
- Popref_popi_popi8,
- Popref_popi_popr4,
- Popref_popi_popr8,
- Popref_popi_popref,
- Push0,
- Push1,
- Push1_push1,
- Pushi,
- Pushi8,
- Pushr4,
- Pushr8,
- Pushref,
- Varpop,
- Varpush,
+ Pop0 = 0,
+ Pop1 = 1,
+ Pop1_pop1 = 2,
+ Popi = 3,
+ Popi_pop1 = 4,
+ Popi_popi = 5,
+ Popi_popi8 = 6,
+ Popi_popi_popi = 7,
+ Popi_popr4 = 8,
+ Popi_popr8 = 9,
+ Popref = 10,
+ Popref_pop1 = 11,
+ Popref_popi = 12,
+ Popref_popi_pop1 = 28,
+ Popref_popi_popi = 13,
+ Popref_popi_popi8 = 14,
+ Popref_popi_popr4 = 15,
+ Popref_popi_popr8 = 16,
+ Popref_popi_popref = 17,
+ Push0 = 18,
+ Push1 = 19,
+ Push1_push1 = 20,
+ Pushi = 21,
+ Pushi8 = 22,
+ Pushr4 = 23,
+ Pushr8 = 24,
+ Pushref = 25,
+ Varpop = 26,
+ Varpush = 27,
}
}
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Runtime.InteropServices.RuntimeInformation.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Runtime.InteropServices.RuntimeInformation.cs
index 7556c31c638..1e3c126f61b 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Runtime.InteropServices.RuntimeInformation.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Runtime.InteropServices.RuntimeInformation.cs
@@ -7,14 +7,14 @@ namespace System
namespace InteropServices
{
// Generated from `System.Runtime.InteropServices.Architecture` in `System.Runtime.InteropServices.RuntimeInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum Architecture
+ public enum Architecture : int
{
- Arm,
- Arm64,
- S390x,
- Wasm,
- X64,
- X86,
+ Arm = 2,
+ Arm64 = 3,
+ S390x = 5,
+ Wasm = 4,
+ X64 = 1,
+ X86 = 0,
}
// Generated from `System.Runtime.InteropServices.OSPlatform` in `System.Runtime.InteropServices.RuntimeInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
diff --git a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Runtime.InteropServices.cs b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Runtime.InteropServices.cs
index d3c42596b58..e1057584a53 100644
--- a/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Runtime.InteropServices.cs
+++ b/csharp/ql/test/resources/stubs/_frameworks/Microsoft.NETCore.App/System.Runtime.InteropServices.cs
@@ -169,13 +169,13 @@ namespace System
}
// Generated from `System.Runtime.InteropServices.CallingConvention` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum CallingConvention
+ public enum CallingConvention : int
{
- Cdecl,
- FastCall,
- StdCall,
- ThisCall,
- Winapi,
+ Cdecl = 2,
+ FastCall = 5,
+ StdCall = 3,
+ ThisCall = 4,
+ Winapi = 1,
}
// Generated from `System.Runtime.InteropServices.ClassInterfaceAttribute` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -187,11 +187,11 @@ namespace System
}
// Generated from `System.Runtime.InteropServices.ClassInterfaceType` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ClassInterfaceType
+ public enum ClassInterfaceType : int
{
- AutoDispatch,
- AutoDual,
- None,
+ AutoDispatch = 1,
+ AutoDual = 2,
+ None = 0,
}
// Generated from `System.Runtime.InteropServices.CoClassAttribute` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -283,20 +283,20 @@ namespace System
}
// Generated from `System.Runtime.InteropServices.ComInterfaceType` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ComInterfaceType
+ public enum ComInterfaceType : int
{
- InterfaceIsDual,
- InterfaceIsIDispatch,
- InterfaceIsIInspectable,
- InterfaceIsIUnknown,
+ InterfaceIsDual = 0,
+ InterfaceIsIDispatch = 2,
+ InterfaceIsIInspectable = 3,
+ InterfaceIsIUnknown = 1,
}
// Generated from `System.Runtime.InteropServices.ComMemberType` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum ComMemberType
+ public enum ComMemberType : int
{
- Method,
- PropGet,
- PropSet,
+ Method = 0,
+ PropGet = 1,
+ PropSet = 2,
}
// Generated from `System.Runtime.InteropServices.ComRegisterFunctionAttribute` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -358,22 +358,22 @@ namespace System
// Generated from `System.Runtime.InteropServices.CreateComInterfaceFlags` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum CreateComInterfaceFlags
+ public enum CreateComInterfaceFlags : int
{
- CallerDefinedIUnknown,
- None,
- TrackerSupport,
+ CallerDefinedIUnknown = 1,
+ None = 0,
+ TrackerSupport = 2,
}
// Generated from `System.Runtime.InteropServices.CreateObjectFlags` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum CreateObjectFlags
+ public enum CreateObjectFlags : int
{
- Aggregation,
- None,
- TrackerObject,
- UniqueInstance,
- Unwrap,
+ Aggregation = 4,
+ None = 0,
+ TrackerObject = 1,
+ UniqueInstance = 2,
+ Unwrap = 8,
}
// Generated from `System.Runtime.InteropServices.CurrencyWrapper` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -385,18 +385,18 @@ namespace System
}
// Generated from `System.Runtime.InteropServices.CustomQueryInterfaceMode` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum CustomQueryInterfaceMode
+ public enum CustomQueryInterfaceMode : int
{
- Allow,
- Ignore,
+ Allow = 1,
+ Ignore = 0,
}
// Generated from `System.Runtime.InteropServices.CustomQueryInterfaceResult` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum CustomQueryInterfaceResult
+ public enum CustomQueryInterfaceResult : int
{
- Failed,
- Handled,
- NotHandled,
+ Failed = 2,
+ Handled = 0,
+ NotHandled = 1,
}
// Generated from `System.Runtime.InteropServices.DefaultCharSetAttribute` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -454,15 +454,15 @@ namespace System
// Generated from `System.Runtime.InteropServices.DllImportSearchPath` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum DllImportSearchPath
+ public enum DllImportSearchPath : int
{
- ApplicationDirectory,
- AssemblyDirectory,
- LegacyBehavior,
- SafeDirectories,
- System32,
- UseDllDirectoryForDependencies,
- UserDirectories,
+ ApplicationDirectory = 512,
+ AssemblyDirectory = 2,
+ LegacyBehavior = 0,
+ SafeDirectories = 4096,
+ System32 = 2048,
+ UseDllDirectoryForDependencies = 256,
+ UserDirectories = 1024,
}
// Generated from `System.Runtime.InteropServices.DynamicInterfaceCastableImplementationAttribute` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -833,18 +833,18 @@ namespace System
}
// Generated from `System.Runtime.InteropServices.PosixSignal` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum PosixSignal
+ public enum PosixSignal : int
{
- SIGCHLD,
- SIGCONT,
- SIGHUP,
- SIGINT,
- SIGQUIT,
- SIGTERM,
- SIGTSTP,
- SIGTTIN,
- SIGTTOU,
- SIGWINCH,
+ SIGCHLD = -5,
+ SIGCONT = -6,
+ SIGHUP = -1,
+ SIGINT = -2,
+ SIGQUIT = -3,
+ SIGTERM = -4,
+ SIGTSTP = -10,
+ SIGTTIN = -8,
+ SIGTTOU = -9,
+ SIGWINCH = -7,
}
// Generated from `System.Runtime.InteropServices.PosixSignalContext` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -948,21 +948,21 @@ namespace System
// Generated from `System.Runtime.InteropServices.TypeLibFuncFlags` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum TypeLibFuncFlags
+ public enum TypeLibFuncFlags : int
{
- FBindable,
- FDefaultBind,
- FDefaultCollelem,
- FDisplayBind,
- FHidden,
- FImmediateBind,
- FNonBrowsable,
- FReplaceable,
- FRequestEdit,
- FRestricted,
- FSource,
- FUiDefault,
- FUsesGetLastError,
+ FBindable = 4,
+ FDefaultBind = 32,
+ FDefaultCollelem = 256,
+ FDisplayBind = 16,
+ FHidden = 64,
+ FImmediateBind = 4096,
+ FNonBrowsable = 1024,
+ FReplaceable = 2048,
+ FRequestEdit = 8,
+ FRestricted = 1,
+ FSource = 2,
+ FUiDefault = 512,
+ FUsesGetLastError = 128,
}
// Generated from `System.Runtime.InteropServices.TypeLibImportClassAttribute` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -982,22 +982,22 @@ namespace System
// Generated from `System.Runtime.InteropServices.TypeLibTypeFlags` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum TypeLibTypeFlags
+ public enum TypeLibTypeFlags : int
{
- FAggregatable,
- FAppObject,
- FCanCreate,
- FControl,
- FDispatchable,
- FDual,
- FHidden,
- FLicensed,
- FNonExtensible,
- FOleAutomation,
- FPreDeclId,
- FReplaceable,
- FRestricted,
- FReverseBind,
+ FAggregatable = 1024,
+ FAppObject = 1,
+ FCanCreate = 2,
+ FControl = 32,
+ FDispatchable = 4096,
+ FDual = 64,
+ FHidden = 16,
+ FLicensed = 4,
+ FNonExtensible = 128,
+ FOleAutomation = 256,
+ FPreDeclId = 8,
+ FReplaceable = 2048,
+ FRestricted = 512,
+ FReverseBind = 8192,
}
// Generated from `System.Runtime.InteropServices.TypeLibVarAttribute` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1010,21 +1010,21 @@ namespace System
// Generated from `System.Runtime.InteropServices.TypeLibVarFlags` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum TypeLibVarFlags
+ public enum TypeLibVarFlags : int
{
- FBindable,
- FDefaultBind,
- FDefaultCollelem,
- FDisplayBind,
- FHidden,
- FImmediateBind,
- FNonBrowsable,
- FReadOnly,
- FReplaceable,
- FRequestEdit,
- FRestricted,
- FSource,
- FUiDefault,
+ FBindable = 4,
+ FDefaultBind = 32,
+ FDefaultCollelem = 256,
+ FDisplayBind = 16,
+ FHidden = 64,
+ FImmediateBind = 4096,
+ FNonBrowsable = 1024,
+ FReadOnly = 1,
+ FReplaceable = 2048,
+ FRequestEdit = 8,
+ FRestricted = 128,
+ FSource = 2,
+ FUiDefault = 512,
}
// Generated from `System.Runtime.InteropServices.TypeLibVersionAttribute` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1069,95 +1069,95 @@ namespace System
}
// Generated from `System.Runtime.InteropServices.UnmanagedType` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum UnmanagedType
+ public enum UnmanagedType : int
{
- AnsiBStr,
- AsAny,
- BStr,
- Bool,
- ByValArray,
- ByValTStr,
- Currency,
- CustomMarshaler,
- Error,
- FunctionPtr,
- HString,
- I1,
- I2,
- I4,
- I8,
- IDispatch,
- IInspectable,
- IUnknown,
- Interface,
- LPArray,
- LPStr,
- LPStruct,
- LPTStr,
- LPUTF8Str,
- LPWStr,
- R4,
- R8,
- SafeArray,
- Struct,
- SysInt,
- SysUInt,
- TBStr,
- U1,
- U2,
- U4,
- U8,
- VBByRefStr,
- VariantBool,
+ AnsiBStr = 35,
+ AsAny = 40,
+ BStr = 19,
+ Bool = 2,
+ ByValArray = 30,
+ ByValTStr = 23,
+ Currency = 15,
+ CustomMarshaler = 44,
+ Error = 45,
+ FunctionPtr = 38,
+ HString = 47,
+ I1 = 3,
+ I2 = 5,
+ I4 = 7,
+ I8 = 9,
+ IDispatch = 26,
+ IInspectable = 46,
+ IUnknown = 25,
+ Interface = 28,
+ LPArray = 42,
+ LPStr = 20,
+ LPStruct = 43,
+ LPTStr = 22,
+ LPUTF8Str = 48,
+ LPWStr = 21,
+ R4 = 11,
+ R8 = 12,
+ SafeArray = 29,
+ Struct = 27,
+ SysInt = 31,
+ SysUInt = 32,
+ TBStr = 36,
+ U1 = 4,
+ U2 = 6,
+ U4 = 8,
+ U8 = 10,
+ VBByRefStr = 34,
+ VariantBool = 37,
}
// Generated from `System.Runtime.InteropServices.VarEnum` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum VarEnum
+ public enum VarEnum : int
{
- VT_ARRAY,
- VT_BLOB,
- VT_BLOB_OBJECT,
- VT_BOOL,
- VT_BSTR,
- VT_BYREF,
- VT_CARRAY,
- VT_CF,
- VT_CLSID,
- VT_CY,
- VT_DATE,
- VT_DECIMAL,
- VT_DISPATCH,
- VT_EMPTY,
- VT_ERROR,
- VT_FILETIME,
- VT_HRESULT,
- VT_I1,
- VT_I2,
- VT_I4,
- VT_I8,
- VT_INT,
- VT_LPSTR,
- VT_LPWSTR,
- VT_NULL,
- VT_PTR,
- VT_R4,
- VT_R8,
- VT_RECORD,
- VT_SAFEARRAY,
- VT_STORAGE,
- VT_STORED_OBJECT,
- VT_STREAM,
- VT_STREAMED_OBJECT,
- VT_UI1,
- VT_UI2,
- VT_UI4,
- VT_UI8,
- VT_UINT,
- VT_UNKNOWN,
- VT_USERDEFINED,
- VT_VARIANT,
- VT_VECTOR,
- VT_VOID,
+ VT_ARRAY = 8192,
+ VT_BLOB = 65,
+ VT_BLOB_OBJECT = 70,
+ VT_BOOL = 11,
+ VT_BSTR = 8,
+ VT_BYREF = 16384,
+ VT_CARRAY = 28,
+ VT_CF = 71,
+ VT_CLSID = 72,
+ VT_CY = 6,
+ VT_DATE = 7,
+ VT_DECIMAL = 14,
+ VT_DISPATCH = 9,
+ VT_EMPTY = 0,
+ VT_ERROR = 10,
+ VT_FILETIME = 64,
+ VT_HRESULT = 25,
+ VT_I1 = 16,
+ VT_I2 = 2,
+ VT_I4 = 3,
+ VT_I8 = 20,
+ VT_INT = 22,
+ VT_LPSTR = 30,
+ VT_LPWSTR = 31,
+ VT_NULL = 1,
+ VT_PTR = 26,
+ VT_R4 = 4,
+ VT_R8 = 5,
+ VT_RECORD = 36,
+ VT_SAFEARRAY = 27,
+ VT_STORAGE = 67,
+ VT_STORED_OBJECT = 69,
+ VT_STREAM = 66,
+ VT_STREAMED_OBJECT = 68,
+ VT_UI1 = 17,
+ VT_UI2 = 18,
+ VT_UI4 = 19,
+ VT_UI8 = 21,
+ VT_UINT = 23,
+ VT_UNKNOWN = 13,
+ VT_USERDEFINED = 29,
+ VT_VARIANT = 12,
+ VT_VECTOR = 4096,
+ VT_VOID = 24,
}
// Generated from `System.Runtime.InteropServices.VariantWrapper` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1171,15 +1171,15 @@ namespace System
{
// Generated from `System.Runtime.InteropServices.ComTypes.ADVF` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum ADVF
+ public enum ADVF : int
{
- ADVFCACHE_FORCEBUILTIN,
- ADVFCACHE_NOHANDLER,
- ADVFCACHE_ONSAVE,
- ADVF_DATAONSTOP,
- ADVF_NODATA,
- ADVF_ONLYONCE,
- ADVF_PRIMEFIRST,
+ ADVFCACHE_FORCEBUILTIN = 16,
+ ADVFCACHE_NOHANDLER = 8,
+ ADVFCACHE_ONSAVE = 32,
+ ADVF_DATAONSTOP = 64,
+ ADVF_NODATA = 1,
+ ADVF_ONLYONCE = 4,
+ ADVF_PRIMEFIRST = 2,
}
// Generated from `System.Runtime.InteropServices.ComTypes.BINDPTR` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1202,18 +1202,18 @@ namespace System
}
// Generated from `System.Runtime.InteropServices.ComTypes.CALLCONV` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum CALLCONV
+ public enum CALLCONV : int
{
- CC_CDECL,
- CC_MACPASCAL,
- CC_MAX,
- CC_MPWCDECL,
- CC_MPWPASCAL,
- CC_MSCPASCAL,
- CC_PASCAL,
- CC_RESERVED,
- CC_STDCALL,
- CC_SYSCALL,
+ CC_CDECL = 1,
+ CC_MACPASCAL = 3,
+ CC_MAX = 9,
+ CC_MPWCDECL = 7,
+ CC_MPWPASCAL = 8,
+ CC_MSCPASCAL = 2,
+ CC_PASCAL = 2,
+ CC_RESERVED = 5,
+ CC_STDCALL = 4,
+ CC_SYSCALL = 6,
}
// Generated from `System.Runtime.InteropServices.ComTypes.CONNECTDATA` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1225,21 +1225,21 @@ namespace System
}
// Generated from `System.Runtime.InteropServices.ComTypes.DATADIR` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum DATADIR
+ public enum DATADIR : int
{
- DATADIR_GET,
- DATADIR_SET,
+ DATADIR_GET = 1,
+ DATADIR_SET = 2,
}
// Generated from `System.Runtime.InteropServices.ComTypes.DESCKIND` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum DESCKIND
+ public enum DESCKIND : int
{
- DESCKIND_FUNCDESC,
- DESCKIND_IMPLICITAPPOBJ,
- DESCKIND_MAX,
- DESCKIND_NONE,
- DESCKIND_TYPECOMP,
- DESCKIND_VARDESC,
+ DESCKIND_FUNCDESC = 1,
+ DESCKIND_IMPLICITAPPOBJ = 4,
+ DESCKIND_MAX = 5,
+ DESCKIND_NONE = 0,
+ DESCKIND_TYPECOMP = 3,
+ DESCKIND_VARDESC = 2,
}
// Generated from `System.Runtime.InteropServices.ComTypes.DISPPARAMS` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1254,12 +1254,12 @@ namespace System
// Generated from `System.Runtime.InteropServices.ComTypes.DVASPECT` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum DVASPECT
+ public enum DVASPECT : int
{
- DVASPECT_CONTENT,
- DVASPECT_DOCPRINT,
- DVASPECT_ICON,
- DVASPECT_THUMBNAIL,
+ DVASPECT_CONTENT = 1,
+ DVASPECT_DOCPRINT = 8,
+ DVASPECT_ICON = 4,
+ DVASPECT_THUMBNAIL = 2,
}
// Generated from `System.Runtime.InteropServices.ComTypes.ELEMDESC` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1333,31 +1333,31 @@ namespace System
// Generated from `System.Runtime.InteropServices.ComTypes.FUNCFLAGS` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum FUNCFLAGS
+ public enum FUNCFLAGS : short
{
- FUNCFLAG_FBINDABLE,
- FUNCFLAG_FDEFAULTBIND,
- FUNCFLAG_FDEFAULTCOLLELEM,
- FUNCFLAG_FDISPLAYBIND,
- FUNCFLAG_FHIDDEN,
- FUNCFLAG_FIMMEDIATEBIND,
- FUNCFLAG_FNONBROWSABLE,
- FUNCFLAG_FREPLACEABLE,
- FUNCFLAG_FREQUESTEDIT,
- FUNCFLAG_FRESTRICTED,
- FUNCFLAG_FSOURCE,
- FUNCFLAG_FUIDEFAULT,
- FUNCFLAG_FUSESGETLASTERROR,
+ FUNCFLAG_FBINDABLE = 4,
+ FUNCFLAG_FDEFAULTBIND = 32,
+ FUNCFLAG_FDEFAULTCOLLELEM = 256,
+ FUNCFLAG_FDISPLAYBIND = 16,
+ FUNCFLAG_FHIDDEN = 64,
+ FUNCFLAG_FIMMEDIATEBIND = 4096,
+ FUNCFLAG_FNONBROWSABLE = 1024,
+ FUNCFLAG_FREPLACEABLE = 2048,
+ FUNCFLAG_FREQUESTEDIT = 8,
+ FUNCFLAG_FRESTRICTED = 1,
+ FUNCFLAG_FSOURCE = 2,
+ FUNCFLAG_FUIDEFAULT = 512,
+ FUNCFLAG_FUSESGETLASTERROR = 128,
}
// Generated from `System.Runtime.InteropServices.ComTypes.FUNCKIND` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum FUNCKIND
+ public enum FUNCKIND : int
{
- FUNC_DISPATCH,
- FUNC_NONVIRTUAL,
- FUNC_PUREVIRTUAL,
- FUNC_STATIC,
- FUNC_VIRTUAL,
+ FUNC_DISPATCH = 4,
+ FUNC_NONVIRTUAL = 2,
+ FUNC_PUREVIRTUAL = 1,
+ FUNC_STATIC = 3,
+ FUNC_VIRTUAL = 0,
}
// Generated from `System.Runtime.InteropServices.ComTypes.IAdviseSink` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1412,13 +1412,13 @@ namespace System
// Generated from `System.Runtime.InteropServices.ComTypes.IDLFLAG` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum IDLFLAG
+ public enum IDLFLAG : short
{
- IDLFLAG_FIN,
- IDLFLAG_FLCID,
- IDLFLAG_FOUT,
- IDLFLAG_FRETVAL,
- IDLFLAG_NONE,
+ IDLFLAG_FIN = 1,
+ IDLFLAG_FLCID = 4,
+ IDLFLAG_FOUT = 2,
+ IDLFLAG_FRETVAL = 8,
+ IDLFLAG_NONE = 0,
}
// Generated from `System.Runtime.InteropServices.ComTypes.IDataObject` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1500,12 +1500,12 @@ namespace System
// Generated from `System.Runtime.InteropServices.ComTypes.IMPLTYPEFLAGS` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum IMPLTYPEFLAGS
+ public enum IMPLTYPEFLAGS : int
{
- IMPLTYPEFLAG_FDEFAULT,
- IMPLTYPEFLAG_FDEFAULTVTABLE,
- IMPLTYPEFLAG_FRESTRICTED,
- IMPLTYPEFLAG_FSOURCE,
+ IMPLTYPEFLAG_FDEFAULT = 1,
+ IMPLTYPEFLAG_FDEFAULTVTABLE = 8,
+ IMPLTYPEFLAG_FRESTRICTED = 4,
+ IMPLTYPEFLAG_FSOURCE = 2,
}
// Generated from `System.Runtime.InteropServices.ComTypes.IMoniker` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1535,12 +1535,12 @@ namespace System
// Generated from `System.Runtime.InteropServices.ComTypes.INVOKEKIND` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum INVOKEKIND
+ public enum INVOKEKIND : int
{
- INVOKE_FUNC,
- INVOKE_PROPERTYGET,
- INVOKE_PROPERTYPUT,
- INVOKE_PROPERTYPUTREF,
+ INVOKE_FUNC = 1,
+ INVOKE_PROPERTYGET = 2,
+ INVOKE_PROPERTYPUT = 4,
+ INVOKE_PROPERTYPUTREF = 8,
}
// Generated from `System.Runtime.InteropServices.ComTypes.IPersistFile` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1688,12 +1688,12 @@ namespace System
// Generated from `System.Runtime.InteropServices.ComTypes.LIBFLAGS` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum LIBFLAGS
+ public enum LIBFLAGS : short
{
- LIBFLAG_FCONTROL,
- LIBFLAG_FHASDISKIMAGE,
- LIBFLAG_FHIDDEN,
- LIBFLAG_FRESTRICTED,
+ LIBFLAG_FCONTROL = 2,
+ LIBFLAG_FHASDISKIMAGE = 8,
+ LIBFLAG_FHIDDEN = 4,
+ LIBFLAG_FRESTRICTED = 1,
}
// Generated from `System.Runtime.InteropServices.ComTypes.PARAMDESC` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1706,16 +1706,16 @@ namespace System
// Generated from `System.Runtime.InteropServices.ComTypes.PARAMFLAG` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum PARAMFLAG
+ public enum PARAMFLAG : short
{
- PARAMFLAG_FHASCUSTDATA,
- PARAMFLAG_FHASDEFAULT,
- PARAMFLAG_FIN,
- PARAMFLAG_FLCID,
- PARAMFLAG_FOPT,
- PARAMFLAG_FOUT,
- PARAMFLAG_FRETVAL,
- PARAMFLAG_NONE,
+ PARAMFLAG_FHASCUSTDATA = 64,
+ PARAMFLAG_FHASDEFAULT = 32,
+ PARAMFLAG_FIN = 1,
+ PARAMFLAG_FLCID = 4,
+ PARAMFLAG_FOPT = 16,
+ PARAMFLAG_FOUT = 2,
+ PARAMFLAG_FRETVAL = 8,
+ PARAMFLAG_NONE = 0,
}
// Generated from `System.Runtime.InteropServices.ComTypes.STATDATA` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1755,26 +1755,26 @@ namespace System
}
// Generated from `System.Runtime.InteropServices.ComTypes.SYSKIND` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum SYSKIND
+ public enum SYSKIND : int
{
- SYS_MAC,
- SYS_WIN16,
- SYS_WIN32,
- SYS_WIN64,
+ SYS_MAC = 2,
+ SYS_WIN16 = 0,
+ SYS_WIN32 = 1,
+ SYS_WIN64 = 3,
}
// Generated from `System.Runtime.InteropServices.ComTypes.TYMED` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum TYMED
+ public enum TYMED : int
{
- TYMED_ENHMF,
- TYMED_FILE,
- TYMED_GDI,
- TYMED_HGLOBAL,
- TYMED_ISTORAGE,
- TYMED_ISTREAM,
- TYMED_MFPICT,
- TYMED_NULL,
+ TYMED_ENHMF = 64,
+ TYMED_FILE = 2,
+ TYMED_GDI = 16,
+ TYMED_HGLOBAL = 1,
+ TYMED_ISTORAGE = 8,
+ TYMED_ISTREAM = 4,
+ TYMED_MFPICT = 32,
+ TYMED_NULL = 0,
}
// Generated from `System.Runtime.InteropServices.ComTypes.TYPEATTR` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1812,37 +1812,37 @@ namespace System
// Generated from `System.Runtime.InteropServices.ComTypes.TYPEFLAGS` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum TYPEFLAGS
+ public enum TYPEFLAGS : short
{
- TYPEFLAG_FAGGREGATABLE,
- TYPEFLAG_FAPPOBJECT,
- TYPEFLAG_FCANCREATE,
- TYPEFLAG_FCONTROL,
- TYPEFLAG_FDISPATCHABLE,
- TYPEFLAG_FDUAL,
- TYPEFLAG_FHIDDEN,
- TYPEFLAG_FLICENSED,
- TYPEFLAG_FNONEXTENSIBLE,
- TYPEFLAG_FOLEAUTOMATION,
- TYPEFLAG_FPREDECLID,
- TYPEFLAG_FPROXY,
- TYPEFLAG_FREPLACEABLE,
- TYPEFLAG_FRESTRICTED,
- TYPEFLAG_FREVERSEBIND,
+ TYPEFLAG_FAGGREGATABLE = 1024,
+ TYPEFLAG_FAPPOBJECT = 1,
+ TYPEFLAG_FCANCREATE = 2,
+ TYPEFLAG_FCONTROL = 32,
+ TYPEFLAG_FDISPATCHABLE = 4096,
+ TYPEFLAG_FDUAL = 64,
+ TYPEFLAG_FHIDDEN = 16,
+ TYPEFLAG_FLICENSED = 4,
+ TYPEFLAG_FNONEXTENSIBLE = 128,
+ TYPEFLAG_FOLEAUTOMATION = 256,
+ TYPEFLAG_FPREDECLID = 8,
+ TYPEFLAG_FPROXY = 16384,
+ TYPEFLAG_FREPLACEABLE = 2048,
+ TYPEFLAG_FRESTRICTED = 512,
+ TYPEFLAG_FREVERSEBIND = 8192,
}
// Generated from `System.Runtime.InteropServices.ComTypes.TYPEKIND` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum TYPEKIND
+ public enum TYPEKIND : int
{
- TKIND_ALIAS,
- TKIND_COCLASS,
- TKIND_DISPATCH,
- TKIND_ENUM,
- TKIND_INTERFACE,
- TKIND_MAX,
- TKIND_MODULE,
- TKIND_RECORD,
- TKIND_UNION,
+ TKIND_ALIAS = 6,
+ TKIND_COCLASS = 5,
+ TKIND_DISPATCH = 4,
+ TKIND_ENUM = 0,
+ TKIND_INTERFACE = 3,
+ TKIND_MAX = 8,
+ TKIND_MODULE = 2,
+ TKIND_RECORD = 1,
+ TKIND_UNION = 7,
}
// Generated from `System.Runtime.InteropServices.ComTypes.TYPELIBATTR` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
@@ -1880,30 +1880,30 @@ namespace System
// Generated from `System.Runtime.InteropServices.ComTypes.VARFLAGS` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
[System.Flags]
- public enum VARFLAGS
+ public enum VARFLAGS : short
{
- VARFLAG_FBINDABLE,
- VARFLAG_FDEFAULTBIND,
- VARFLAG_FDEFAULTCOLLELEM,
- VARFLAG_FDISPLAYBIND,
- VARFLAG_FHIDDEN,
- VARFLAG_FIMMEDIATEBIND,
- VARFLAG_FNONBROWSABLE,
- VARFLAG_FREADONLY,
- VARFLAG_FREPLACEABLE,
- VARFLAG_FREQUESTEDIT,
- VARFLAG_FRESTRICTED,
- VARFLAG_FSOURCE,
- VARFLAG_FUIDEFAULT,
+ VARFLAG_FBINDABLE = 4,
+ VARFLAG_FDEFAULTBIND = 32,
+ VARFLAG_FDEFAULTCOLLELEM = 256,
+ VARFLAG_FDISPLAYBIND = 16,
+ VARFLAG_FHIDDEN = 64,
+ VARFLAG_FIMMEDIATEBIND = 4096,
+ VARFLAG_FNONBROWSABLE = 1024,
+ VARFLAG_FREADONLY = 1,
+ VARFLAG_FREPLACEABLE = 2048,
+ VARFLAG_FREQUESTEDIT = 8,
+ VARFLAG_FRESTRICTED = 128,
+ VARFLAG_FSOURCE = 2,
+ VARFLAG_FUIDEFAULT = 512,
}
// Generated from `System.Runtime.InteropServices.ComTypes.VARKIND` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum VARKIND
+ public enum VARKIND : int
{
- VAR_CONST,
- VAR_DISPATCH,
- VAR_PERINSTANCE,
- VAR_STATIC,
+ VAR_CONST = 2,
+ VAR_DISPATCH = 3,
+ VAR_PERINSTANCE = 0,
+ VAR_STATIC = 1,
}
}
@@ -1913,19 +1913,22 @@ namespace System
public static class ObjectiveCMarshal
{
// Generated from `System.Runtime.InteropServices.ObjectiveC.ObjectiveCMarshal+MessageSendFunction` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
- public enum MessageSendFunction
+ public enum MessageSendFunction : int
{
- MsgSend,
- MsgSendFpret,
- MsgSendStret,
- MsgSendSuper,
- MsgSendSuperStret,
+ MsgSend = 0,
+ MsgSendFpret = 1,
+ MsgSendStret = 2,
+ MsgSendSuper = 3,
+ MsgSendSuperStret = 4,
}
+ // Generated from `System.Runtime.InteropServices.ObjectiveC.ObjectiveCMarshal+UnhandledExceptionPropagationHandler` in `System.Runtime.InteropServices, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a`
+ public delegate delegate* unmanaged UnhandledExceptionPropagationHandler(System.Exception exception, System.RuntimeMethodHandle lastMethod, out System.IntPtr context);
public static System.Runtime.InteropServices.GCHandle CreateReferenceTrackingHandle(object obj, out System.Span taggedMemory) => throw null;
+ public static void Initialize(delegate* unmanaged